Canonical Company Search
by vy-labs
README.md
# Canonical — Company Discovery for Agents
> Find the companies others miss. **[Canonical](https://trycanonical.ai)** is a verified,
> LLM-checked company graph — not a web search. Describe what you want in plain English (or
> pass structured filters) and get a precise, **domain-keyed shortlist of the long-tail,
> net-new accounts** that keyword/firmographic databases (Apollo, ZoomInfo) systematically miss.
This is the public home of Canonical's remote **MCP server** and its **Claude Code plugin +
discovery skill**. The server is hosted — there's nothing to run locally.
## What you can do
- **Build a target-account list from a plain-English ICP** — including the long-tail companies Apollo/ZoomInfo don't have.
- **Expand from a seed company → a lookalike / TAM list** (multi-axis similarity, not keyword overlap).
- **Turn a messy company name into a verified domain + full profile** (founders/execs, funding, HQ, dimensions).
- **Drop Canonical into an existing GTM / recruiting / investor-research agent** as the discovery layer that feeds your enrichment and outreach tools.
Canonical **discovers and verifies companies**. It is not an outreach sender and not a contact
database — it finds the accounts, then hands off to whatever enrichment/outreach tooling you
already use (Apollo, Clay, your CRM, a sales agent).
## Get started (Claude Code)
Install the plugin — it wires up the MCP server **and** the discovery skill in one step:
```
/plugin marketplace add vy-labs/canonical-mcp
/plugin install canonical@canonical-mcp
```
Then either run the slash command with an ICP or a seed domain:
```
/canonical:find-accounts B2B SaaS building AI agents for sales teams, US, seed to Series A
/canonical:find-accounts stripe.com
```
…or just describe what you're looking for in plain language — the `find-net-new-accounts` skill triggers automatically:
> "Find companies like stripe.com but headquartered in Europe."
On the first tool call, your browser opens Canonical's OAuth consent page (no API key to copy;
250 free credits on signup, no card).
## Install (other clients)
The MCP server works in any MCP client. Point it at the streamable-HTTP endpoint and authorize
via OAuth — full per-client setup at https://trycanonical.ai/documentation/mcp.
- **Server URL:** `https://trycanonical.ai/mcp`
- **Transport:** Streamable HTTP · **Auth:** OAuth 2.0 with dynamic client registration (scope `search`), read-only
> **Using ChatGPT?** No config needed — Canonical is a published ChatGPT app: **[Canonical Company Search](https://chatgpt.com/plugins/plugin_asdk_app_6a1ed22d523481918b6f6d8ab74b8052)** → click **Try in chat**. Authorizes via OAuth on first use (250 free credits).
<details>
<summary><b>Cursor</b></summary>
Install from the Cursor marketplace, or add to `~/.cursor/mcp.json` (global) or `<project>/.cursor/mcp.json`:
```json
{
"mcpServers": {
"canonical": { "url": "https://trycanonical.ai/mcp", "type": "streamable-http" }
}
}
```
</details>
<details>
<summary><b>Claude Desktop / claude.ai</b></summary>
Add a custom connector with the URL `https://trycanonical.ai/mcp` and complete the OAuth flow.
Step-by-step: https://trycanonical.ai/documentation/mcp
</details>
<details>
<summary><b>VS Code (Copilot)</b></summary>
```json
{
"servers": {
"canonical": { "type": "http", "url": "https://trycanonical.ai/mcp" }
}
}
```
</details>
<details>
<summary><b>Codex CLI</b></summary>
```
codex mcp add canonical --url https://trycanonical.ai/mcp
```
Or in `~/.codex/config.toml`:
```toml
[mcp_servers.canonical]
url = "https://trycanonical.ai/mcp"
```
No token needed — Codex runs the OAuth flow automatically on first use. Verify with `/mcp`.
</details>
<details>
<summary><b>opencode</b></summary>
In `opencode.json`:
```json
{
"mcp": {
"canonical": { "type": "remote", "url": "https://trycanonical.ai/mcp", "enabled": true }
}
}
```
opencode prompts you to authorize on first use.
</details>
<details>
<summary><b>stdio-only clients (no native remote-MCP support)</b></summary>
Bridge the remote server through [`mcp-remote`](https://github.com/geelen/mcp-remote) as the server command:
```
npx mcp-remote https://trycanonical.ai/mcp
```
It converts stdio ↔ streamable-HTTP and carries the OAuth flow.
</details>
<details>
<summary><b>Any MCP client</b></summary>
Point it at the streamable-HTTP endpoint `https://trycanonical.ai/mcp` and authorize via OAuth.
Full client-by-client setup: https://trycanonical.ai/documentation/mcp
</details>
## The discovery skill
`plugins/canonical/skills/find-net-new-accounts/` — a portable [Agent Skill](https://code.claude.com/docs/en/skills)
that runs the discovery motion: **ICP or seed → verified long-tail accounts → decision-maker +
LinkedIn → hand off to your enrichment/outreach tools.** It uses Canonical for the discovery leg
even when Apollo/ZoomInfo/Clay are co-connected (Canonical is strong on long-tail company
coverage, those tools on contacts — each does what it's best at), and it never guesses or scrapes
emails: when no enrichment tool is present it hands off the verified account + LinkedIn instead.
The `SKILL.md` is standard Agent-Skills format and is also mirrored at the repo root
(`skills/find-net-new-accounts/`), so you can install it into Codex, Cursor, opencode, Cline, and
other [agentskills.io](https://agentskills.io)-compatible agents in one line:
```
npx skills add vy-labs/canonical-mcp
```
Pair it with the MCP server (above) in that same client, and you get the guided motion outside
Claude Code too — install → authorize → start.
---
## Reference
### Tools
The server exposes five read-only tools:
| Tool | Purpose | Credits |
|------|---------|---------|
| `search_companies` | Structured search — free-text `description` + typed filters (location, employee size, funding stage/amount/investor, founder attributes, exclusions). Unsupported constraints are reported back, never silently dropped. | spends |
| `find_similar_companies` | Look-alikes of a seed domain; multi-axis rerank (semantics, dimensions, funding, geo, investors, size). | spends |
| `get_company_details` | Full profile for one domain incl. founders/execs + prior-employer category tags (FAANG/unicorn/MBB). | 1 when it resolves |
| `lookup_companies` | Disambiguate a free-text name → canonical domain; ranked candidates with confidence. | 1 per call with ≥1 candidate |
| `get_account_status` | Credit balance, plan, rate limits. | free |
### Auth & pricing
- **Auth:** OAuth 2.0 with dynamic client registration (scope `search`). Read-only — no destructive operations. On first use your client opens the OAuth consent flow in the browser; there's no API key to copy.
- **Free tier:** 250 credits on signup, no credit card required.
- **Docs:** https://trycanonical.ai/documentation/mcp
- **Privacy:** https://trycanonical.ai/privacy-policy · **Terms:** https://trycanonical.ai/terms · **Support:** support@trycanonical.ai
### Listed on
[Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=ai.trycanonical/company-search) (`ai.trycanonical/company-search`) · [Smithery](https://smithery.ai/servers/canonical-ai/company-search)
### Example prompts
- "Find fintech startups in India that raised Series A in the last 6 months."
- "Show me companies similar to stripe.com but headquartered in Europe."
- "Who are the founders of anthropic.com and where did they work before?"
- "List YC-backed B2B SaaS companies with a technical cofounder."
### Repository contents
| Path | What |
|------|------|
| `.claude-plugin/marketplace.json` | Claude Code marketplace manifest (makes this repo installable via `/plugin marketplace add`). |
| `plugins/canonical/` | The Claude Code plugin: `.mcp.json` (remote server) + `.claude-plugin/plugin.json` + the command and skill. |
| `plugins/canonical/commands/find-accounts.md` | The `/canonical:find-accounts` slash command. |
| `plugins/canonical/skills/find-net-new-accounts/` | The `find-net-new-accounts` Agent Skill bundled in the plugin (Claude Code). |
| `skills/find-net-new-accounts/` | Same skill mirrored at repo root for cross-client `npx skills add`. |
| `.cursor-plugin/plugin.json` | Cursor plugin manifest. |
| `mcp.json` | Remote server config — used by the Cursor plugin and copy-pasteable into any client. |
## License
MIT — see [LICENSE](./LICENSE). This license covers the contents of this repository
(manifests + docs + skill); the Canonical service itself is operated at https://trycanonical.ai
under its own [terms](https://trycanonical.ai/terms).
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues