Skip to content

MCP API quickstart

Connect any MCP client to Kindo and get every tool from every integration you’ve connected — through one URL with one API key.

POST https://api.kindo.ai/v1/mcp is a remote Model Context Protocol server. Point a spec-conformant MCP client at it and you get the federated tool catalog for everything your Kindo account can reach. A typical tools/list will return entries like:

  • linear_create_issue
  • github_search_repositories
  • slack_post_message
  • jira_get_ticket
  • notion_search_pages

One tool per upstream integration capability, prefixed with the integration ID.

Prerequisites

  • A Kindo API key (see Authentication).
  • An MCP-capable client. Anything that speaks the MCP spec works — Claude Code, OpenClaw, Codex CLI, Claude Desktop, Hermes, Cursor, VS Code, or your own code using the official SDK. See Client setup for copy-paste recipes.

First call

The smallest possible end-to-end example is a raw tools/list with curl:

Terminal window
curl -X POST https://api.kindo.ai/v1/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer $KINDO_API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "tools/list",
"id": 1
}'

The Accept: application/json, text/event-stream header is required by the MCP Streamable HTTP transport. MCP SDKs and the mcp-remote bridge set it for you; raw curl callers must include it.

You’ll get back a list of tools — one entry per capability your account is entitled to use, across every integration you have connected.

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "linear_list_issues",
"description": "List issues in a Linear team",
"inputSchema": { "type": "object", "properties": { "teamId": { "type": "string" } }, "required": ["teamId"] }
}
]
}
}

That’s the full handshake. From here pick a method:

Next steps

  • Client setup — copy-paste recipes for Claude Code, OpenClaw, Codex CLI, Claude Desktop, Hermes, Cursor, VS Code, and the JS/TS SDK.
  • Request shape — required headers, supported JSON-RPC methods, and the tool naming convention.
  • Scoping — which tools you see in tools/list, why the list is what it is, and how to narrow it.