Generect Live API MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_DEBUG | No | Set to '1' to enable debug logging | |
| OAUTH_BASE_URL | No | Base URL for OAuth endpoints (optional) | |
| JWT_SIGNING_KEY | Yes | Secret key used for JWT signing | |
| GENERECT_API_KEY | Yes | Your Generect API key in format 'Token <api-key>' | |
| GENERECT_API_BASE | No | Base URL of the Generect API. Default: https://api.generect.com | |
| GENERECT_TIMEOUT_MS | No | Timeout in milliseconds. Default: 60000 | |
| TOKEN_ENCRYPTION_KEY | Yes | 32-byte hex key for AES encryption of tokens |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| count_leadsA | How many leads match an ICP, and what pulling them would cost. FREE — this call never spends credits. ALWAYS CALL THIS BEFORE search_leads: it is the only way to learn the size of an audience without paying per row, and it returns a cost estimate for the next step at this account's real rates. A realtime count is NOT free ($0.02 flat) — this tool refuses to run one unless you pass mode:"realtime" on purpose. |
| count_companiesA | How many companies match an ICP, and what pulling them would cost. FREE — this call never spends credits. Call this before search_companies. As with count_leads, a realtime count costs $0.02 and is never run implicitly. |
| get_balanceA | Account balance, month-to-date usage and THIS account's real per-operation prices. FREE — this call never spends credits. Call it before a batch of paid work (so you can tell the user what they can afford) and after (so you can report exactly what was spent). The prices it returns beat any number in a tool description — those are list prices. |
| healthA | Liveness check. FREE — this call never spends credits. Confirms the MCP server is up, reports its version, and (unless you disable it) verifies the credential against a free account endpoint. It never touches a paid data endpoint, so it is safe to call from a monitor. |
| preview_leadsA | Cheap look at the actual people behind a count, before committing to a full search. BILLABLE — about $0.002 per returned row (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). Preview rows carry a Generect |
| search_leadsA | Return leads (people) matching an ICP. BILLABLE — about $0.0067 per returned row (0 rows costs $0) (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). Run count_leads first — it is free and tells you both the audience size and what this call will cost. Returns profile data only: no email or phone. Use generate_email / find_phone on the ids you actually want. Ordering is not stable, so paginate by passing ids you already have in exclude_ids rather than by offset. |
| search_companiesA | Return companies matching an ICP. BILLABLE — about $0.0067 per returned row (0 rows costs $0) (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). Run count_companies first. Note that headcount_range is a snapshot taken when the record was indexed and can lag the company's current size; the filter itself is applied at query time. |
| resolve_profileA | Reveal who is behind an anonymous LinkedIn profile link. BILLABLE — about $0.0005 per RESOLVED profile (an unresolvable reference is free) — duplicates in one batch are billed per row, so deduplicate first (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). Takes the obfuscated links that Sales Navigator leaves in exports, CRMs and ad platforms — |
| enrich_leadA | Full profile for ONE known person, by Generect id, LinkedIn URL, or work email (reverse lookup). BILLABLE — about $0.0067 per record found (not-found is refunded) (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). Not found costs nothing. Prefer the |
| enrich_companyA | Full profile for ONE known company, by Generect id, LinkedIn URL, domain, or name. BILLABLE — about $0.0067 per record found (not-found is refunded) (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). Not found costs nothing. Domain is the most reliable identifier after id; name matching is fuzzy. |
| get_lead_by_urlA | Alias of enrich_lead for a LinkedIn profile URL, kept for backwards compatibility. BILLABLE — about $0.0067 per record found (not-found is refunded) (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). Prefer enrich_lead — it also accepts a Generect id (cheaper to get right) or an email for reverse lookup. |
| generate_emailA | Find and verify a work email. BILLABLE — about $0.02 per VALID email found (a miss is free) (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). Identify the person by lead_id (best), LinkedIn URL, or first+last+domain. |
| validate_emailA | Check deliverability of emails you already have. BILLABLE — about $0.005 per email submitted — every address is billed, whatever the verdict (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). This is the one operation where EVERY submitted address is billed — the verdict is the deliverable. Never validate an address that generate_email just returned as valid; it is already verified. |
| find_phoneA | Find a phone number for one person. BILLABLE — about $0.4 per phone found (a miss is free) (Tier 0 list price; your account may pay a different rate — call get_balance for your real prices, and read cost.amount_charged in every response for what was actually spent). THE MOST EXPENSIVE OPERATION HERE — roughly 20x an email lookup. Do not call it speculatively or across a list; confirm with the user first, and only for people they have already qualified. Use start_bulk_job for an approved list. |
| start_bulk_jobA | Submit up to 50 records for asynchronous processing and get a job_id back. BILLABLE at the same per-record rate as the single-record tool — and the whole cost is RESERVED at submit time, so a submitted job keeps running (and keeps charging) even if you stop polling. Only submit a list the user has approved. Poll with get_bulk_job, or register a webhook to be told when it finishes. |
| get_bulk_jobA | Status and results of a bulk job. FREE — this call never spends credits. Polling is free — the work was already billed at submit time. Poll every few seconds, not in a tight loop. |
| manage_webhooksA | List, create, update, delete or test webhook endpoints for bulk-job completion. FREE — this call never spends credits. Use this instead of long polling in scheduled/unattended workflows: register once, then let the completion event wake your job up. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| size_an_audience | Turn a plain-language ICP into filters and find out how many people match — without spending anything. |
| build_prospect_list | Count, preview, then buy only the rows the user approved — and report the exact spend. |
| enrich_my_list | Deduplicate, drop unusable rows, enrich, and report the spend. |
| spend_report | Balance, month-to-date usage by operation, and the most recent charges. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| generect-pricing | This account's real price for every operation, read from its spend tier. These are the numbers to quote to a user — the prices in tool descriptions and in the public docs are list prices and have not always matched what is billed. |
| generect-account | Free read of the current balance, spend this month and Preview eligibility. |
| generect-vocabulary-industries | Every industry name the Generect API matches on, with its parent. Matching is exact and unknown names are NOT rejected — they silently return 0 results. |
| generect-vocabulary-seniorities | Canonical Sales Navigator seniority labels. The API does not validate this field: an unknown value is accepted and may match loosely or not at all. |
| generect-vocabulary-functions | Job functions. Realtime-only filter — using it forces the pricier live mode. |
| generect-vocabulary-company-types | Company types. The API rejects an unknown value with HTTP 400. |
| generect-vocabulary-headcounts | Employee-count buckets. Exact strings; the API rejects anything else with HTTP 400. |
| generect-vocabulary-follower-ranges | Follower-count buckets for company search (realtime only). |
TDQS
Scored across 17 tools
Tool purposes are mostly distinct: count/search/preview/enrich/generate/validate/find each map to different operations, and free vs billable tools are clearly separated. The main ambiguity is get_lead_by_url, which is explicitly an alias for enrich_lead and creates redundancy.
Names follow a predictable snake_case verb_noun pattern like count_leads, search_companies, enrich_lead, and generate_email. The exceptions are the bare noun 'health' and the more awkward alias get_lead_by_url, but the overall convention is consistent.
At 17 tools, the set sits in the heavy/borderline range, though most tools map to distinct API operations. The redundant get_lead_by_url alias and the peripheral health tool could be trimmed without losing core functionality.
The surface covers the main lead-generation lifecycle: count, preview, search, enrich, resolve profiles, email/phone lookup, bulk jobs, webhooks, and billing. Minor gaps exist—no preview_companies counterpart and no bulk-job cancellation—but core workflows have no dead ends.