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.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Minimal MCP server exposing Generect Live API tools for B2B lead generation and company search.
Sign up and get your API key at https://beta.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:
search_leads: Search for leads by ICP filters (supports timeout_ms)search_companies: Search for companies by ICP filters (supports timeout_ms)generate_email: Generate email by first/last name and domain (supports timeout_ms)get_lead_by_url: Get LinkedIn lead by profile URL (supports timeout_ms)health: Quick health check against the API (optional url, supports timeout_ms)Add to ~/.claude/claude_desktop_config.json (or via UI β MCP Servers). Recommended: run via npx so users don't install anything globally.
macOS note: If Claude shows "spawn npx ENOENT" or launches an older Node via nvm, set command to the absolute npx path and/or override PATH:
Alternative without npx:
Then use:
The hosted server (https://mcp.generect.com) runs under PM2 on the host, fronted by nginx (TLS). The process is defined by ecosystem.config.js:
Single instance only. OAuth state (registered clients, auth codes) and MCP sessions are held in memory, so the server must run as one instance. Scaling horizontally requires a shared store (e.g. Redis) first β see ecosystem.config.js.
Required secrets (fail-closed). In production (NODE_ENV=production) the server refuses to start unless JWT_SIGNING_KEY is set to a strong, non-default value; it never falls back to a hardcoded default or an ephemeral key. TOKEN_ENCRYPTION_KEY, if set, must be exactly 64 hex characters (32 bytes).
Docker is supported for local/alternative runs. Build locally:
Run the server in a container (note: the same production secrets are required β an insecure default will cause the container to exit at startup):
Some MCP clients allow spawning the server via SSH, using stdio over the SSH session. Example config:
TOKEN_ENCRYPTION_KEY (or derived from JWT_SIGNING_KEY)JWT_SIGNING_KEY, and never publishes symmetric key material in the JWKSACCESS_TOKEN_TTL_SECONDS) and are renewed via a refresh_token grant; refresh tokens are rotated on use and revocable at POST /oauth/revoke (RFC 7009). Tokens issued before this change remain valid (no forced re-auth)MCP_REGISTER_RATE_MAX, default 60/hour) and the client store is capped (MCP_MAX_CLIENTS, default 5000, LRU eviction that never drops an in-use client)MCP_ENABLE_CIMD, default on) fetches only https URLs that resolve exclusively to public IPs, with no redirect following, a hard timeout, and a response-size cap (blocks loopback / RFC1918 / link-local / cloud-metadata targets)| Var | Default | Effect |
|---|---|---|
ACCESS_TOKEN_TTL_SECONDS | 2592000 (30d) | Access-token lifetime |
REFRESH_TOKEN_TTL_SECONDS | 7776000 (90d) | Refresh-token lifetime |
MCP_MAX_CLIENTS | 5000 | Cap on the in-memory DCR client store |
MCP_REGISTER_RATE_MAX | 60 | Max /oauth/register calls per IP per window |
MCP_REGISTER_RATE_WINDOW_MS | 3600000 (1h) | Rate-limit window |
MCP_ENABLE_CIMD | true | Allow client-id-as-metadata-URL (SSRF-guarded) |
MCP_ALLOWED_REDIRECT_DOMAINS | β | Extra allowed redirect hostnames (comma-separated) |
MCP_LOG_PAYLOADS=1 to opt in)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>