Skip to main content
The Anyreach MCP server does not expose one tool per API operation. Instead it exposes four meta-tools that let an LLM client discover any operation in the Anyreach API surface and then invoke it. Use the discovery tools to find the operation you want, fetch its input schema, and call it. Every Anyreach API operation is named {service}_{operationId}, for example core_list_agents. The service prefix is one of core, workflow, knowledge_base, campaign, or admin, and the rest comes from the operation’s operationId.

The four meta-tools

ToolPurposeReturns
list_all_toolsList every operation by name.Name and one-line description only.
search_toolsFind operations by natural-language query.Top matches, each with its input schema inline.
describe_toolGet full metadata for one operation.Service, method, path, tags, and a fully resolved input schema.
call_toolInvoke an operation.The upstream JSON response.

list_all_tools()

Lists every tool exposed by the server. Each entry is name plus a one-line description only, with no input schema. Use it to browse the full catalog, then call describe_tool(name) to get the schema for a specific tool.
[
  { "name": "core_list_agents", "description": "List agents" },
  { "name": "core_create_agent", "description": "Create agent" }
]

search_tools(query, limit=10)

Finds operations relevant to a natural-language query and returns the top matches, defaulting to limit=10. Unlike list_all_tools, each result carries its input schema inline, so a result is ready to invoke via call_tool without an extra round trip.
The schema returned inline by search_tools keeps its $ref references unresolved to keep responses small. If you need a fully inlined schema before calling, fall back to describe_tool.
[
  {
    "name": "core_list_agents",
    "description": "List agents",
    "inputSchema": {
      "type": "object",
      "properties": { "limit": { "type": "integer" } }
    }
  }
]

describe_tool(name)

Fetches the full metadata and JSON Schema for a single operation by name. Use it after list_all_tools once you have picked a tool and need its input schema before calling it. Unlike search_tools, the returned inputSchema has every referenced component schema inlined under $defs. The response includes:
FieldDescription
nameThe {service}_{operationId} tool name.
descriptionOne-line summary of the operation.
serviceThe owning service: core, workflow, knowledge_base, campaign, or admin.
methodHTTP method, for example GET or POST.
pathThe operation path, for example /agents/{agent_id}.
tagsOpenAPI tags for the operation.
inputSchemaThe fully resolved JSON Schema for the call arguments.
unsupported_reasonSet when the operation cannot be called via MCP, otherwise null.
Passing an unknown name raises an error pointing you back to list_all_tools or search_tools.

call_tool(name, arguments, organization_id)

Invokes an Anyreach API operation by name and returns the upstream JSON response.
  • arguments must conform to the operation’s inputSchema. Path, query, and header parameters are top-level keys; the request body goes under an arguments.body field.
  • organization_id is the Anyreach organization to act on behalf of. Pass it when the operation is org-scoped, which most are.
{
  "name": "core_create_agent",
  "organization_id": "org_123",
  "arguments": {
    "body": { "name": "Support agent" }
  }
}
Upstream errors surface back to the client. If the downstream service returns a 401 mentioning a missing organization claim, retry with organization_id set. Unknown tool names raise an error directing you to the discovery tools.
Discover the operation, fetch its schema, then call it.
1

Search or list

Use search_tools("create an agent") to find candidate operations by intent, or list_all_tools() to browse the full catalog.
2

Describe

Call describe_tool(name) to get the fully resolved input schema and metadata for the operation you picked. Skip this if search_tools already returned a schema you can satisfy.
3

Call

Call call_tool(name, arguments, organization_id) with arguments that conform to the schema. The request body goes under arguments.body.
search_tools / list_all_tools  ->  describe_tool  ->  call_tool
        (find the operation)        (get schema)       (invoke)

Coverage and limits

Which operations are exposed and what is not callable via MCP.

Connecting a client

Point an MCP client at the Anyreach server and authenticate.