Generect

by generect

1 stars
324 downloads
Not rated
GitHub

Description

Generect MCP connects your live lead database directly to AI models like OpenAI or Claude without exports or delays. It streams enriched, up-to-date contact data (titles, firmographics, signals) straight into prompts so LLMs can personalize, score, and recommend leads…

About

Generect MCP connects your live lead database directly to AI models like OpenAI or Claude without exports or delays. It streams enriched, up-to-date contact data (titles, firmographics, signals) straight into prompts so LLMs can personalize, score, and recommend leads automatically in real time.

Details

Author
generect
GitHub stars
1
Downloads
324
Categories
Database, Other, AI

- OAuth 2.1 authorization (recommended) with PKCE and dynamic client registration
- Tools: search_leads, search_companies, generate_email, get_lead_by_url, health
- Direct API key fallback via Authorization header
- Structured JSON logging to stderr (configurable)
- Docker support and Clauede Desktop / Cursor integration

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Generect
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The recommended method is to use the hosted remote MCP server with OAuth 2.1; configure your MCP client with the URL https://mcp.generect.com/mcp. If OAuth is not supported, you can pass your API key directly in the Authorization header. For local development, install Node ≥18, set environment variables (GENERECT_API_KEY, etc.), and run npm run build && npm start for a stdio server, or npm run dev:http for HTTP. You can also use Docker or SSH to run the server remotely.

search_leads

Search for leads by ICP filters

search_companies

Search for companies by ICP filters

generate_email

Generate email by first/last name and domain via Generect Email Generator

get_lead_by_url

Get Lead by LinkedIn URL

health

Health check Generect API via a quick lead-by-link request

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "generect": {
            "generect-api": {
                "command": "npx",
                "args": [
                    "-y",
                    "generect-ultimate-mcp@latest"
                ],
                "env": {
                    "GENERECT_API_BASE": "https://api.generect.com",
                    "GENERECT_API_KEY": "Token your-api-key",
                    "GENERECT_TIMEOUT_MS": "60000",
                    "MCP_DEBUG": "0"
                }
            }
        }
    }
}

McpServers

{
    "generect-api": {
        "command": "npx",
        "args": [
            "-y",
            "generect-ultimate-mcp@latest"
        ],
        "env": {
            "GENERECT_API_BASE": "https://api.generect.com",
            "GENERECT_API_KEY": "Token your-api-key",
            "GENERECT_TIMEOUT_MS": "60000",
            "MCP_DEBUG": "0"
        }
    }
}

Minimal MCP server exposing Generect Live API tools for B2B lead generation and company search.

Sign up and get your API key athttps://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:

{ "mcpServers": { "generect": { "url": "https://mcp.generect.com/mcp", "type": "http" } } }

When you first connect, the client will initiate an OAuth flow:
- You'll be redirected to the authorization page
- Enter your Generect API token from
beta.generect.com
- Authorize the client to access your API
- The client receives an access token and can now use the MCP tools

If your MCP client cannot complete the OAuth flow, you can pass the API key directly via theAuthorizationheader. The server accepts any of:

Authorization: YOUR_API_KEY Authorization: Bearer YOUR_API_KEY Authorization: Token YOUR_API_KEY Authorization: Bearer Token YOUR_API_KEY (legacy)
{ "mcpServers": { "generect": { "command": "mcp-remote", "args": [ "https://mcp.generect.com/mcp", "--header", "Authorization: Bearer YOUR_API_KEY" ] } } }

For local development or when OAuth is not needed:

GENERECT_API_BASE=https://api.generect.com GENERECT_API_KEY=Token <api-key> GENERECT_TIMEOUT_MS=300000 JWT_SIGNING_KEY=<your-secret-key-for-jwt-signing> TOKEN_ENCRYPTION_KEY=<32-byte-hex-key-for-token-encryption>

The server emits one structured JSON log line per event tostderr(stdout is reserved for the MCP stdio protocol). Metadata logging ison by default; setMCP_LOG=0to 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 arenotlogged verbatim: each is reduced to a non-identifying shape marker (e.g."first_name": "<str:4>"), so you can seewhichfields were sent without recording the data itself. SetMCP_LOG_PAYLOADS=1to log payloads verbatim — intended for short-lived debugging, with the data owner's consent.

reqIdcorrelates atool_callwith itstool_result. SetMCP_DEBUG=1for additional verbose output.

The hosted server runs underPM2(not Docker). View logs on the host with:

pm2 logs generect-mcp # live pm2 logs generect-mcp --err # errors only grep tool_call ~/.pm2/logs/generect-mcp-out.log # only LLM tool inputs

- search_leads: Search for leads by ICP filters (supportstimeout_ms)
- search_companies: Search for companies by ICP filters (supportstimeout_ms)
- generate_email: Generate email by first/last name and domain (supportstimeout_ms)
- get_lead_by_url: Get LinkedIn lead by profile URL (supportstimeout_ms)
- health: Quick health check against the API (optionalurl, supportstimeout_ms)

Cursor integration (settings.json excerpt)

{ "mcpServers": { "generect-liveapi": { "command": "node", "args": ["./node_modules/tsx/dist/cli.mjs", "src/server.ts"], "env": { "GENERECT_API_BASE": "https://api.generect.com", "GENERECT_API_KEY": "Token YOUR_API_KEY", "GENERECT_TIMEOUT_MS": "300000" } } } }

