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 at this account's prices. Free: this call never spends credits. It is the only way to size an audience without paying per row, which makes it the first step before search_leads. A realtime count is not free ($0.04 flat at the Tier 0 list price); it runs only when mode:"realtime" is passed explicitly. |
| count_companiesA | How many companies match an ICP, and what pulling them would cost. Free: this call never spends credits. The first step before search_companies. As with count_leads, a realtime count costs $0.04 at the Tier 0 list price and runs only when mode:"realtime" is passed explicitly. |
| get_balanceA | Account balance, month-to-date usage and this account's own per-operation prices. Free: this call never spends credits. balance_usd is the wallet; grants_usd is bonus and plan credit (sign-up bonus, perks, plan allowance), reported apart. Grants are spent first, but only on the operations each one covers: a promo perk or a plan allowance may not pay for API calls, and a perk never pays for phone numbers, so the two figures do not add up to what the account can spend. Useful before a batch of paid work (what the user can afford) and after it (what was spent). These are the account's real rates; prices in tool descriptions are list prices. |
| healthA | Liveness check. Free: this call never spends credits. Confirms the MCP server is up, reports its version and (unless disabled) verifies the credential against a free account endpoint. It never touches a paid data endpoint, so it is safe for monitors. |
| preview_leadsA | A cheap look at the actual people behind a count, before a full search. Billable: about $0.002 per returned row at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. Preview rows carry a Generect |
| search_leadsA | Return leads (people) matching an ICP. Free by default while the account has free thin rows left today (a daily quota; detail "thin" guarantees $0). detail "full" is billable: about $0.02 per returned row (0 rows costs $0) at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. Realtime, and an automatic escalation to it, are billed per row too. count_leads sizes the audience for free first. Rows never include email or phone; generate_email (which takes the lead id) and find_phone add those for the ids you keep. Ordering is not stable, so pages are fetched by passing the ids you already have in exclude_ids rather than by offset. |
| search_companiesA | Return companies matching an ICP. Free by default while the account has free thin rows left today (a daily quota; detail "thin" guarantees $0). Thin rows carry no domain; enrich_company adds it for the ones you keep. detail "full" is billable: about $0.02 per returned row (0 rows costs $0) at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. Realtime is billed per row too. count_companies sizes the result for free first. 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) at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. 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.02 per record found (not-found is refunded) at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. Not found costs nothing. The |
| enrich_companyA | Full profile for one known company, by Generect id, LinkedIn URL, domain or name. Billable: about $0.02 per record found (not-found is refunded) at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. 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.02 per record found (not-found is refunded) at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. enrich_lead does the same and also accepts a Generect id (the most accurate identifier) 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) at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. Identifies the person by lead_id (most accurate), LinkedIn URL or first name, last name and domain. |
| validate_emailA | Check deliverability of emails you already have. Billable: about $0.005 per email submitted (every address is billed, whatever the verdict) at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. This is the one operation where every submitted address is billed: the verdict is the deliverable. An address generate_email returned as valid is already verified, so validating it again only adds cost. |
| find_phoneA | Find a phone number for one person. Billable: about $0.4 per phone found (a miss is free) at the Tier 0 list price. Accounts can pay a different rate: get_balance returns this account's prices, and every response reports what was actually spent in cost.amount_charged_usd. The most expensive operation here, roughly 20x an email lookup, so it suits people the user has already qualified rather than a whole list. start_bulk_job takes 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: a submitted job keeps running (and charging) even if nobody polls it. Meant for a list the user has approved. get_bulk_job polls it, and a webhook (create_webhook) reports 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 billed at submit time); a few seconds between polls is enough. |
| list_webhooksA | List the webhook endpoints registered for bulk-job completion events. Free: this call never spends credits. |
| create_webhookA | Register a URL that receives bulk-job completion events, so scheduled or unattended workflows are notified instead of polling. Each event carries the job's results (emails, phone numbers or records) in its body. Free: this call never spends credits. |
| update_webhookA | Change the URL, events or signing secret of a registered webhook. Free: this call never spends credits. A new URL changes where completion events, and the results they carry, are delivered; a new event list changes which events are sent. |
| delete_webhookA | Delete a registered webhook; its endpoint stops receiving completion events. Free: this call never spends credits. |
| test_webhookA | Send a test event to a registered webhook endpoint. Free: this call never spends credits. |
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 results view | Interactive view for Generect search, count, enrichment and balance results. |
| 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 21 tools
Most tools have clearly distinct resource/action boundaries, especially between counting, previewing, searching, and enriching. The main confusion is get_lead_by_url, which is explicitly an alias of enrich_lead, plus some conceptual overlap between resolve_profile and enrich_lead.
The set is mostly consistent snake_case verb_noun naming (search_leads, enrich_company, create_webhook), which is easy to scan. Minor deviations are health as a bare noun and get_lead_by_url, whose get_ prefix is semantically inconsistent with the enrich_ family.
At 21 tools the surface is somewhat heavy, though the domain is broad: search, enrichment, email, phone, bulk jobs, webhooks, and account health. The redundant alias get_lead_by_url and the five webhook tools push it beyond the ideal tightly scoped range.
The surface covers the core lead-generation lifecycle: counting, searching, previewing, enriching, email generation/validation, phone lookup, bulk jobs, and webhook management. Minor gaps remain around asynchronous job management, such as canceling or listing bulk jobs, but most workflows are workable.