search_apis → describe_api → invoke_api round trip and retrieved real lead data.
1
Get a credential
You need an API key or an OAuth 2.0 access token — the same credentials used for the direct REST API. If you don’t have one yet, follow the API Quickstart to get one.
Over MCP, always send your credential as
Authorization: Bearer <token> — even an API key, which normally uses the token prefix on the direct REST API. See Authentication for why.2
Connect your MCP client
Point any Streamable HTTP MCP client at:Any client that speaks Streamable HTTP works the same way — consult your client’s docs for its equivalent of “add a remote MCP server with a custom header.” A successful
initialize call includes serverInfo and an instructions field describing the four tools and how to use them together.3
Search for an operation
Describe what you want to do in plain words with The response includes
search_apis rather than guessing an operationId — ids are stable but not derivable from the resource name (deleting a lead, for example, is lead_trash, not lead_delete).lead_get among the candidates, each with its operationId, HTTP method, path, and a one-line summary.4
Describe the operation
Call The response’s
describe_api with the operationId to get its full parameter schema before calling it.inputSchema shows lead_get takes a required leadId (integer) and an optional withTrash (boolean).5
Invoke it
Call A successful call returns the same JSON body the direct REST API would — wrapped under
invoke_api with the arguments describe_api described.content[0].text (a string, for any MCP client) and mirrored in structuredContent (already-parsed JSON, for clients that support it).Next steps
Tools Reference
Full input schema for all four tools.
Troubleshooting
What to do when search comes up empty or a call is rejected.