MCP Server

Give AI assistants access to Canonical's company search via the Model Context Protocol. Works with Claude Desktop, Claude Code, ChatGPT, Cursor, and Windsurf.

What is MCP?

The Model Context Protocol (MCP) is an open standard that lets AI assistants use external tools. When you connect the Canonical MCP server, your AI assistant can search for companies directly during a conversation — no manual API calls needed.

Connect with One Click

No package install needed. No API key needed. Just add the remote server URL — OAuth handles authentication automatically.

Claude Desktop Recommended

Add Canonical as a Connector — no config files needed:

  1. Open Claude Desktop → SettingsConnectors
  2. Click Add Connector
  3. Enter the URL: https://trycanonical.ai/mcp/
  4. Sign in to your Canonical account when prompted
Alternative: config file method

Edit your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "canonical": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://trycanonical.ai/mcp/"]
    }
  }
}

Requires Node.js installed. Fully quit and restart Claude Desktop after saving.

Claude Code

claude mcp add canonical --transport http https://trycanonical.ai/mcp/

ChatGPT

Add as a remote tool in ChatGPT settings with the following URL:

https://trycanonical.ai/mcp/

Cursor

Add to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:

{
  "mcpServers": {
    "canonical": {
      "type": "streamable-http",
      "url": "https://trycanonical.ai/mcp/"
    }
  }
}

Windsurf

Same JSON format as Cursor — add to your Windsurf MCP config:

{
  "mcpServers": {
    "canonical": {
      "type": "streamable-http",
      "url": "https://trycanonical.ai/mcp/"
    }
  }
}

First use: When you first use the tool, you'll be prompted to sign in to your Canonical account. Don't have one? Sign up for free — you'll get 250 credits to start.

Tool Reference

The MCP server exposes a single tool: search_companies

Parameter Type Default Description
query string required Natural language query (e.g. "B2B fashion tech companies")
top_k integer 20 Number of results (1–100)
intent string | null null Optional ranking profile. The calling LLM should pick the slug that best matches the user's stated or implied use case based on the surrounding chat, its memory of the user, or context shared earlier. Omit (or pass null) to let the server infer intent from the query text. Allowed slugs: sales_prospecting, sales_timing, sales_expansion, competitive_tracking, emerging_competitor_scan, talent_source, recruiter_employer_vet, jobseeker_stability, jobseeker_growth. See the REST API docs for the full "when to pick / what each optimizes for" table — the same taxonomy applies here.

Example Output

When an AI assistant calls this tool, it receives formatted markdown:

Found 20 companies for 'AI healthcare startups' (20 credits used)

**Acme Health AI** — acmehealthai.com
  AI-powered diagnostic platform for healthcare providers...
  HQ: San Francisco, CA
  Employees: 150
  Industry: Healthcare, Artificial Intelligence

**MedTech Solutions** — medtechsolutions.com
  Clinical decision support system using machine learning...
  HQ: Boston, MA
  Employees: 85

Credits remaining: 980