TMCP Gateway API reference
Learn how agents authenticate, discover available tools, execute feature keys, request documentation, and handle approval-gated actions through the TMCP gateway.
Tools
45
Connected
4
Agents
4
Keys
3
Run approved tool actions
Discover allowed features
Agent-readable reference
curl -X POST "/api/gateway/execute" \
-H "Authorization: Bearer mcp_live_..." \
-d '{"tool":"serper","action":"serper.search"}'1. Create Key
Generate a one-time visible API key for an active agent.
2. Connect Tools
Connect provider accounts and store credentials encrypted.
3. Grant Permissions
Allow specific feature keys and configure limits or approvals.
4. Execute
Send gateway requests with tool, action, input, and optional account_id.
Endpoint Reference
Base URL: https://your-domain.com/api/gateway
/api/gateway/executeRuns one allowed tool feature through the selected connected account.
/api/gateway/toolsReturns connected accounts and feature keys allowed for the calling agent.
/api/gateway/statusValidates the API key and returns the active agent identity.
/api/gateway/docsReturns endpoint reference, schemas, and live examples for the calling agent.
Authentication
Use an agent API key in the bearer header. TMCP resolves the workspace, agent, permissions, approval requirements, and daily limits from that key.
Authorization: Bearer mcp_live_xxxxxxxxxxxxDiscovery & Status Endpoints
GET requests an agent uses to list allowed tools, check identity, and fetch live docs
/api/gateway/toolsList the connected accounts and feature keys the calling agent is allowed to use.
curl -X GET "https://your-domain.com/api/gateway/tools" \
-H "Authorization: Bearer mcp_live_xxxxxxxxxxxx"/api/gateway/statusValidate the API key and return the active agent identity.
curl -X GET "https://your-domain.com/api/gateway/status" \
-H "Authorization: Bearer mcp_live_xxxxxxxxxxxx"/api/gateway/docsFetch the agent-readable endpoint reference, schemas, and live examples.
curl -X GET "https://your-domain.com/api/gateway/docs" \
-H "Authorization: Bearer mcp_live_xxxxxxxxxxxx"Execute Endpoint Examples
POST cURL, JavaScript, and Python for the current example feature
curl -X POST "https://your-domain.com/api/gateway/execute" \
-H "Authorization: Bearer mcp_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"tool": "gmail",
"action": "gmail.search",
"input": {
"query": "from:client@example.com newer_than:7d"
},
"account_id": "acc-g-1"
}'Execute Request
toolTool slug, such as gmail, github, ssh, serper, or scrapedo.
actionFeature key shown on the tool detail page or returned by /api/gateway/tools.
inputObject containing parameters for that feature key.
account_idOptional connected account id. Required when multiple accounts exist for the same tool.
Gateway Responses
successfalse
resultProvider response or sandbox response from the tool runner.
latency_msTotal gateway execution time in milliseconds.
statuspending
approval_idApproval request id.
messageReturned when a feature requires manual approval.
OpenAI-Compatible API Key Rotation
Gemini API Rotate & OpenRouter API Rotate
Connect a Gemini API Rotate or OpenRouter API Rotate tool, add multiple provider API keys to its pool, then point any OpenAI-compatible client at TMCP using your single agent API key. TMCP rotates across the pool round-robin, marks keys that return 429/quota errors as cooling down, retries the next key automatically, and returns the provider's original error only once every key is exhausted.
Each tool has its own dedicated base URLso you can drop it straight into any app's "OpenAI-compatible base URL" field — no model-name routing required. The endpoints under each base are /chat/completions, /responses, /embeddings, /models.
Gemini API Rotate
https://your-domain.com/api/gemini/v1curl -X POST "https://your-domain.com/api/gemini/v1/chat/completions" \
-H "Authorization: Bearer mcp_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.5-flash",
"messages": [
{
"role": "user",
"content": "Hello"
}
]
}'OpenRouter API Rotate
https://your-domain.com/api/openrouter/v1curl -X POST "https://your-domain.com/api/openrouter/v1/chat/completions" \
-H "Authorization: Bearer mcp_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "Hello"
}
]
}'Streaming is supported — pass "stream": true"and TMCP relays the provider's Server-Sent Events stream unchanged. List acceptable model ids with GET {base}/models. Standard parameters (temperature, top_p, max_tokens, …) are forwarded to the provider as-is.
Prefer a single endpoint? https://your-domain.com/api/v1 also works and auto-selects the provider from the model name (gemini*→ Gemini, otherwise OpenRouter).
Tool Feature Reference
Public examples use current workspace data when available.
Gmail
gmail / Personal Gmail
Read, search, draft, and send emails securely.
gmail.search0 permsSearch user's mailbox with custom filters
gmail.read0 permsFetch email headers and bodies
gmail.create_draft0 permsPrepare email drafts for review
gmail.send0 permsSend emails directly on user behalf
Gmail
gmail / Client Support Gmail
Read, search, draft, and send emails securely.
gmail.search0 permsSearch user's mailbox with custom filters
gmail.read0 permsFetch email headers and bodies
gmail.create_draft0 permsPrepare email drafts for review
gmail.send0 permsSend emails directly on user behalf
Google Drive
drive / Client Drive
Search files, read documents, upload, and manage files.
drive.search0 permsSearch files in Google Drive
drive.read0 permsRead file contents
drive.upload0 permsUpload new files to drive
drive.delete0 permsRemove files permanently
Hunter
hunter / Main Hunter Account
Find and verify professional email addresses.
hunter.find_email0 permsGet email address by name and domain
hunter.verify_email0 permsVerify deliverability of an email
hunter.domain_search0 permsList email addresses in a domain