# MCP tools (/docs/reference/mcp-tools)



{/* Generated by apps/docs/scripts/generate-mcp-pages.mjs — do not edit by hand. */}

RyTask ships an MCP server with **100% workspace control**: every service capability has a tool, enforced by an automated parity gate in CI. There are currently **49 tools**. Each page below is generated from the same registry the server boots from, so the docs cannot drift from the code.

Tools marked ⚠ are destructive — they do something irreversible, and well-behaved agents should ask before calling them.

| Tool                                                   | Permission           | What it does                                                                                           |
| ------------------------------------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------ |
| [`list_projects`](./list_projects)                     | `work:read`          | List accessible projects in the workspace (keyset paginated).                                          |
| [`get_project`](./get_project)                         | `work:read`          | Get a single project (requires project:viewer).                                                        |
| [`create_project`](./create_project)                   | `work:write`         | Create a project (seeds default statuses + key counter + creator membership).                          |
| [`update_project`](./update_project)                   | `work:write`         | Update a project's name / description / icon / color / lead.                                           |
| [`archive_project`](./archive_project)                 | `work:write`         | Archive or restore a project (hidden from default lists but retained).                                 |
| [`delete_project`](./delete_project)                   | `work:write`         | Delete a project (cascade removes its items, statuses, members, counter).                              |
| [`add_project_member`](./add_project_member)           | `work:write`         | Add a member to a project at a role (ADMIN/MEMBER/VIEWER).                                             |
| [`create_issue`](./create_issue)                       | `work:write`         | Create a work item (title-only or structured fields).                                                  |
| [`quick_add_issue`](./quick_add_issue)                 | `work:write`         | Create a work item from a quick-add line (@assignee #label !priority ^date).                           |
| [`update_issue`](./update_issue)                       | `work:write`         | Update a work item's fields (optimistic version; logs activity per field).                             |
| [`delete_issue`](./delete_issue)                       | `work:write`         | Soft-delete (trash) a work item.                                                                       |
| [`restore_issue`](./restore_issue)                     | `work:write`         | Restore a work item from trash (comments + history intact).                                            |
| [`add_label_to_issue`](./add_label_to_issue)           | `work:write`         | Attach a label to a work item (by id or name; create-on-capture).                                      |
| [`remove_label_from_issue`](./remove_label_from_issue) | `work:write`         | Remove a label from a work item.                                                                       |
| [`list_issue_activity`](./list_issue_activity)         | `work:read`          | List a work item's activity / history feed.                                                            |
| [`list_labels`](./list_labels)                         | `work:read`          | List workspace labels.                                                                                 |
| [`create_label`](./create_label)                       | `work:write`         | Create a workspace label.                                                                              |
| [`list_issues`](./list_issues)                         | `work:read`          | List / filter work items (List, Board, smart views) with keyset pagination.                            |
| [`get_issue`](./get_issue)                             | `work:read`          | Get a single work item (full payload incl. labels).                                                    |
| [`move_issue`](./move_issue)                           | `work:write`         | Move a work item on the board (change status and/or fractional position).                              |
| [`add_subtask`](./add_subtask)                         | `work:write`         | Create a sub-task under a work item (inherits its project; cycle/depth checked).                       |
| [`list_statuses`](./list_statuses)                     | `work:read`          | List a project’s statuses (board columns, ordered).                                                    |
| [`create_status`](./create_status)                     | `work:write`         | Add a status to a project (mapped to a fixed category).                                                |
| [`update_status`](./update_status)                     | `work:write`         | Rename / recolor / recategorize a status.                                                              |
| [`reorder_statuses`](./reorder_statuses)               | `work:write`         | Reorder a project’s statuses (board column order).                                                     |
| [`delete_status`](./delete_status)                     | `work:write`         | Delete a status (requires reassignTo when it still has items).                                         |
| [`list_views`](./list_views)                           | `work:read`          | List saved views visible to the principal (own personal + shared in projects).                         |
| [`save_view`](./save_view)                             | `work:write`         | Save a view (filter AST + sort + grouping + layout; personal or shared).                               |
| [`update_view`](./update_view)                         | `work:write`         | Update a saved view (name / scope / filters / sort / grouping / layout).                               |
| [`delete_view`](./delete_view)                         | `work:write`         | Delete a saved view.                                                                                   |
| [`list_comments`](./list_comments)                     | `work:read`          | List threaded comments on a work item.                                                                 |
| [`add_comment`](./add_comment)                         | `work:write`         | Post a markdown comment (@mentions notify + grant context access).                                     |
| [`list_notifications`](./list_notifications)           | `work:read`          | List the inbox (unread / all / snoozed / archived), keyset paginated.                                  |
| [`update_notification`](./update_notification)         | `work:write`         | Mark a notification read/unread, snooze it, or archive it.                                             |
| [`search`](./search)                                   | `work:read`          | Full-text search across work items, comments, projects, labels, and users (ranked, permission-scoped). |
| [`whoami`](./whoami)                                   | `self`               | Resolve the current principal: user, org, role, scopes, accessible workspaces.                         |
| [`list_workspaces`](./list_workspaces)                 | `workspace:read`     | List workspaces in the current organization.                                                           |
| [`get_workspace`](./get_workspace)                     | `workspace:read`     | Get a single workspace by id.                                                                          |
| [`set_active_workspace`](./set_active_workspace)       | `workspace:read`     | Set the active workspace for the session/principal.                                                    |
| [`get_org_settings`](./get_org_settings)               | `org:read`           | Read the organization settings (timezone, locale, week start, working hours…).                         |
| [`update_org_settings`](./update_org_settings)         | `org:settings:write` | Update organization settings (Owner/Admin).                                                            |
| [`transfer_ownership`](./transfer_ownership)           | `org:transfer`       | Transfer organization ownership to another member (Owner only). ⚠                                      |
| [`list_members`](./list_members)                       | `members:read`       | List members of the organization and their roles.                                                      |
| [`invite_member`](./invite_member)                     | `members:invite`     | Invite a member by email or shareable link, with a pre-assigned role (Admin+).                         |
| [`set_member_role`](./set_member_role)                 | `members:write`      | Change a member's role (Admin+; last-owner protected).                                                 |
| [`remove_member`](./remove_member)                     | `members:write`      | Remove a member; revokes their sessions and tokens (Admin+; last-owner protected). ⚠                   |
| [`list_api_tokens`](./list_api_tokens)                 | `tokens:read`        | List the holder’s own personal access tokens (never the secret).                                       |
| [`create_api_token`](./create_api_token)               | `tokens:write`       | Mint a scoped personal access token (secret returned once).                                            |
| [`revoke_api_token`](./revoke_api_token)               | `tokens:write`       | Revoke one of the holder’s own personal access tokens. ⚠                                               |

To connect an agent, see [Connect an AI agent over MCP](/docs/guides/mcp/connect).
