Tools
GET /api/v0/tools
Returns all tools registered across all enabled servers. Pass the optional server query parameter to filter by a single server.
Access: admin and user
Name of a registered MCP server. When provided, only tools from that server are returned.
200
Fully qualified tool name in the format
server__tool.Whether the tool is currently active and callable through the MCP proxy.
Human-readable description of what the tool does.
JSON Schema describing the tool’s input parameters.
Optional metadata attached to the tool by the upstream server.
GET /api/v0/tool
Returns a single tool by name. The name must be passed as a query parameter (not a path segment) because tool names contain slashes and double underscores.
Access: admin and user
Fully qualified tool name, e.g.
filesystem__read_file.cURL
200 — A single tool object with the same shape as items returned by GET /api/v0/tools.
POST /api/v0/tools/invoke
Invokes a tool and returns its output. The request body is a JSON object containing the tool name and all tool-specific arguments at the top level.
Access: admin and user
Fully qualified tool name to invoke, e.g.
filesystem__read_file.All remaining fields are passed as arguments to the tool. The exact set of accepted fields depends on the tool’s
input_schema.200
Array of content blocks returned by the tool. Each block is a map with at least a
type field ("text", "image", etc.) and type-specific data.true when the tool itself reported an error (distinct from an HTTP-level error). The response still returns 200 in this case.Optional structured data returned by the tool alongside the content blocks.
Optional MCP metadata attached to the response.
POST /api/v0/tools/enable
Enables one or more tools. Pass either a fully qualified tool name (e.g. filesystem__read_file) or a server name to re-enable all tools from that server.
Access: admin only
A tool name or server name. When a server name is given, all tools belonging to that server are enabled.
cURL
200 — Array of tool names that were enabled.
POST /api/v0/tools/disable
Disables one or more tools, removing them from the MCP proxy surface. They remain registered and can be re-enabled.
Access: admin only
A tool name or server name. When a server name is given, all tools belonging to that server are disabled.
cURL
200 — Array of tool names that were disabled.
Prompts
Prompts are message templates registered by upstream MCP servers. They can accept arguments and are rendered server-side before being returned.GET /api/v0/prompts
Returns all prompts across all enabled servers. Pass the optional server query parameter to filter by a single server.
Access: admin and user
Name of a registered MCP server. When provided, only prompts from that server are returned.
cURL
GET /api/v0/prompt
Returns metadata for a single prompt by name. The name must be passed as a query parameter.
Access: admin and user
Fully qualified prompt name.
cURL
POST /api/v0/prompts/render
Renders a prompt template with the provided arguments and returns the resulting messages.
Access: admin and user
Fully qualified prompt name to render.
Key-value map of argument names to string values. The accepted keys depend on the prompt’s own argument schema.
cURL
200
Optional description of the rendered prompt.
Rendered message sequence. Each message has a
role ("user" or "assistant") and a content map.Optional MCP metadata attached to the response.
Prompt enable / disable
The enable and disable endpoints for prompts follow the same pattern as tools.| Endpoint | Method | Description |
|---|---|---|
/api/v0/prompts/enable | POST | Enable a prompt or all prompts from a server. Pass ?entity=<name>. |
/api/v0/prompts/disable | POST | Disable a prompt or all prompts from a server. Pass ?entity=<name>. |