Skip to content
SupportLogin
Tools

Tools

List host-side tools
GET/api/v1/tools
ModelsExpand Collapse
ToolListResponse object { object, data }
object: "list"
data: array of object { server_label, type, name, 10 more }
server_label: string

The server_label to reference this connector by in a request, e.g. { "type": "mcp", "server_label": "slack" }.

type: "mcp"

Responses API tool type to send in the tools array.

name: string
description: string
auth: "none" or "platform" or "caller" or "connection"

Where the outbound credential comes from. connection tools use a connection you authorise once, or an authorization passed on the request; caller tools always take it from the request.

One of the following:
"none"
"platform"
"caller"
"connection"
connect: "oauth" or "secret"

How a connection tool is connected: oauth through the browser flow at connect_path, secret by storing one with POST /connections. Null for tools that use no stored connection.

One of the following:
"oauth"
"secret"
connect_path: string

For an oauth tool, the GET path (under the API prefix) that starts its browser connect flow — usually /oauth/{server_label}/connect; Google Drive uses /oauth/google/connect, the shared “Connect Google”. Null for tools not connected through OAuth.

logo_url: string

URL of the connector’s logo, for showing it in a UI. Null for tools without one.

mode: "hosted_proxy" or "remote_mcp"

How the tool connects. hosted_proxy: we run the MCP server against the provider API. remote_mcp: we connect as a client to the vendor-hosted MCP server.

One of the following:
"hosted_proxy"
"remote_mcp"
default_require_approval: "always" or "never"

Approval posture applied when the request’s tool entry does not set require_approval. Defaults to never; callers may require approval for all tools or specific write tools.

One of the following:
"always"
"never"
required_scope: string

Scope a scoped API key must hold to use this tool.

available: boolean

Whether this caller can use the tool right now.

unavailable_reason: optional "not_implemented" or "disabled" or "requires_plan" or "requires_scope"

Why the tool is unavailable. Returned rather than omitting the tool, so a caller can tell “not on your plan” from “does not exist”.

One of the following:
"not_implemented"
"disabled"
"requires_plan"
"requires_scope"