B2B lead generation and company search through Generect Live API for sales prospecting.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Generect MCP.
count_leadsHow many leads match an ICP + what the next step costs at *your* rates. Run before `search_leads`.
count_companiesSame, for companies.
get_balanceBalance, month-to-date usage, and this account's real per-operation prices.
get_bulk_jobPoll a bulk job (the work was billed at submit time).
manage_webhooksList/create/update/delete/test webhook endpoints.
healthLiveness + credential check against a free endpoint. Safe for monitors.
B2B lead and company data for AI agents β search, preview, enrich, email and phone lookup over the Generect API.
Built so an agent can work without burning a customer's balance: sizing an audience is free, every tool says up front whether it costs money, and every response reports what was actually charged.
Sign up and get your API key at https://app.generect.com
This MCP server implements OAuth 2.1 authorization as specified by the Model Context Protocol.
Use our hosted MCP server with any OAuth-compliant MCP client:
When you first connect, the client will initiate an OAuth flow:
| Endpoint | Description |
|---|---|
/.well-known/oauth-protected-resource | Protected Resource Metadata (RFC 9728) |
/.well-known/oauth-authorization-server | Authorization Server Metadata (RFC 8414) |
/.well-known/jwks.json | JSON Web Key Set for token verification |
/oauth/authorize | Authorization endpoint (login + consent) |
/oauth/token | Token endpoint |
/oauth/register | Dynamic Client Registration (RFC 7591) |
If your MCP client cannot complete the OAuth flow, you can pass the API key directly via the Authorization header. The server accepts any of:
Example for mcp-remote:
For local development or when OAuth is not needed:
Requirements: Node >= 18
Configure environment:
The server emits one structured JSON log line per event to stderr (stdout is reserved for the MCP stdio protocol). Metadata logging is on by default; set MCP_LOG=0 to disable it entirely.
Privacy β payloads are redacted by default. Request/response payloads can contain personal data of prospects (names, company domains, generated emails). By default these values are not logged verbatim: each is reduced to a non-identifying shape marker (e.g. "first_name": "<str:4>"), so you can see which fields were sent without recording the data itself. Set MCP_LOG_PAYLOADS=1 to log payloads verbatim β intended for short-lived debugging, with the data owner's consent.
Events:
event | When | Key fields |
|---|---|---|
tool_call | LLM invokes a tool | reqId, tool, input (redacted unless MCP_LOG_PAYLOADS=1) |
api_request | Outbound call to Generect API | url, method, body (redacted unless MCP_LOG_PAYLOADS=1; never the token) |
api_response | Generect API responded | url, status, ms |
tool_result | Result returned to the LLM | reqId, tool, ms, output (redacted unless MCP_LOG_PAYLOADS=1) |
tool_error / api_error | Failure | reqId/url, error, ms |
reqId correlates a tool_call with its tool_result. Set MCP_DEBUG=1 for additional verbose output.
The hosted server runs under PM2 (not Docker). View logs on the host with:
Generect's API picks live or test mode from the key, not the URL β so this
server needs no separate deployment and no extra tool. Paste a test key
(test_β¦, created at
app.generect.com/settings/api) into
the same config and every tool answers with fictional data, at the speed the
real endpoint runs, showing the price the real call would have cost, charging
nothing.
Every result from a test key carries test_mode: true and a notice telling the
model the people are fictional. That is not decoration. An agent handed twelve
invented prospects with no marker will summarise them as twelve prospects, and
the person reading the summary has no way to tell β the likeliest failure of
test mode in an agent channel is a confident report about people who do not
exist. The marker is added centrally, so no tool can forget it.
See Test mode for the magic inputs that force a 402, a 429 or a timeout on demand.
Every tool states in its own description whether it is free or billable, and every
response carries a cost block with the amount the API actually charged. Tools
accept timeout_ms.
Free β start here
| Tool | What it does |
|---|---|
count_leads | How many leads match an ICP + what the next step costs at your rates. Run before search_leads. |
count_companies | Same, for companies. |
get_balance | Balance, this account's real per-operation prices, plus optional include_usage (spend by operation) and include_token_analytics (which token made which calls). |
get_bulk_job | Poll a bulk job (the work was billed at submit time). |
manage_webhooks | List/create/update/delete/test webhook endpoints. |
health | Liveness + credential check against a free endpoint. Safe for monitors. |
Billable
| Tool | Billed |
|---|---|
search_leads | per returned row |
search_companies | per returned row |
preview_leads | per returned row (cheapest way to see real people); count_only: true is free and is a second opinion on count_leads, since preview and cached search are different indexes |
enrich_lead / get_lead_by_url | per record found |
resolve_profile | per resolved profile β the cheapest call here; an unresolvable reference is free |
enrich_company | per record found |
generate_email | per valid email found |
validate_email | per email submitted β every address, whatever the verdict |
find_phone | per phone found β the most expensive operation here |
start_bulk_job | per record, reserved at submit time |
Every search/enrich runs against either the cached database (sub-second, cheaper,
free counts) or a live LinkedIn lookup (5β60s, pricier, billable counts, every
filter). Tools take mode: "auto" | "database" | "realtime":
auto (default) tries the cheap path and escalates only if the API says a
filter you passed does not exist there. The escalation is reported in the
response, never silent.database never escalates: if a filter is unsupported you get an error, not a
bigger bill.count_leads /
count_companies refuse to run one unless you ask for mode: "realtime"
explicitly. They tell you which filters forced the choice instead.Measured against the live API, the v1 search endpoints validate their filters inconsistently:
| Filter | Unknown value |
|---|---|
locations, company_headcounts, company_types | HTTP 400 naming the field |
company_industries, seniorities | accepted β 0 results, $0, no error |
That second row is the dangerous one. company_industries: ["Fintech"] is not a
LinkedIn industry and comes back as a perfectly successful count of zero, which
reads exactly like "this audience does not exist".
So the server checks these values itself, before sending anything:
Fintech β Financial Services,
50-200 β 51-200), and nothing is sent or charged;software development β Software Development) β matching is exact, so
sending it as typed would have returned zero;Owner finds people even though the canonical label is
Owner / Partner);allow_unlisted_values: true overrides the check if this server's snapshot is
ever behind the API.The full vocabularies are exposed as resources, so a client can read them once and stop guessing:
They are regenerated from the backend's own filter data with
node scripts/gen-vocabulary.mjs <api_parser checkout> β never hand-edited.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/generect-mcp)<a href="https://allmcps.com/mcp/generect-mcp"><img src="https://allmcps.com/api/badge/generect-mcp?style=directory" alt="Generect MCP on AllMCPs" /></a>