Agents: mount a connector’s tools on a hosted API in one call, and run a company MCP gateway
Agents: mount a connector’s tools on a hosted API in one call, and run a company MCP gateway
Mount a connector
POST /v1/apis/{api_id}/routes/mount writes a tool route for every tool of an mcp or openapi tool definition in one call, named <name_prefix>__<tool> so two connectors never collide on the MCP face.
Send dry_run: true first: each tool comes back with its class, its approval and what a mount would do, and every tool that would be skipped says why.
Mounting again is the refresh: an MCP tool whose input schema changed is reported as an update before it is written, and a route whose tool is gone is reported as stale and never deleted.
A tool route now fronts an MCP server’s tools as well as an OpenAPI vendor’s operations, pinning the tool’s input schema on the route, and every call reuses a warm session to the server.
Writes for people
On an API whose auth_mode names a person (owner, workspace or user_token), a route with resolver.allow_write: true serves a tool that is not a read, as long as its approval is auto.
The connector receives the caller in Speechify-User-Identity, each write counts against daily_write_cap, and a retry with the same Idempotency-Key replays the first answer.
A consumer_key or public API still never serves a write.
See the gateway
Every read of a hosted API carries mcp_url while the MCP face is on, and GET /v1/apis/{api_id}/usage reports each tool route’s tool_calls, upstream_errors, upstream_throttles and upstream_latency_ms_mean for today.
In the console, Build > APIs > MCP gateways lists the workspace’s gateways with each connector’s calls, failures and latency, and a command for Claude Code, Cursor or any MCP client, with the caller’s own key created on the page.
Hosted APIs remain in beta and enabled per workspace.