# Tools

> Every tool the TasksMate MCP server offers — read-only or write, the scope it needs, and what to ask for.

**What this is:** the tools a client can call, and what each needs. **When you need it:** choosing the scopes to approve, or checking what an agent is able to do.

| Tool | Title | Kind | Scope | What it does |
| --- | --- | --- | --- | --- |
| [`search_tasks`](#search-tasks) | Search tasks | read-only | `tasks:read` | Find tasks by text across the organization. |
| [`get_task`](#get-task) | Get a task | read-only | `tasks:read` | One task by its id. |
| [`list_my_tasks`](#list-my-tasks) | List my tasks | read-only | `tasks:read` | The tasks assigned to you. |
| [`list_project_tasks`](#list-project-tasks) | List project tasks | read-only | `tasks:read` | The tasks in one project. |
| [`create_task`](#create-task) | Create a task | write | `tasks:write` | A new task; it lands for review (agent tasks). |
| [`update_task`](#update-task) | Update a task | write | `tasks:write` | Change a task’s fields — status, assignee, dates. |
| [`add_comment`](#add-comment) | Add a comment | write | `tasks:write` | Comment on a task. |
| [`add_to_project`](#add-to-project) | Add to a project | write | `tasks:write` | File a task under a project. |

finalised at 5.1: This table and the cards below are hand-written. 5.1 generates them from the tool definitions — titles, annotations and argument schemas — so they cannot drift from the server.

## Annotations

Every tool carries a `title` and a `readOnlyHint`; a write tool also says whether it is destructive (`destructiveHint`). Clients can use them to ask you before a change. A destructive tool also requires the `admin` scope.

## Scopes

A tool needs the scope of the [API operation](https://developers.tasksmate.indrasol.com/reference/) it calls, shown on each card. A connection without it cannot use the tool. See [scopes](https://developers.tasksmate.indrasol.com/guides/authentication/#scopes).

## Every write is marked

A tool that writes records that it came through MCP (`created_via`), so the task or change is traceable to it. A task an agent creates waits for a person to review it — see [security](https://developers.tasksmate.indrasol.com/mcp/security/#agent-tasks-are-reviewed).

## The tools

### `search_tasks`

Find tasks by text across the organization.

| Title | Annotations | Scope | Calls | Arguments |
| --- | --- | --- | --- | --- |
| Search tasks | `readOnlyHint: true` | `tasks:read` | [`tasks.list`](https://developers.tasksmate.indrasol.com/reference/operations/taskslist/) | finalised at 5.1 |

Try “Find the tasks that mention the billing migration.”

### `get_task`

One task by its id.

| Title | Annotations | Scope | Calls | Arguments |
| --- | --- | --- | --- | --- |
| Get a task | `readOnlyHint: true` | `tasks:read` | [`tasks.read`](https://developers.tasksmate.indrasol.com/reference/operations/tasksread/) | finalised at 5.1 |

Try “Show me T123456 and who it is assigned to.”

### `list_my_tasks`

The tasks assigned to you.

| Title | Annotations | Scope | Calls | Arguments |
| --- | --- | --- | --- | --- |
| List my tasks | `readOnlyHint: true` | `tasks:read` | [`tasks.list`](https://developers.tasksmate.indrasol.com/reference/operations/taskslist/) | finalised at 5.1 |

Try “What is on my plate this week?”

### `list_project_tasks`

The tasks in one project.

| Title | Annotations | Scope | Calls | Arguments |
| --- | --- | --- | --- | --- |
| List project tasks | `readOnlyHint: true` | `tasks:read` | [`tasks.list`](https://developers.tasksmate.indrasol.com/reference/operations/taskslist/) | finalised at 5.1 |

Try “List the open tasks in the Website project.”

### `create_task`

A new task; it lands for review (agent tasks).

| Title | Annotations | Scope | Calls | Arguments |
| --- | --- | --- | --- | --- |
| Create a task | `readOnlyHint: false` · `destructiveHint` finalised at 5.1 | `tasks:write` | [`tasks.create`](https://developers.tasksmate.indrasol.com/reference/operations/taskscreate/) | finalised at 5.1 |

Try “Create a task to renew the TLS certificate, due Friday.”

### `update_task`

Change a task’s fields — status, assignee, dates.

| Title | Annotations | Scope | Calls | Arguments |
| --- | --- | --- | --- | --- |
| Update a task | `readOnlyHint: false` · `destructiveHint` finalised at 5.1 | `tasks:write` | [`tasks.update`](https://developers.tasksmate.indrasol.com/reference/operations/tasksupdate/) | finalised at 5.1 |

Try “Mark T123456 as done.”

### `add_comment`

Comment on a task.

| Title | Annotations | Scope | Calls | Arguments |
| --- | --- | --- | --- | --- |
| Add a comment | `readOnlyHint: false` · `destructiveHint` finalised at 5.1 | `tasks:write` | [`task-comments.create`](https://developers.tasksmate.indrasol.com/reference/operations/task-commentscreate/) | finalised at 5.1 |

Try “Comment on T123456 that the fix is deployed.”

### `add_to_project`

File a task under a project.

| Title | Annotations | Scope | Calls | Arguments |
| --- | --- | --- | --- | --- |
| Add to a project | `readOnlyHint: false` · `destructiveHint` finalised at 5.1 | `tasks:write` | [`tasks.set_project`](https://developers.tasksmate.indrasol.com/reference/operations/tasksset_project/) | finalised at 5.1 |

Try “Move T123456 into the Website project.”

---
Source: https://developers.tasksmate.indrasol.com/mcp/tools/
