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:
- Open Claude Desktop → Settings → Connectors
- Click Add Connector
- Enter the URL: https://trycanonical.ai/mcp/
- 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