Limits
What MCP cannot reach here, stated plainly.
There are five tools, and that is the whole MCP surface.
| Tool | Role needed |
|---|---|
list_tickets | viewer |
get_ticket | viewer |
create_ticket | editor |
reply_to_ticket | editor |
search_knowledge_base | viewer |
Source: services/runtime/src/runtime/mcp/tools.py:422-541.
The REST API is not available through MCP
This is the point most worth being clear about. The five tools above are not a window onto the REST API. They are five named operations, each with its own fixed input schema, and there is no tool that takes a path or a method and calls something else.
So none of the following can be done over MCP, regardless of your role:
- Managing members, roles or invitations.
- Minting or revoking API keys.
- Reading the audit log.
- Billing and budget settings.
- Channel, email or widget configuration.
- Workspace settings and provider keys.
- Creating, editing or publishing knowledge base articles.
search_knowledge_basereads, and only reads. - Merging, closing, reopening, assigning or otherwise changing a ticket's state
on its own.
reply_to_ticketcan move a ticket's status as part of posting a message, and that is the only state change available here. Source:services/runtime/src/runtime/mcp/tools.py:503-508.
Every one of those is an ordinary API operation. If you need one, use the API.
A name that misleads
Two API operations have mcp-access in their path, for revoking and restoring a
member's MCP access. They are ordinary API operations, not MCP tools, and they
are not callable over MCP. See Workspace access.
Other limits worth knowing
A tool call cannot exceed what you can do yourself. Each tool applies the
same role floor as the equivalent HTTP route, using the same guard, and the
database sees the same identity and workspace it would see for a request you
made in the product. A viewer driving create_ticket through a client is
refused exactly as a viewer would be.
Source: services/runtime/src/runtime/mcp/tools.py:1-10 and
services/runtime/src/runtime/api/authz.py:131-132.
One workspace per call. There is no tool that reads across workspaces, and no way to ask for several at once. A call acts in one workspace and is checked against your membership of it.
Source: services/runtime/src/runtime/mcp/tools.py:132-166.
Failures are opaque on purpose. An unanticipated failure returns one generic message and nothing else, with the detail in the server logs. You cannot get the underlying error out of a tool call, and that is intentional: a database error can carry the query that produced it.
Source: services/runtime/src/runtime/mcp/tools.py:566-574.
search_knowledge_base is the least proven of the five. It has never been
observed returning a result end to end. See
its page.
No public deployment. There is no host to connect a client to today. See Connect Claude.