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.

See Run a company MCP gateway.