The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Coresignal MCP listing page.
The official Model Context Protocol server for Coresignal — bring fresh B2B data on 895M+ employees, 70M+ companies, and 468M+ job postings straight into your AI assistant.
Search in plain natural language, pull full records, enrich contacts with verified emails, and export large result sets as downloadable files — all from Claude, Cursor, Codex, VS Code, or any other MCP-compatible client.
credits_consumed, and expensive calls ask for confirmation before spending.entity_fields finds the right field names by keyword, free, without loading the full 300+ field vocabulary into context.artifact_read pages delivered files back into the conversation for free — works even in clients with no filesystem access.On first connection your client opens a browser window to sign in to the Coresignal dashboard. That's the whole setup — no environment variables, no secrets.
Claude Desktop supports remote MCP servers natively via Connectors:
Coresignal, URL: https://mcp.coresignal.com/mcp/v2.Important — enable file downloads: Claude Desktop blocks downloads from domains it doesn't know. To download result files (large fetches are delivered as links), add
mcp.coresignal.comto the Domain allowlist in Claude Desktop settings (on Team/Enterprise plans your admin manages this). Without it, download links from the server will be blocked — though you can always read the data back in-chat with the freeartifact_readtool instead. See File downloads.
Then inside a session run /mcp, select coresignal, and complete the browser sign-in. Re-run /mcp any time you need to re-authenticate.
A browser window opens to sign in to your Coresignal dashboard account.
Add to ~/.cursor/mcp.json:
Cursor detects that the server requires authentication and shows a Needs login prompt — click it to complete the browser sign-in.
Add Coresignal MCP:
Authenticate:
A browser window opens to sign in to your Coresignal dashboard account.
Run MCP: Add Server from the Command Palette, choose HTTP, and enter the URL — or add to .vscode/mcp.json:
VS Code prompts you to authorize the server on first use and handles the OAuth flow in your browser.
Add to ~/.cline/data/settings/cline_mcp_settings.json:
Open Cline MCP interface:
From menu select Authorize OAuth and select coresignal. Cline will handle the OAuth flow in your browser.
Large results (and any call with delivery="url") are not dumped into the chat to save LLM input tokens. Instead the server stores the rows as a file and returns a signed HTTPS download link that expires after 1 hour:
From here, the agent gets at the data in one of three ways:
curl the link to disk and analyze the file locally with grep/jq/pandas.artifact_read(artifact_name, offset, limit) instead, paging through the file in slices over the MCP session. This is free and works everywhere, so nothing floods the chat.Prefer the download when your client supports it.
artifact_readis free in Coresignal credits, but not in LLM tokens: every page it returns becomes part of the conversation and is re-billed as input tokens on each subsequent turn. Each page is also trimmed to a fixed token budget — a full employee record is ~8k tokens, so a single page carries only a handful of full records regardless of thelimityou ask for. Reading a large file that way takes hundreds of calls and can exhaust the context window before you reach the end. A downloaded file costs essentially no tokens — the assistant can filter thousands of rows locally withgrep/jqand surface only the answer. That's why it pays to get downloads working up front (domain allowlist, sandbox network access) and keepartifact_readfor clients that can't download or for eyeballing a few rows.
If downloads are blocked, nothing is lost: the records are already stored and paid for — read them with artifact_read. Never re-run a fetch to "recover" a file; that bills every record a second time.
| Tool | What it does | Cost |
|---|---|---|
entity_search | Natural-language search over employees, companies, or jobs | 20 credits per search (flat) |
entity_fields | Keyword search over an entity's ~300 field names | Free |
entity_fetch | Pull full (JSONL) or projected records, by search handle or by id | 20 credits per employee/company record, 1 per job record |
email_enrich | Verified business emails for employee ids (CSV) | 10 credits per email found (misses are free) |
artifact_read | Page rows back out of a delivered file | Free |
entity_searchSearches employee, company, or job records with a plain-language query:
"Senior Python developers at fintech companies in French"
Every call costs a flat 20 credits and returns:
total_count — the exact number of records the query matched,limit=0 returns just the count), each showing the fields the query matched on — the evidence for why each result is there,cache_id — a 1-hour handle to the search that saves credits and time: pass it to entity_fetch and the matched records are collected straight away — no need to re-run (and re-pay for) the search, and resolving the cache_id itself is free. Record ids stay server-side, so nothing bulky ever passes through the conversation.entity_fieldsFree, instant lookup of field names by meaning — "salary" finds the compensation fields, "current job title and seniority" finds active_experience_title, experience.position_title, etc. Use it to build the fields list for a custom-scope fetch without ever loading the full field vocabulary into context.
entity_fetchCollects records — either up to 20 hand-picked ids from search results, or up to 1,000 records per call via a cache_id. Billing is per record found: 20 credits for employees/companies, 1 for jobs.
email_enrichVerified, deliverable business emails for up to 1,000 employee ids — 10 credits per email found; not-found ids are free. EEA/UK contacts are not accessible (GDPR).
artifact_readReads a delivered file back over the authenticated MCP session, a page at a time — free, since the records were billed when they were fetched. This is what makes file delivery work everywhere, including chat clients that can't open a link or touch a filesystem.
"Find B2B SaaS companies in the Nordics with 50–200 employees that raised funding in the last two years."
"Search for heads of data at US companies with 500+ employees. Fetch 20 full profiles to a file with verified emails."
"Pull the full record for flo.health — funding rounds, headcount growth, and current job openings."
...
| Action | Credits |
|---|---|
entity_search (any limit, including 0) | 20 per search |
entity_fetch — employee or company | 20 per record found |
entity_fetch — job | 1 per record found |
email_enrich | 10 per email found; misses free |
entity_fields, artifact_read | Free |
Every response includes credits_consumed — the actual billed amount, so a discrepancy (sent 1,000 ids, billed for 950 records) tells you exactly how many ids weren't found. The server never spends silently: fetches confirm field scope with you first, and a fetch that can't be delivered fails before any credits are spent.
Credits are drawn from your team's Coresignal subscription — manage keys and billing in the dashboard. New to Coresignal? The 7-day free trial comes with 2,000 credits — that's 100 searches, or 100 employee/company records, or a mix — see the plan comparison.