MCP server

The Model Context Protocol (MCP) server provides a standardized interface that allows any compatible AI model or agent to access your Kyo data in a simple and secure way.

Kyo MCP server

Kyo's MCP server comes in two flavors: a hosted (remote) server you connect to with a URL — no install — and a local server that ships inside the Kyo CLI and runs over stdio. Both expose the same 118 read and write tools that map 1:1 to the REST API — deals, contacts, companies, tasks, pipelines, spaces, metrics, finance, HR, documents and automations. Every tool call runs as you, bounded by the scopes you granted at sign-in and by your workspace permissions, so an agent can never do more than you can in the app.

Setup instructions

Hosted server — no install

Point any remote-capable MCP client at:

url
https://app.trykyo.com/api/mcp

The first connection opens Kyo's sign-in and consent screen in your browser — you approve the scopes there, and the client registers itself and completes OAuth automatically. In claude.ai, add it under Settings → Connectors → Add custom connector. In Claude Code:

bash
claude mcp add --transport http kyo https://app.trykyo.com/api/mcp

In Cursor, add the URL form to ~/.cursor/mcp.json:

json
{
  "mcpServers": {
    "kyo": { "url": "https://app.trykyo.com/api/mcp" }
  }
}

Local server — general

Prefer the local (stdio) server if your client can't reach remote servers, or you want your tokens to live only on your machine. Every client needs the CLI installed and a one-time sign-in:

bash
npm install -g kyo-cli
kyo login

After that, your MCP client launches the server itself from its config — you never run kyo mcp by hand. Restart the client after editing its config; the tools are discovered automatically.

Claude Desktop

Add Kyo to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{
  "mcpServers": {
    "kyo": { "command": "npx", "args": ["-y", "kyo-cli", "mcp"] }
  }
}

Claude Code

One command from any terminal:

bash
claude mcp add kyo -- npx -y kyo-cli mcp

Cursor

Add Kyo to ~/.cursor/mcp.json:

json
{
  "mcpServers": {
    "kyo": { "command": "kyo", "args": ["mcp"] }
  }
}

Other clients

Any MCP client that supports local stdio servers works. Configure it to run the command npx with arguments ["-y", "kyo-cli", "mcp"] — or simply kyo mcp if the CLI is installed globally.

Then try it: ask your agent to "list my Kyo deals" or "create a deal for Acme in the Sales pipeline."

Available tools

118 tools, each mapping to a REST API resource. The hosted and local servers expose the same catalogue, generated from one list — they can't drift apart.

GroupTools
Connectionkyo_whoami
CRMkyo_list_deals, kyo_get_deal, kyo_create_deal, kyo_update_deal, kyo_list_people, kyo_get_person, kyo_create_person, kyo_update_person, kyo_list_companies, kyo_get_company, kyo_create_company, kyo_update_company, kyo_list_pipelines, kyo_create_pipeline, kyo_update_pipeline, kyo_list_pipeline_stages, kyo_create_pipeline_stage, kyo_update_pipeline_stage, kyo_list_labels, kyo_create_label, kyo_add_label_to_deal, kyo_remove_label_from_deal, kyo_list_crm_files, kyo_list_deal_tasks, kyo_create_deal_task, kyo_update_deal_task, kyo_link_person_to_deal, kyo_unlink_person_from_deal
Taskskyo_list_tasks, kyo_get_task, kyo_create_task, kyo_update_task, kyo_list_task_attachments
Spaces & projectskyo_list_spaces, kyo_create_space, kyo_update_space, kyo_list_projects, kyo_create_project, kyo_update_project, kyo_list_project_stages, kyo_create_project_stage, kyo_update_project_stage, kyo_list_space_members, kyo_add_space_member, kyo_remove_space_member, kyo_list_space_updates, kyo_create_space_update
Commentskyo_add_comment, kyo_list_comments
Metricskyo_list_metrics, kyo_get_metric, kyo_create_metric, kyo_update_metric, kyo_list_metric_pages, kyo_create_metric_page, kyo_update_metric_page, kyo_list_metric_entries, kyo_create_metric_entry
Financekyo_list_income, kyo_create_income, kyo_update_income, kyo_list_expenses, kyo_create_expense, kyo_update_expense, kyo_list_finance_categories, kyo_create_finance_category, kyo_list_debts, kyo_create_debt, kyo_update_debt, kyo_list_debt_payments, kyo_create_debt_payment
HRkyo_list_team_members, kyo_get_team_member, kyo_create_team_member, kyo_update_team_member, kyo_list_departments, kyo_create_department, kyo_list_leave_requests, kyo_create_leave_request, kyo_update_leave_request, kyo_list_hr_contracts, kyo_create_hr_contract, kyo_list_hr_change_requests, kyo_create_hr_change_request, kyo_update_hr_change_request, kyo_list_org_chart, kyo_create_org_chart_node, kyo_update_org_chart_node
Librarykyo_list_documents, kyo_get_document, kyo_create_document, kyo_update_document, kyo_list_knowledge, kyo_get_knowledge_document, kyo_create_knowledge_document, kyo_list_canvases, kyo_get_canvas, kyo_create_canvas, kyo_update_canvas
Automationskyo_list_automations, kyo_get_automation, kyo_create_automation, kyo_update_automation, kyo_list_automation_logs
Competitor researchkyo_list_competitor_workflows, kyo_list_competitor_reports, kyo_get_competitor_report
AI agentskyo_list_agents, kyo_get_agent
Workspacekyo_list_users, kyo_get_user, kyo_update_user, kyo_get_workspace, kyo_update_workspace, kyo_list_activity, kyo_get_credit_balance
Enrichmentkyo_enrich_company

Security

  • Runs as you — every call is bounded by the scopes granted at kyo login and your workspace permissions, including private-task visibility. An agent can never exceed what you can do in the app.
  • Credentials never reach the model — the local server holds your tokens on your machine, the hosted server keeps them server-side; either way only tool results are returned.
  • No delete tools — v1 of the API is non-destructive, so an agent can't hard-delete your data. The only unlink-shaped tools (kyo_remove_label_from_deal, kyo_remove_space_member, kyo_unlink_person_from_deal) detach a link and leave both records intact.
  • Roles and billing are off limitskyo_update_user writes profile fields only, and no tool can change a member's role, permissions, plan or payment details.
  • Enrichment is opt-in and meteredkyo_enrich_company spends workspace credits and needs the enrich:write scope, which is excluded from the default sign-in grant.
  • Revocable — disconnect any time with kyo logout, or from Settings → API in the Kyo app.

FAQ

Is there a hosted (remote) MCP server?

Yes — https://app.trykyo.com/api/mcp. It speaks MCP over Streamable HTTP, discovers Kyo's OAuth automatically, and serves the same 118 tools as the local server. Use the local CLI server instead if you want tokens to live only on your machine.

Which scopes does the agent get?

Whatever you granted at sign-in — on the hosted server that's the consent screen shown at connect time; on the local server it's kyo login (re-run with --scope "…" to grant more or less). The default grant is full read/write across every scope the API has except enrich:write, which stays opt-in because it spends credits. Whatever is granted, the agent still can't exceed your own permissions in the workspace.

Can an agent delete my data?

No. There are no delete tools, and the underlying API has no DELETE in v1.

Which clients are supported?

The hosted server works with claude.ai connectors, Claude Code, Cursor, and any MCP client that supports remote servers with OAuth. The local server works with Claude Desktop, Claude Code, Cursor, and any client that can launch stdio servers.