# Exa ID: 01-exa Page: https://gtmmcps.com/tools/01-exa JSON: https://gtmmcps.com/data/tools/01-exa.json Documentation references: https://gtmmcps.com/docs/01-exa/ Category: Data & Enrichment MCP support: official Testing: BENCH-TESTED API access: free Last checked: 2026-09-03 Endpoint check: repo-local; date: 2026-09-04 A search API that returns web pages and structured results ranked by semantic/meaning similarity to a query (embeddings-based) rather than keyword matching, plus tools to fetch page contents and get LLM-generated answers with citations; used in GTM stacks (e.g., Clay) as a research layer to pull live company and person info off the open web. ## MCP links - https://github.com/exa-labs/exa-mcp-server - https://mcp.exa.ai/mcp ## Sources - https://github.com/exa-labs/exa-mcp-server - https://exa.ai/mcp - https://exa.ai/pricing - https://exa.ai/docs/reference/pricing ## Research notes New accounts get $20 in free credits (~2,800 searches); free tier also adds $10/month in credits ongoing, then pay-as-you-go - no sales contact required for API access. Pricing is per-endpoint (roughly $7/1k requests for search, ~$1/1k pages for full content, ~$5/1k for the Answer endpoint). Unlike the other tools in this category, Exa has no phone/email verification or contact-database feature - it's general web search/research repurposed for GTM enrichment. BENCH TEST 2026-09-03, the first in this directory, at $0 with no credential and no account, harness directory/bench_exa.py, full log directory/BENCH_2026-09-03.md, wire log directory/bench_history.jsonl record exa-2026-09-03. THE EXACT CALLS - POST https://mcp.exa.ai/mcp initialize (protocolVersion 2025-06-18) returned HTTP 200 in 92 ms with serverInfo exa-search-server 3.2.1 and a session id; tools/list returned HTTP 200 and exactly two tools, web_search_exa and web_fetch_exa (the GitHub repo named first in mcp_url is a locally installed server and a different surface, not run here); tools/call web_search_exa {"query":"category:people ()","numResults":5} was run once for each of three VENDOR founders. WHAT CAME BACK - Kareem Amin at Clay HTTP 200 in 1139 ms, 11009 chars, result 1 https://www.linkedin.com/in/kareemamin; Amit Bendov at Gong HTTP 200 in 1330 ms, 11457 chars, result 1 https://www.linkedin.com/in/amitbendov; Manny Medina at Outreach HTTP 200 in 1301 ms, 17396 chars, result 1 https://www.linkedin.com/in/medinism. 3 of 3 correct in position 1, judged by the role-and-company line carried in the same payload, which is a self-consistency check and not an independent one; three calls is a sample of three, not a hit rate. The call-prep chain also ran end to end - web_search_exa returned 35014 chars on a vendor account query and web_fetch_exa on https://www.clay.com/pricing returned HTTP 200 in 124 ms with 1568 chars of markdown. linkedin.com was never fetched; the only page fetches went to vendor domains. FAILURE MODES MEASURED - there is no null result: an invented person at an invented company returned HTTP 200 and a confident, unrelated LinkedIn profile, and a re-run returned a DIFFERENT wrong profile, so a caller must verify the returned profile's company against the input itself; results 2 to 5 were unrelated people on all three subjects, so only result 1 is usable; the default Python urllib user agent is rejected at the edge with HTTP 403 Cloudflare 1010 browser_signature_banned before any MCP traffic, a failure that looks nothing like an auth failure; an unknown tool name returns HTTP 200 with isError true and "MCP error -32602: Tool ... not found" in the body; a 2-URL batch fetch returns partial success inside one HTTP 200, with the failed URL's error as an inline string (CRAWL_LIVECRAWL_TIMEOUT); maxCharacters 1500 returned 1568 chars, so the cap is a target and not a truncation. Net: HTTP status cannot be used to detect failure on this server. This bench licenses nothing about any other entry and no Leaderboard score, and it is a snapshot of 2026-09-03 - the keyless endpoint is what answered that day, not a promise it stays keyless. ## Named capabilities Tool names below are reported by sources. Their presence is not a successful call. - agent_run: Start or resume an Exa Agent run; runs may take several minutes. Retain the returned run ID and resume with runId when the tool reports the run is still running. An interrupted tool call is not an explicit cancellation request.; evidence: source; party: first-party - company_research_exa: [Deprecated: Use web_search_advanced_exa instead] Research any company to get business information, news, and insights. Best for: Learning about a company; evidence: source; party: first-party - deep_researcher_check: [Deprecated] Check status and get results from a deep research task. Best for: Getting the research report after calling deep_researcher_start. Returns: Research report when complete, or status update if still running. Important: Keep call; evidence: source; party: first-party - deep_researcher_start: [Deprecated] Start an AI research agent that searches, reads, and writes a detailed report. Takes 15 seconds to 2 minutes. Best for: Complex research questions needing deep analysis and synthesis. Returns: Research ID - use deep_researcher; evidence: source; party: first-party - deep_search_exa: [Deprecated: Use web_search_advanced_exa instead] Deep search with automatic query expansion for thorough research. Generates multiple search variations to find results from multiple angles, then synthesizes a short answer with citations.; evidence: source; party: first-party - get_code_context_exa: Find code examples, documentation, and programming solutions. Best for: Any programming question - API usage, library examples, code snippets, debugging help. Returns: Relevant code and documentation. Query tips: describe what you; evidence: source; party: first-party - linkedin_search_exa: ⚠️ DEPRECATED: This tool is deprecated. Please use; evidence: source; party: first-party - people_search_exa: [Deprecated: Use web_search_advanced_exa instead] Find people and their professional profiles. Best for: Finding professionals, executives, or anyone with a public profile. Returns: Profile information and links.; evidence: source; party: first-party - web_fetch_exa: Read a webpage's full content as clean markdown. Use after web_search_exa when highlights are insufficient or to read any URL. Best for: Extracting full content from known URLs. Batch multiple URLs in one call. Returns: Clean text content; evidence: live-list; party: - web_search_advanced_exa: Advanced web search with full control over filters, domains, dates, and content options. Best for: When you need specific filters like date ranges, domain restrictions, or category filters. Not recommended for: Simple searches - use web_se; evidence: source; party: first-party - web_search_exa: Search the web for any topic and get clean, ready-to-use content. Best for: Finding current information, news, facts, people, companies, or answering questions about any topic. Returns: Clean text content from top search result; evidence: live-list; party: ## CLI evidence Status: community - Reported install command: pip install exa-cli; source: https://pypi.org/project/exa-cli/ Read current vendor documentation before configuring or running commands.