Add to~/.claude/claude_desktop_config.json(or via UI → MCP Servers). Recommended: run via npx so users don't install anything globally.

{ "mcpServers": { "generect-api": { "command": "npx", "args": ["-y", "generect-ultimate-mcp@latest"], "env": { "GENERECT_API_BASE": "https://api.generect.com", "GENERECT_API_KEY": "Token YOUR_API_KEY", "GENERECT_TIMEOUT_MS": "300000", "MCP_DEBUG": "0" } } } }

macOS note: If Claude shows "spawn npx ENOENT" or launches an older Node via nvm, setcommandto the absolute npx path and/or override PATH:

{ "command": "/usr/local/bin/npx", "env": { "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" } }
{ "command": "/usr/local/bin/generect-mcp", "args": [] }

The hosted server (https://mcp.generect.com) runs underPM2on the host, fronted by nginx (TLS). The process is defined byecosystem.config.js:

npm ci && npm run build pm2 start ecosystem.config.js # or: pm2 reload ecosystem.config.js pm2 save # persist the process list for reboot # once, as root, so it survives reboots: # pm2 startup systemd -u mcp_user --hp /home/mcp_user

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 — seeecosystem.config.js.

Required secrets (fail-closed).In production (NODE_ENV=production) the server refuses to start unlessJWT_SIGNING_KEYis 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:

docker build -t ghcr.io/generect/generect_mcp:local .

Run the server in a container (note: the same production secrets are required — an insecure default will cause the container to exit at startup):

docker run --rm \ -e NODE_ENV=production \ -e GENERECT_API_BASE=https://api.generect.com \ -e GENERECT_API_KEY="Token YOUR_API_KEY" \ -e JWT_SIGNING_KEY="a-strong-random-secret" \ -e TOKEN_ENCRYPTION_KEY="0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" \ -e OAUTH_BASE_URL=https://your-domain.com \ -p 3000:3000 \ ghcr.io/generect/generect_mcp:local

Some MCP clients allow spawning the server via SSH, using stdio over the SSH session. Example config:

{ "mcpServers": { "generect-remote": { "command": "ssh", "args": [ "user@remote-host", "-T", "node", "/opt/generect_mcp/dist/server.js" ], "env": { "GENERECT_API_BASE": "https://api.generect.com", "GENERECT_API_KEY": "Token YOUR_API_KEY", "GENERECT_TIMEOUT_MS": "300000" } } } }

- Run a simple health check against the API:

- OAuth tokensare JWTs signed by the server and contain your encrypted API token
- Token encryptionuses AES-256-GCM with a key fromTOKEN_ENCRYPTION_KEY(or derived fromJWT_SIGNING_KEY)
- Fail-closed secrets— in production the server refuses to start with a missing or well-known-defaultJWT_SIGNING_KEY, and never publishes symmetric key material in the JWKS
- Bounded, refreshable tokens— access tokens expire (default 30 days,ACCESS_TOKEN_TTL_SECONDS) and are renewed via arefresh_tokengrant; refresh tokens are rotated on use and revocable atPOST /oauth/revoke(RFC 7009). Tokens issued before this change remain valid (no forced re-auth)
- PKCEis required for all authorization code flows (S256 method)
- Dynamic Client Registrationallows any MCP client to self-register, but is nowrate-limited per IP(MCP_REGISTER_RATE_MAX, default 60/hour) and the client store iscapped(MCP_MAX_CLIENTS, default 5000, LRU eviction that never drops an in-use client)
- SSRF-guarded metadata fetches— the client-id-metadata-document flow (MCP_ENABLE_CIMD, default on) fetches onlyhttpsURLs 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)
- Token validation fails closed— if Generect cannot confirm a token during login (upstream error), the server declines to mint an access token instead of assuming validity
- Audience + algorithm pinningensures tokens are only used with this MCP server and only via the expected signing algorithm

Configuration (security-relevant env vars)

- Log privacy— prospect payloads are redacted from logs by default (MCP_LOG_PAYLOADS=1to opt in)

An MCP server that provides tools to interact with Powerdrill datasets, enabling smart AI data analysis and insights.

Apify-hosted MCP server for Airtable with 15 tools. Full CRUD for records, tables, fields, search, and schema inspection. No local setup needed.

Interact with AskTable SaaS or local deployments to query data sources using natural language.

A read-only MCP server by CData that enables LLMs to query live data from Bullhorn CRM. Requires the CData JDBC Driver for Bullhorn CRM.

A read-only MCP server to query live Oracle Eloqua data. Requires a separate CData JDBC Driver for Oracle Eloqua.

A read-only MCP server by CData that allows LLMs to query live Salesforce data. Requires the CData JDBC Driver for Salesforce.

A read-only MCP server for querying live SAP Hybris C4C data, powered by the CData JDBC Driver.

A read-only MCP server for querying live SuiteCRM data using the CData JDBC Driver.

A read-only MCP server by CData for querying live Zoho Creator data using a JDBC driver.

A read-only MCP server that allows LLMs to query live Certinia data. Powered by CData.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.