Give Claude, ChatGPT, Cursor or your own agent access to the Generect B2B database: people and companies by ICP, emails, phones and full profiles.
- Free to explore. Counting an audience is free, and so is a database search with thin rows (who, role, where, which company), up to a daily row quota per account.
- Pay for what you keep. Emails are billed only when a valid one is found, phones only when found, full profiles per record found.
- No surprise bills. Every tool says up front whether it costs money, every response carries a
costblock with the amount actually charged, and calls above a spend ceiling need an explicit confirmation. Tools that can charge are not marked read-only, so Claude and other hosts ask before running them (choose "Always allow" for the ones you trust); counting, balance and health run without asking. - Safe to try. A test key returns realistic fictional data at real speed and charges nothing.
- Interactive in the chat. In Claude, ChatGPT and other hosts that support MCP Apps, results come back as cards you can act on: an audience card with prices, a lead table where you pick people and find their emails, company and profile cards, your balance.
Connect
Get an API key at app.generect.com/settings/api. Clients that support OAuth sign you in without one.
Remote server (recommended)
https://mcp.generect.com/mcp speaks streamable HTTP with OAuth 2.1, so most clients only need the URL. It serves MCP protocol revision 2026-07-28 (stateless, discovered via server/discover) and the 2025 revisions (2025-11-25, 2025-06-18) side by side, so any current client connects without settings.
Claude Code
claude mcp add --transport http generect https://mcp.generect.com/mcp
Claude.ai and Claude Desktop: Settings, Connectors, Add custom connector, then paste https://mcp.generect.com/mcp.
Cursor (.cursor/mcp.json) and other JSON-configured clients:
{
"mcpServers": {
"generect": {
"url": "https://mcp.generect.com/mcp"
}
}
}
The first connection opens the Generect consent page in the browser. Approve it with the account you are already signed into, and the client receives its own token.
No OAuth in your client? Pass the key as a header, for example with mcp-remote:
{
"mcpServers": {
"generect": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.generect.com/mcp", "--header", "Authorization: Bearer YOUR_API_KEY"]
}
}
}
Local server (stdio)
{
"mcpServers": {
"generect": {
"command": "npx",
"args": ["-y", "generect-ultimate-mcp@latest"],
"env": {
"GENERECT_API_KEY": "YOUR_API_KEY"
}
}
}
}
Requires Node 20 or newer. Optional: GENERECT_API_BASE (default https://api.generect.com) and GENERECT_TIMEOUT_MS. If Claude Desktop on macOS reports spawn npx ENOENT, set command to the absolute path of npx.
Test mode
Use a test_… key from app.generect.com/settings/api in any of the configs above. Every tool then answers with fictional data, shows what the real call would have cost and charges nothing. Results carry test_mode: true so an agent cannot mistake them for real people. See Test mode.
Interactive results (MCP Apps)
Hosts that support the MCP Apps extension (Claude on web, desktop and mobile, ChatGPT, VS Code, Goose and others) render these tools as interactive views inside the conversation. Other clients get the same text and structured results as before.
The views follow the host's theme (light and dark), fonts and layout, and work on phones. Results from a test key are labelled as fictional.
Tools
Free
Billable
Prices depend on your account tier: get_balance returns yours, and every response reports what was actually charged.
A budget-safe flow
count_leads (free) → search_leads, thin rows (free) → generate_email on the ids you keep (per valid email)
→ enrich_lead / find_phone only where needed
Thin and full rows
search_leads and search_companies take detail:
- left out (default): thin rows while the free tier is available. Once it is not (quota spent, a custom-contract account), the search continues with full rows billed per row and says so in
thin_unavailable. "thin": free rows only. Never billed and never escalated to realtime; a spent quota returns a 429."full": the whole record, billed per row.
Thin lead rows carry id, name, job title, seniority, location and company (name, id, industry, country). Thin company rows carry id, name, industry, headcount range, HQ city and country, company type and founding year. Neither carries a LinkedIn URL, domain, contacts or history: generate_email takes the lead id directly, and enrich_lead / enrich_company return the full record.
Database and realtime
Search and enrich run against the Generect database (sub-second, free counts) or a live LinkedIn lookup (5 to 60 seconds, billed counts, every filter). Tools take mode:
auto(default) tries the database first and escalates only if the API says a filter you passed is not supported there. The escalation is reported and is refused above the spend ceiling.databasenever escalates: an unsupported filter is an error, not a bigger bill.realtimegoes live directly. Counting live costs money, socount_*run it only when asked for explicitly.
Filter vocabularies
company_industries and seniorities accept unknown values silently and return zero results, which reads like "this audience does not exist". The server therefore checks values before sending anything: unknown industries, headcount buckets and company types are refused locally with the closest valid names, and mis-cased values are corrected. allow_unlisted_values: true overrides the check.
The full vocabularies are exposed as resources:
generect://vocabulary/industries
generect://vocabulary/seniorities
generect://vocabulary/functions (realtime only)
generect://vocabulary/company-types
generect://vocabulary/headcounts
generect://vocabulary/follower-ranges (realtime only)
generect://account/pricing your per-operation prices
generect://account/balance balance and month-to-date usage
Prompts
Workflow prompts appear as slash commands in clients that support them: size_an_audience, build_prospect_list, enrich_my_list and spend_report. Each one starts from the free step.
Spend ceiling
A row cap bounds results, not money. Any call whose worst case exceeds MCP_MAX_SPEND_PER_CALL (default $5) is refused with the exact figure and must be repeated with confirm_spend_usd set to at least that amount. start_bulk_job is checked before it submits, because a bulk job reserves its whole cost up front.
Agent skill
Tools let an agent call Generect; the skill teaches it the procedure above.
npx skills add generect/generect_mcp --skill generect-lead-workflows
See skills/README.md.
More
- Documentation
- Operating and self-hosting the server: logging, OAuth endpoints, security settings, deployment, Docker
- Release process
- Issues
License
MIT