Generect

com.generectPublished by generect.comOfficial publisherv0.13.1Updated Nov 10, 2026

B2B lead and company data for AI agents: free search, pay only for emails, phones, profiles.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBusiness & Commerce

Overview

AI-generated overview

Gives an assistant access to the Generect B2B database to size audiences, search leads and companies, and buy emails, phones and full profiles.

What you can do
  • Count and preview audiences of people or companies matching an ICP, with cost estimates
  • Search leads and companies, free with thin rows up to a daily quota, or full rows billed per record
  • Enrich known people and companies, resolve anonymous LinkedIn profile links, and look up leads by URL
  • Find and verify work emails and find phone numbers
  • Run bulk jobs of up to 50 records, poll their status, and manage webhooks for completion events
  • Check account balance, per-operation prices and server health
When to use it
Useful when an assistant needs to build or enrich B2B prospect lists, size a market segment before spending, or look up contact details for known people and companies. The free counting and thin-row search steps make it reasonable to try before committing budget.
Requirements
A Generect account and API key (GENERECT_API_KEY), or OAuth sign-in for clients that support it. Remote endpoint over streamable HTTP, or the local npm package generect-ultimate-mcp on Node 20 or newer. Optional GENERECT_API_BASE and GENERECT_TIMEOUT_MS. A test_ key returns fictional data without charge.
Before you install
Most tools spend real money per row, record, email or phone, and find_phone is the most expensive; bulk jobs reserve their full cost at submit time and keep charging even if nobody polls. Calls above MCP_MAX_SPEND_PER_CALL need explicit confirmation. Webhook tools create, change and delete endpoints that receive results, and a new URL redirects where results are delivered. The API key is a billable credential.

Installation

In SourceWeft

  1. Open Generect in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.generect%2Fgenerect-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

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

README

[Generect]

Generect MCP Server

B2B lead and company data for AI agents.
Search and audience sizing are free. You pay only for the emails, phones and full profiles you keep.

[npm version] [MCP Registry] [Docs] [License]

What it does

Give Claude, ChatGPT, Cursor or your own agent access to the Generect B2B database: people and companies by ICP, emails, phones and full profiles.

  • Free to explore. Counting an audience is free, and so is a database search with thin rows (who, role, where, which company), up to a daily row quota per account.
  • Pay for what you keep. Emails are billed only when a valid one is found, phones only when found, full profiles per record found.
  • No surprise bills. Every tool says up front whether it costs money, every response carries a cost block with the amount actually charged, and calls above a spend ceiling need an explicit confirmation. Tools that can charge are not marked read-only, so Claude and other hosts ask before running them (choose "Always allow" for the ones you trust); counting, balance and health run without asking.
  • Safe to try. A test key returns realistic fictional data at real speed and charges nothing.
  • Interactive in the chat. In Claude, ChatGPT and other hosts that support MCP Apps, results come back as cards you can act on: an audience card with prices, a lead table where you pick people and find their emails, company and profile cards, your balance.

Connect

Get an API key at app.generect.com/settings/api. Clients that support OAuth sign you in without one.

Remote server (recommended)

https://mcp.generect.com/mcp speaks streamable HTTP with OAuth 2.1, so most clients only need the URL. It serves MCP protocol revision 2026-07-28 (stateless, discovered via server/discover) and the 2025 revisions (2025-11-25, 2025-06-18) side by side, so any current client connects without settings.

Claude Code

bash
claude mcp add --transport http generect https://mcp.generect.com/mcp

Claude.ai and Claude Desktop: Settings, Connectors, Add custom connector, then paste https://mcp.generect.com/mcp.

Cursor (.cursor/mcp.json) and other JSON-configured clients:

json
{  "mcpServers": {    "generect": {      "url": "https://mcp.generect.com/mcp"    }  }}

The first connection opens the Generect consent page in the browser. Approve it with the account you are already signed into, and the client receives its own token.

No OAuth in your client? Pass the key as a header, for example with mcp-remote:

