MCP Server
Connect Evaboot to Grok, Grok Bot, Claude, ChatGPT, ChatGPT Dots, Gemini, Cursor, or any MCP-compatible client. Your assistant can then build Sales Navigator searches, launch exports, and find or validate emails on your behalf.
Nothing to install — the server is hosted.
Server URL: https://mcp.evaboot.com/mcp
Which connection method do I use?
| Method | Use it for | How you sign in |
|---|---|---|
| Browser sign-in (OAuth) | grok.com, Grok Bot, claude.ai, Claude Desktop, Claude Duet, ChatGPT, ChatGPT Dots, Manus, Gemini | Click through an Evaboot login + consent screen. No API key needed. |
| API key | Claude Code, Grok Build, Codex, Hermes, Cursor, VS Code, scripts | Paste your Evaboot API key into a config file. |
Web chat UIs (grok.com, claude.ai, ChatGPT, Gemini) can't send custom headers, so they use OAuth. Config-file clients can use either, but the API key is simpler.
Both methods give access to the same tools and draw on the same credit balance.
API key clients
Clients that read a config file or run in a terminal (Claude Code, Grok Build, Codex, Hermes, Cursor, VS Code) use your API key.
Find your key in the Evaboot dashboard under Integrations → API. If you don't have one yet, click Refresh to generate it. The same panel lets you rotate or delete a key — both immediately break any integration still using the old value.
Your API key is a long-lived secret with full access to your Evaboot account. Treat it like a password and never commit it to a repository.
Restart the client after editing any config file.
Connect your assistant
Grouped by company, in the same order as the MCP page of the Evaboot dashboard.
Anthropic
Claude Code
Code
Then run /mcp inside Claude Code to confirm Evaboot is connected.
You can also omit --header and let Claude Code run the OAuth flow instead:
Code
Claude Duet
Claude Duet, Anthropic's always-on agent, uses the connectors of your Claude account. Add Evaboot as described for Claude below, and Duet can use it.
Claude (web and desktop)
Remote connectors are attached to your Claude account, so adding it once covers web, desktop, and Claude Duet.
- In Claude, go to Customize → Connectors.
- Click +, then Add custom connector.
- Enter the URL
https://mcp.evaboot.com/mcpand click Add. - Click Connect. A browser window opens on Evaboot.
- Sign in to your Evaboot account if you aren't already.
- On the Authorize screen, confirm access and click Authorize.
Claude returns to the connector list showing Evaboot as connected. Leave the Advanced/OAuth credential fields empty — the server registers Claude automatically.
Free Claude plans allow one custom connector; paid plans allow several. On Team/Enterprise an owner adds the connector in Organization settings → Connectors and members then click Connect.
xAI
Grok Build
Code
Then run grok mcp list to confirm Evaboot is listed. Grok Build users can
also install the Evaboot plugin, which adds the server plus four outreach
skills: grok plugin install https://github.com/evaboot-labs/evaboot-grok-plugin.git.
Grok Bot (desktop app)
Grok Bot shares connectors with your Grok account. If you already added Evaboot on grok.com, it is already in Grok Bot. Otherwise:
- Open this link with Grok Bot installed:
grokbot://app/v1/prompt?text=Add%20a%20custom%20MCP%20server%20called%20evaboot%20at%20https%3A%2F%2Fmcp.evaboot.com%2Fmcp. Grok Bot opens with the request ready in the message box. You can also type it yourself: "Add a custom MCP server called evaboot at https://mcp.evaboot.com/mcp". - Send it. When Grok Bot asks, confirm the server and click Authorize.
- Complete the Evaboot sign-in and consent screen.
Grok (grok.com)
Works on the free plan. Connectors are attached to your Grok account, so the Grok Bot desktop app gets Evaboot too.
- Open Plugins on grok.com.
- Click New Connector, then Custom.
- Name it
Evaboot, enterhttps://mcp.evaboot.com/mcpand click Add Connector. Leave custom headers empty. The server registers Grok automatically. - Complete the Evaboot sign-in and consent screen. Grok shows Connected.
- Ask Grok in plain words, for example "Using Evaboot, check my export quota".
OpenAI
Codex
Code
ChatGPT Dots
Dots, OpenAI's always-on agents, use the same plugins as ChatGPT. Add Evaboot as described for ChatGPT below, then open your dot and give it the Evaboot plugin.
ChatGPT
Custom connectors require developer mode, available on Pro, Plus, Business, Enterprise and Education plans, on the web.
- Go to Settings → Apps → Advanced settings and turn on Developer mode.
- In the Connectors panel, click Add custom connector.
- Enter
https://mcp.evaboot.com/mcp. Leave authentication as OAuth. - Complete the Evaboot sign-in and consent screen.
- The connector appears under Drafts, then in the composer's Developer Mode tool picker — enable Evaboot for the conversation you want to use it in.
On Business/Enterprise workspaces an admin may first need to allow developer mode under Workspace Settings → Permissions & Roles → Connected Data.
If the server's tools change later, hit Refresh on the connector's settings page.
More
Manus
- In Manus, go to Settings → Connectors.
- Click Add connectors, then Custom MCP, then Direct configuration.
- Enter
https://mcp.evaboot.com/mcp. Leave authentication empty. - Complete the Evaboot sign-in and consent screen.
- Enable Evaboot in the task you want to use it in.
Gemini
The Gemini app takes custom MCP servers as custom apps. For now this needs a personal Google account, in English, with Keep Activity on, and it is available in the US. A work or school account cannot add one. Once connected, the app is available on the web and in the mobile app.
- Open Connected Apps.
- Under Custom apps, add a custom app.
- Enter
https://mcp.evaboot.com/mcp. Leave advanced credentials empty. The server registers itself. - Complete the Evaboot sign-in and consent screen.
- In a chat, type
@and choose Evaboot.
Hermes
Add this under mcp_servers in ~/.hermes/config.yaml:
Code
Cursor
Create .cursor/mcp.json in your project:
Code
VS Code (Copilot)
Create .vscode/mcp.json:
Code
Available tools
Every tool the hosted server exposes is listed below. Your client also shows each tool's full description in its tool list.
Search building
| Tool | What it does | Credits |
|---|---|---|
build_sn_search_from_prompt | Turns a natural-language audience into a validated Sales Navigator URL using Evaboot's search agent. Resolves industries, titles and company names against LinkedIn's real filter catalog. | Free |
get_account_based_search_job | Polls an account-based lead search started by build_sn_search_from_prompt. | Free |
cancel_sales_nav_job | Stops an account-based search, a list-from-search run, or a split. Lists already saved are kept. A running job is flagged and stops before its next list write, so keep polling until it ends. Does not stop an export or an email job. | Free |
build_sn_search_from_prompt may run an account-based lead search (company-first: it builds
the company set first, then filters leads by it), which takes several minutes
and creates account lists in your own LinkedIn account. Poll
get_account_based_search_job for progress.
Exporting a list category
Ask, for example: “Export my Recently Accepted Connections list, but only people
who changed jobs in the past 90 days.” The assistant looks up the list by name
and exports it with list_category="changed_jobs". If names are ambiguous,
it asks which list you mean.
changed_jobs selects leads who changed jobs in the past 90 days.
posted_on_linkedin selects leads who posted on LinkedIn in the past 30 days.
Both categories are supported on lead lists. all selects a whole lead or account
list. Omit list_category to keep a supported filter already present in the URL.
Other category tabs are not yet supported. Unknown filters or conflicts between
the URL and category are rejected before an export starts; the assistant must
not retry by dropping the filter. A connected Sales Navigator account is required.
Extracting leads
| Tool | What it does | Credits |
|---|---|---|
export_sn_search_or_list | Starts an export from a Sales Navigator search or list URL. Asynchronous — returns an extraction_id. max_results keeps only the first N results LinkedIn serves; quota is checked against N. | 1 per lead, email included |
export_profile_list | Bulk export from a list of profile URLs or ids (1–2500). Asynchronous. | 1 per lead, email included |
export_profile | Extracts one profile and returns it immediately. | 1, email included |
get_export | Fetches an export's status, progress, and results. | Free |
get_export_list | Lists your exports, newest first. | Free |
Every export finds a verified email for each lead where one exists. The
enrich_email argument is still accepted but ignored. An export that already
finished cannot be enriched afterwards.
Recurring exports
| Tool | What it does | Credits |
|---|---|---|
create_recurring_export | Repeats a Sales Navigator search daily, weekly or monthly, from an existing export or a search URL. A URL that already has a saved search id is not saved again. The first run is one interval later and includes only new leads. A second call for the same search updates the cadence. | 1 per lead, each run |
list_recurring_exports | Lists your recurring exports, paused ones included. | Free |
get_recurring_export | Fetches one recurring export. | Free |
update_recurring_export | Renames, changes the cadence, or pauses and resumes a recurring export. | Free |
delete_recurring_export | Stops a recurring export permanently. Exports already produced stay. | Free |
Each run uses your connected Sales Navigator account and counts against daily quota. A run with no credits or no connected account is skipped, and the next date still moves forward.
Lead lists
These tools act on the lists in your own Sales Navigator account.
| Tool | What it does | Credits |
|---|---|---|
list_lead_lists | Lists your lead lists. | Free |
create_lead_list | Creates an empty lead list. | Free |
add_leads_to_list | Adds up to 999 leads to an existing list. | Free |
create_lead_list_from_ids | Creates lead lists from profile ids, splitting at 999 per list. | Free |
create_lead_list_from_search | Runs a lead search and saves every result into a new list. Asynchronous. | Free |
split_lead_search | Splits a lead search of more than 2,500 people into list-backed slices you can export one by one. Asynchronous. | Free |
delete_lead_list | Deletes a lead list. | Free |
Account lists
| Tool | What it does | Credits |
|---|---|---|
list_account_lists | Lists your company lists. | Free |
create_account_list | Creates an empty company list. | Free |
add_accounts_to_list | Adds up to 999 companies to an existing list. | Free |
create_account_list_from_ids | Creates a company list from company ids. | Free |
create_account_list_from_search | Runs a company search and saves every result into a new list. Asynchronous. | Free |
split_account_search | Splits a company search of more than 1,000 companies into list-backed slices. Asynchronous. | Free |
delete_account_list | Deletes a company list. | Free |
| Tool | What it does | Credits |
|---|---|---|
get_list_from_search_status | Polls a list-from-search or split run. | Free |
Stop one with cancel_sales_nav_job.
Saved searches
| Tool | What it does | Credits |
|---|---|---|
list_saved_searches | Lists your saved lead or company searches. | Free |
save_search | Saves a Sales Navigator search on your seat. | Free |
delete_saved_search | Deletes a saved search. | Free |
Alerts
| Tool | What it does | Credits |
|---|---|---|
read_alerts | Reads your Sales Navigator alerts: job changes, posts, funding rounds. | Free |
Integrations
| Tool | What it does | Credits |
|---|---|---|
list_integrations | Lists the CRM and webhook destinations connected to your account. No secrets are returned. | Free |
connect_integration | Connects Clay, Make, Zapier, n8n or a custom webhook from its https URL, or starts a HubSpot connection. auto chooses between pushing every finished export and pushing only on request. | Free |
push_export | Sends one finished export to one connected destination. | Free |
test_integration | Sends a sample payload to a webhook destination. | Free |
For HubSpot, where it is enabled on your account, the first call returns a
link to approve access. Call connect_integration again after approving. It
returns the destination, or a mapping page link when a field still has to be
chosen.
Finding emails
| Tool | What it does | Credits |
|---|---|---|
find_email_single | Finds one email from a name + company. Immediate. | 1 |
find_emails | Bulk email-finder job. Asynchronous. | 1 per email found |
get_email_finder_job | Fetches a job's status and results. | Free |
list_email_finder_jobs | Lists your email-finder jobs. | Free |
Verifying emails
| Tool | What it does | Credits |
|---|---|---|
verify_email_single | Verifies one address. Immediate. | 1 |
verify_email | Bulk verification job. Asynchronous. | 1 per email checked |
get_email_verification_job | Fetches a job's status and results. | Free |
list_email_verification_jobs | Lists your verification jobs. | Free |
Account
| Tool | What it does | Credits |
|---|---|---|
get_daily_export_quota | Your remaining daily export quota and credit balance. | Free |
verify_token | Checks that the configured API key is valid. | Free |
Costs and limits
- Exports and email lookups consume credits from your Evaboot balance. For exports the credits are checked when you launch and charged when the export completes, based on the number of leads actually found.
- Exports also consume daily quota, tied to your connected Sales Navigator
seat. Call
get_daily_export_quotabefore a large run. - If you have no connected Sales Navigator account your quota is 0. Sign in to this same Evaboot account in Chrome, open a Sales Navigator search with the Evaboot extension installed, and click Export with Evaboot. Opening the Launch export page writes the cookies. The user does not have to click Launch export. Installing the extension or opening Sales Navigator does not, by itself.
Example
"Find marketing directors at French SaaS companies with 50–200 employees, then export the first 50 with emails."
The assistant calls build_sn_search_from_prompt to produce the search URL, then
export_sn_search_or_list, then polls get_export until the results, emails
included, are ready.
Troubleshooting
Connection fails, or the client reports 401.
On the API-key path, check the header is exactly
Authorization: Bearer <key> and the key is current. On the OAuth path,
disconnect and reconnect to redo the consent flow.
Tools return "insufficient credits" (402).
Check your balance with get_daily_export_quota or in the Evaboot dashboard.
Tools return a quota error (429).
You've hit your daily export limit for the Sales Navigator seat, or
build_sn_search_from_prompt's daily cap. Wait for the daily reset: an
export quota error names the time it frees up, in UTC. If the
message starts with No connected LinkedIn account, the seat is not connected:
see the 409 entry below.
get_export says the value "is not an export id".
The earlier export launch failed, so no export exists to poll. Read that
launch's error. push_export and create_recurring_export check the id the
same way.
A tool answers "search_sn_leads was removed" (or search_sn_accounts).
Your client cached an old tool list. Refresh it. A built search's size is the
result_count that build_sn_search_from_prompt returns, and a pasted Sales
Navigator URL goes straight to export_sn_search_or_list.
Quota shows 0, or a tool returns 409.
The LinkedIn cookies are missing or no longer accepted. Evaboot cannot refresh
them. Sign in to this same Evaboot account in Chrome, open a Sales Navigator
search with the Evaboot extension installed, and click Export with Evaboot.
Opening the Launch export page writes the cookies. The user does not have to
click Launch export. Installing the extension or opening Sales Navigator does
not, by itself. Then retry. If the extension cannot refresh the session, copy
li_a and li_at from Chrome DevTools into Settings in the Evaboot app.
Never paste them into the assistant.
Steps: https://help.evaboot.com/public/bug-fixing/how-to-reconnect-your-linkedin-account/
The client shows no tools after connecting. Refresh the connector's tool list (ChatGPT has an explicit Refresh button), or remove and re-add the server.