json
{  "mcpServers": {    "generect": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://mcp.generect.com/mcp", "--header", "Authorization: Bearer YOUR_API_KEY"]    }  }}

Local server (stdio)

json
{  "mcpServers": {    "generect": {      "command": "npx",      "args": ["-y", "generect-ultimate-mcp@latest"],      "env": {        "GENERECT_API_KEY": "YOUR_API_KEY"      }    }  }}

Requires Node 20 or newer. Optional: GENERECT_API_BASE (default https://api.generect.com) and GENERECT_TIMEOUT_MS. If Claude Desktop on macOS reports spawn npx ENOENT, set command to the absolute path of npx.

Test mode

Use a test_… key from app.generect.com/settings/api in any of the configs above. Every tool then answers with fictional data, shows what the real call would have cost and charges nothing. Results carry test_mode: true so an agent cannot mistake them for real people. See Test mode.

Interactive results (MCP Apps)

Hosts that support the MCP Apps extension (Claude on web, desktop and mobile, ChatGPT, VS Code, Goose and others) render these tools as interactive views inside the conversation. Other clients get the same text and structured results as before.

ToolWhat you see
count_leads, count_companiesThe audience size, your filters, what the next step costs at your prices, and a button to see the first 25
search_leads, preview_leadsThe top people inline; open all of them as a table, filter, select, and find work emails right there. You confirm the maximum before anything is spent, a miss is free, and found emails go back to Claude so it can use them
search_companiesCompany cards and a table, with a one-click ask for decision makers at them
enrich_lead, get_lead_by_url, enrich_companyA profile card with the experience timeline and a find-email button
get_balanceBalance, this month's spend and your per-operation prices
generate_emailWhich emails were found and what it cost

The views follow the host's theme (light and dark), fonts and layout, and work on phones. Results from a test key are labelled as fictional.

Tools

Free

ToolWhat it does
count_leadsHow many people match an ICP, and what the next step costs at your rates. Start here.
count_companiesThe same for companies.
search_leadsPeople matching an ICP. Free with the default thin rows (database mode, daily quota).
search_companiesCompanies matching an ICP. Free with the default thin rows (database mode, daily quota).
get_balanceBalance, your real per-operation prices, and optionally spend by operation or by token.
get_bulk_jobPoll a bulk job (the work was billed at submit time).
list_webhooks, create_webhook, update_webhook, delete_webhook, test_webhookManage the webhook endpoints that receive bulk-job completion events.
healthLiveness and credential check against a free endpoint. Safe for monitors.

Billable

ToolBilled
search_leads, search_companies with detail: "full", in realtime mode and once the free quota is used upper returned row
preview_leadsper returned row (count_only: true is free)
resolve_profileper resolved profile, the cheapest paid call; an unresolvable link is free
enrich_lead, get_lead_by_urlper record found
enrich_companyper record found
generate_emailper valid email found
validate_emailper email submitted, whatever the verdict
find_phoneper phone found, the most expensive operation
start_bulk_jobper record, reserved when the job is submitted

Prices depend on your account tier: get_balance returns yours, and every response reports what was actually charged.

A budget-safe flow

count_leads (free)  →  search_leads, thin rows (free)  →  generate_email on the ids you keep (per valid email)                                                        →  enrich_lead / find_phone only where needed

Thin and full rows

search_leads and search_companies take detail:

  • left out (default): thin rows while the free tier is available. Once it is not (quota spent, a custom-contract account), the search continues with full rows billed per row and says so in thin_unavailable.
  • "thin": free rows only. Never billed and never escalated to realtime; a spent quota returns a 429.
  • "full": the whole record, billed per row.

Thin lead rows carry id, name, job title, seniority, location and company (name, id, industry, country). Thin company rows carry id, name, industry, headcount range, HQ city and country, company type and founding year. Neither carries a LinkedIn URL, domain, contacts or history: generate_email takes the lead id directly, and enrich_lead / enrich_company return the full record.

Database and realtime

Search and enrich run against the Generect database (sub-second, free counts) or a live LinkedIn lookup (5 to 60 seconds, billed counts, every filter). Tools take mode:

  • auto (default) tries the database first and escalates only if the API says a filter you passed is not supported there. The escalation is reported and is refused above the spend ceiling.
  • database never escalates: an unsupported filter is an error, not a bigger bill.
  • realtime goes live directly. Counting live costs money, so count_* run it only when asked for explicitly.

Filter vocabularies

company_industries and seniorities accept unknown values silently and return zero results, which reads like "this audience does not exist". The server therefore checks values before sending anything: unknown industries, headcount buckets and company types are refused locally with the closest valid names, and mis-cased values are corrected. allow_unlisted_values: true overrides the check.

The full vocabularies are exposed as resources:

generect://vocabulary/industriesgenerect://vocabulary/senioritiesgenerect://vocabulary/functions         (realtime only)generect://vocabulary/company-typesgenerect://vocabulary/headcountsgenerect://vocabulary/follower-ranges   (realtime only)generect://account/pricing              your per-operation pricesgenerect://account/balance              balance and month-to-date usage

Prompts

Workflow prompts appear as slash commands in clients that support them: size_an_audience, build_prospect_list, enrich_my_list and spend_report. Each one starts from the free step.

Spend ceiling

A row cap bounds results, not money. Any call whose worst case exceeds MCP_MAX_SPEND_PER_CALL (default $5) is refused with the exact figure and must be repeated with confirm_spend_usd set to at least that amount. start_bulk_job is checked before it submits, because a bulk job reserves its whole cost up front.

Agent skill

Tools let an agent call Generect; the skill teaches it the procedure above.

bash
npx skills add generect/generect_mcp --skill generect-lead-workflows

See skills/README.md.

More

If Generect saves you time, a star on this repository helps other people find it.

License

MIT

Source: README.md at commit e6e5a5f

Tools

21

count_leads

Count matching leads (free)

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.

Parametersmodestrictkeywordspersonasfunctionsjob_titlelocationscompany_idjob_titlestimeout_msexclude_idsseniorities+24 more

count_companies

Count matching companies (free)

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.

Parametersmodekeywordslocationsheadcountsindustriestimeout_msexclude_idstechnologiescompany_namescompany_typesrevenues_rangesub_industries+11 more

get_balance

Balance, usage and your prices (free)

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.

Parameterstimeout_msinclude_usageinclude_pricesinclude_transactionsinclude_token_analytics

health

Server and credential health (free)

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.

Parameterstimeout_mscheck_credential

preview_leads

Preview leads (cheapest paid look)

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 `id`, so the usual flow is: preview many, pick the few that fit, then enrich_lead or generate_email only on those. By the API contract preview rows are masked (no LinkedIn URL, domain, email or phone); an account that gets more than that cannot rely on it.

Parameterslimitstrictcompactkeywordslimit_bypersonasfunctionsjob_titlelocationsoffset_bycompany_idcount_only+29 more

search_leads

Search leads (free thin rows, full rows billed)

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.

Parametersmodelimitdetailoffsetstrictcompactkeywordslimit_bypersonasfunctionsjob_titlelocations+31 more

search_companies

Search companies (free thin rows, full rows billed)

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.

Parametersmodelimitdetailoffsetcompactkeywordslimit_bylocationsoffset_byheadcountsindustriestimeout_ms+18 more

resolve_profile

Resolve an anonymous LinkedIn link

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 (`linkedin.com/in/ACwAA…`), plus Sales Navigator lead URLs, bare profile ids and urns, and returns the real profile URL and identity. `profiles` (up to 50) resolves a batch in one call. The `id` it returns is the identifier enrich_lead, generate_email and find_phone accept, so this is the cheap first step before a full record. Returns identity only (no location, company or work history; enrich_lead has those). The numeric member id is not accepted as input (LinkedIn answers 403 to it); it comes back as `linkedin_id`.

Parametersidurlcompactprofilestimeout_ms

enrich_lead

Enrich one lead

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 `id` from a search or preview result is the most accurate identifier. start_bulk_job handles many people at once.

Parametersidmodeemailcompacttimeout_mslinkedin_url

enrich_company

Enrich one company

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.

Parametersidmodenamedomaincompacttimeout_mslinkedin_url

get_lead_by_url

Enrich a lead by LinkedIn URL (alias)

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.

Parametersurlrequiredmodepostscompactcommentstimeout_msinexact_companypeople_also_viewed

generate_email

Find a verified work email

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. `candidates` resolves several people in one call; more than 10 go to an async bulk job instead, which returns a job_id for get_bulk_job.

Parametersdomainlead_idlast_namecandidatesfirst_nametimeout_msmiddle_namelinkedin_url

validate_email

Validate email deliverability

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.

Parametersemailsrequiredtimeout_ms

find_phone

Find a phone number (most expensive)

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.

Parametersdomaincompanylead_idlast_namefirst_nametimeout_mslinkedin_url

start_bulk_job

Submit a bulk job

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.

Parametersmodeitemsrequiredjob_typerequiredtimeout_msconfirm_spend_usd

get_bulk_job

Poll a bulk job (free)

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.

Parametersjob_idrequiredjob_typerequiredtimeout_ms

list_webhooks

List webhooks (free)

List the webhook endpoints registered for bulk-job completion events. Free: this call never spends credits.

Parameterstimeout_ms

create_webhook

Create a webhook (free)

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.

Parametersurlrequiredeventsrequiredsecrettimeout_ms

update_webhook

Update a webhook (free)

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.

Parametersidrequiredurleventssecrettimeout_ms

delete_webhook

Delete a webhook (free)

Delete a registered webhook; its endpoint stops receiving completion events. Free: this call never spends credits.

Parametersidrequiredtimeout_ms

test_webhook

Send a test webhook event (free)

Send a test event to a registered webhook endpoint. Free: this call never spends credits.

Parametersidrequiredtimeout_ms

Version history

9
  1. v0.13.1LatestNov 3, 2026
  2. v0.13.0Oct 23, 2026
  3. v0.12.3Oct 19, 2026
  4. v0.12.2Oct 16, 2026
  5. v0.12.1Oct 7, 2026
  6. v0.11.0Oct 7, 2026
  7. v0.10.1Oct 6, 2026
  8. v0.9.0Sep 23, 2026
  9. v0.1.2Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts