Exa MCP server: connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa’s web search, page fetching, Exa Agent, and Exa Connect tools.
Use Exa MCP to improve the built-in web search in ChatGPT, Claude, and MCP-compatible tools with Exa’s search capabilities, including web search, code search, Exa Agent, and Exa Connect.Exa offers a hosted server that works in any MCP client:
https://mcp.exa.ai/mcp
No API key is needed to try search and fetch, at a free rate limit. Sign in or add an API key to use Exa Agent. Agents: see exa.ai/auth.md for every way to get access. Exa MCP is open source and available on GitHub.
Exa is an official plugin in OpenAI’s plugin directory, which includes the hosted MCP server plus Exa’s search and exa-agent skills.
1
Open the plugin
Go to chatgpt.com/plugins/exa. It opens Exa in OpenAI’s plugin directory, which is the same directory for ChatGPT and for Codex.
2
Install it
Select the plus button to install. Sign in to Exa when prompted, either during install or the first time Codex or ChatGPT uses it.
Opening Plugins in Codex, adding Exa, and authorizing access
3
Start a new session
Skills load in chats and CLI sessions started after the install, so open a fresh one and ask for something that needs the web.
That’s it. The plugin includes both Exa’s MCP integration and skills, so there’s no separate MCP or skill setup required.See Exa in Codex and ChatGPT for the full setup and workflow guide.
ChatGPT, Claude, and other marketplace installs prompt you to sign in when needed. In any client that supports MCP OAuth, you can request the same flow by connecting to:
https://mcp.exa.ai/mcp?login
Your client discovers Exa’s authorization server, opens the browser sign-in, and manages access.
Use Exa Agent for research that takes more than one search—for example, building a list, checking each item against criteria, or returning structured results.Agent runs are usage-based, so agent_run requires OAuth or an API key. Once authenticated, it is enabled by default alongside the search tools, with no tools parameter needed. This URL starts OAuth:
https://mcp.exa.ai/mcp?login
If you use an API key, omit login and add the key as described in Authentication. If you set an explicit tools list, include agent_run in it.
1
Describe what you need
Ask for the research in plain language. Your assistant passes the request to agent_run with a query, and Exa Agent works out what to search, reads the sources, and checks what it finds against the request.Ask your Agent to provide an outputSchema only when your application needs the findings in a consistent JSON format. You can share one with your assistant in the system prompt, or have it generate one for you.
2
Get the result
When the research completes, the tool call hands your assistant the full research package:
The written findings
The sources behind them
Validated JSON if you provided outputSchema
Usage and cost
Your assistant writes its reply from this package, so tell it what you want done with the output. You can ask it to summarize the findings, compare them, save them to a file, or anything else.
3
Continue if it needs more time
Research that outlasts a single MCP call doesn’t fail: the tool reports status: "running" with an id while the run continues on Exa. Your assistant calls agent_run again with that id as runId to pick the same run back up.
Optional controls
Field
Use it to
systemPrompt
Give Agent extra guidance for researching or judging results
Use web_search_advanced_exa when the request needs explicit category or domain filters, date ranges, text constraints, geo-targeting, query expansion, summaries, highlights, freshness control, or subpage crawling. For ordinary searches, keep web_search_exa; it gives the model a smaller tool surface and requires less configuration.Advanced Search does not require authentication, although authenticated connections use your own plan and rate limits. Enable it alongside the default tools with:
The MCP tool presents common Search API controls as tool-friendly fields such as includeDomains, startPublishedDate, enableHighlights, and maxAgeHours. Read the tool schema in your client for the exact field names.
The connection is using Exa’s free rate limits. Sign in with OAuth or add your own API key, then reconnect so requests use your team’s plan and limits.
Get your Exa API key
Create a key in the dashboard. New accounts start with free credits.
Agent is missing or asks for authentication
agent_run cannot use the free rate limits, so it only appears once you connect with ?login or configure an API key. If you set an explicit tools list, make sure it includes agent_run. See Exa Agent.
Forbidden error (403) without an API key
Keyless access requires an IPv4 connection made directly to https://mcp.exa.ai/mcp. From IPv6 or a proxied network path, sign in with OAuth or add an API key.
Get your Exa API key
Create a key in the dashboard. New accounts start with free credits.
OAuth sign-in does not open
Confirm that your client supports MCP OAuth and connect to https://mcp.exa.ai/mcp?login. Restart the client after changing the URL. If the client cannot complete MCP OAuth, use an API key instead.
Tools not appearing
An explicit tools parameter replaces the default tool list. Check that every tool you want is present in the URL, then restart your MCP client so it fetches the tool list again.
Claude desktop not connecting
Use the built-in connector: select + (or Add connectors) → Connectors tab → search for Exa → select +.
Config file not found
Common config locations:
Cursor: ~/.cursor/mcp.json
fx: ~/.fx/mcp.json
VS Code: .vscode/mcp.json (in project root)
Claude desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
Claude desktop (Windows): %APPDATA%\Claude\claude_desktop_config.json
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Exa","description":"A powerful web search tool designed for agents. Everything optimized to get you token-efficient, accurate results.","colors":{"primary":"#1840ED","light":"#5F7CFF","dark":"#2751F6"},"logo":{"light":"https://mintcdn.com/exa-52/rjfwhV9stZF3dXkq/logo/light.svg?fit=max\u0026auto=format\u0026n=rjfwhV9stZF3dXkq\u0026q=85\u0026s=23f6eeaafae25b4c8b6efb60ddc68e0c","dark":"https://mintcdn.com/exa-52/rjfwhV9stZF3dXkq/logo/dark.svg?fit=max\u0026auto=format\u0026n=rjfwhV9stZF3dXkq\u0026q=85\u0026s=977afb715a77c49036c8991b22bb82c7","href":"https://exa.ai/docs/search/quickstart"},"favicon":"https://mintcdn.com/exa-52/rjfwhV9stZF3dXkq/images/favicon-32x32.png?fit=max\u0026auto=format\u0026n=rjfwhV9stZF3dXkq\u0026q=85\u0026s=469bcaa3f02ba2672ac0dca63321dcb0","api":{"playground":{"display":"none","proxy":false},"examples":{"languages":["bash","python","javascript"]}},"navbar":{"links":[{"href":"https://exa.ai/blog","label":"Blog"}],"primary":{"type":"button","label":"API Dashboard","href":"https://dashboard.exa.ai/login?redirect=/\u0026utm_source=docs\u0026utm_medium=docs\u0026utm_campaign=navbar"}},"footer":{"socials":{"x":"https://twitter.com/exaailabs","linkedin":"https://www.linkedin.com/company/exa-ai"},"links":[{"items":[{"label":"llms.txt for AI agents","href":"https://exa.ai/docs/llms.txt"}]}]},"seo":{"metatags":{"canonical":"https://exa.ai/docs","og:type":"website","og:site_name":"Exa Docs"},"organization":{"id":"https://exa.ai/#organization","name":"Exa","legalName":"Exa Labs Inc.","url":"https://exa.ai","logo":"https://exa.imgix.net/logo_cream.png","sameAs":["https://x.com/exaailabs","https://www.linkedin.com/company/exa-ai/","https://github.com/exa-labs"]},"indexing":"navigable"},"fonts":{"heading":{"family":"ABCDiatype","weight":700,"source":"https://exa.ai/fonts/ABCDiatype-Bold.woff2","format":"woff2"}},"icons":{"library":"lucide"},"integrations":{"posthog":{"apiKey":"phc_ebUSDbDOBtuw7SuEOBFtu315tugMMml4W8zoT4DNMC4","apiHost":"https://kataposi.exa.ai","sessionRecording":false}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This URL does not exist. The index of every docs page is at [https://exa.ai/docs/llms.txt](https://exa.ai/docs/llms.txt) and the full documentation in one file is at [https://exa.ai/docs/llms-full.txt](https://exa.ai/docs/llms-full.txt). Append `.md` to any docs URL to get the page as Markdown."}},"contextual":{"options":["copy","view"],"display":"header"},"metadata":{"timestamp":true},"markdown":{"instructions":["The Exa API is served at https://api.exa.ai. Authenticate with `Authorization: Bearer $EXA_API_KEY` (or `x-api-key: $EXA_API_KEY`); create keys at https://dashboard.exa.ai/api-keys?utm_source=docs\u0026utm_medium=docs\u0026utm_campaign=markdown_instructions. Every way an agent can get access to Exa is described at https://exa.ai/auth.md.","Prefer the official SDKs, `exa-py` (`pip install exa-py`) and `exa-js` (`npm install exa-js`); both read `EXA_API_KEY` from the environment.","Tool-using agents can call Exa without writing code through the hosted MCP server at https://mcp.exa.ai/mcp, or install the Exa agent skill with `npx skills add exa-labs/agent-skills` (skill file: https://exa.ai/docs/skill.md).","The OpenAPI specs at https://exa.ai/docs/exa-spec.yaml and https://exa.ai/docs/team-management-spec.yaml are the source of truth for request and response schemas."]},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"exa-52","hasAudioNarration":false,"actualSubdomain":"exa-52","customDomains":["exa.ai"],"gitSource":{"type":"github","owner":"exa-labs","repo":"monorepo","deployBranch":"master","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3e2a4486495e4600398d5","collectionId":"015f71fd-3fdc-45a4-b1f8-872bf30d926e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3e2a4486495e4600398d5"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3f2aa527d9f0efcf767c8","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Documentation","count":90},{"language":"default","tag":"API Reference","count":70},{"language":"default","tag":"Websets","count":53},{"language":"default","tag":"Integrations","count":34},{"language":"default","tag":"Agent","count":23},{"language":"default","tag":"More Integrations","count":19},{"language":"default","tag":"Monitors","count":16},{"language":"default","tag":"Search","count":15},{"language":"default","tag":"Exa Connect","count":12},{"language":"default","tag":"Admin","count":11}],"searchSettings":{"isFiltersEnabled":false}},"assistantConfig":{"enableStarterQuestions":true,"deflection":{"enabled":true,"email":"support@exa.ai"}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"6a60bd421505e66056cf352c","deploymentId":"67291fdb7046dbbc2a01ac40","questionText":"Help me set up the Exa MCP","status":"active","generatedBy":"manual","createdAt":"2026-07-22T12:53:22.594Z","updatedAt":"2026-07-22T12:53:35.820Z","__v":0},{"_id":"6a60bd341505e66056cf34c2","deploymentId":"67291fdb7046dbbc2a01ac40","questionText":"How do i get started with Exa Search?","status":"active","generatedBy":"manual","createdAt":"2026-07-22T12:53:08.806Z","updatedAt":"2026-07-22T12:53:08.806Z","__v":0},{"_id":"6a60bd2b1505e66056cf34b5","deploymentId":"67291fdb7046dbbc2a01ac40","questionText":"What is Exa Agent?","status":"active","generatedBy":"manual","createdAt":"2026-07-22T12:52:59.506Z","updatedAt":"2026-07-22T12:52:59.506Z","__v":0}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","href":"/docs/_mintlify/custom/exa-52/43433917928a2ade/styles.css"},{"filePath":"styles/code-snippet.css","content":""},{"filePath":"tokens.css","content":":root{--color-white:#ffffff;--color-black:#000000;--color-cream:#faf9f7;--color-cream-dark:#f0ece8;--color-exa-gray-100:#f8f8f9;--color-exa-gray-200:#f3f3f4;--color-exa-gray-300:#e6e6e8;--color-exa-gray-400:#d4d4d8;--color-exa-gray-500:#aaaab2;--color-exa-gray-600:#85858e;--color-exa-gray-700:#62626c;--color-exa-gray-800:#4f4f57;--color-exa-gray-900:#3f3f46;--color-exa-gray-1000:#0b0b0d;--color-exa-blue-100:#f7f8fc;--color-exa-blue-200:#eef2fa;--color-exa-blue-300:#dce5f7;--color-exa-blue-400:#c4d1ed;--color-exa-blue-500:#96b0eb;--color-exa-blue-600:#6089f2;--color-exa-blue-700:#2751f6;--color-exa-blue-800:#1622ed;--color-exa-blue-900:#1326d2;--color-exa-blue-1000:#0e236f;--color-emerald-100:#effdee;--color-emerald-200:#defcdb;--color-emerald-300:#b6f9b1;--color-emerald-400:#66f463;--color-emerald-500:#51d04f;--color-emerald-600:#38a838;--color-emerald-700:#248424;--color-emerald-800:#1b741c;--color-emerald-900:#156015;--color-emerald-1000:#043004;--color-amber-100:#fff7ec;--color-amber-200:#fef0d8;--color-amber-300:#fee0ae;--color-amber-400:#ffc763;--color-amber-500:#e4a40a;--color-amber-600:#b78306;--color-amber-700:#906604;--color-amber-800:#7e5903;--color-amber-900:#755703;--color-amber-1000:#342302;--color-rose-100:#fef6f5;--color-rose-200:#feedec;--color-rose-300:#fddbd8;--color-rose-400:#fdbfb9;--color-rose-500:#fc8c84;--color-rose-600:#fc333c;--color-rose-700:#ce0c24;--color-rose-800:#b5091e;--color-rose-900:#970918;--color-rose-1000:#4d0509;--color-exa-blue:#1840ed;--color-background-primary:var(--color-white);--color-background-secondary:#fafafa;--color-overlay:rgba(0, 0, 0, 0.35);--color-neutral-subtle:var(--color-exa-gray-100);--color-neutral-subtle-hover:var(--color-exa-gray-200);--color-neutral-subtle-active:var(--color-exa-gray-300);--color-neutral-border:var(--color-exa-gray-300);--color-neutral-border-hover:var(--color-exa-gray-500);--color-neutral-border-active:var(--color-exa-gray-600);--color-neutral-solid:var(--color-exa-gray-700);--color-neutral-solid-hover:var(--color-exa-gray-800);--color-neutral-foreground-secondary:var(--color-exa-gray-900);--color-neutral-foreground-primary:var(--color-exa-gray-1000);--color-neutral-on-solid:var(--color-white);--color-brand-subtle:var(--color-exa-blue-100);--color-brand-subtle-hover:var(--color-exa-blue-200);--color-brand-subtle-active:var(--color-exa-blue-300);--color-brand-border:var(--color-exa-blue-400);--color-brand-border-hover:var(--color-exa-blue-500);--color-brand-border-active:var(--color-exa-blue-600);--color-brand-solid:var(--color-exa-blue-700);--color-brand-solid-hover:var(--color-exa-blue-800);--color-brand-foreground-secondary:var(--color-exa-blue-900);--color-brand-foreground-primary:var(--color-exa-blue-1000);--color-brand-on-solid:var(--color-exa-blue-100);--color-success-subtle:var(--color-emerald-100);--color-success-subtle-hover:var(--color-emerald-200);--color-success-subtle-active:var(--color-emerald-300);--color-success-border:var(--color-emerald-400);--color-success-border-hover:var(--color-emerald-500);--color-success-border-active:var(--color-emerald-600);--color-success-solid:var(--color-emerald-700);--color-success-solid-hover:var(--color-emerald-800);--color-success-foreground-secondary:var(--color-emerald-900);--color-success-foreground-primary:var(--color-emerald-1000);--color-success-on-solid:var(--color-emerald-100);--color-warning-subtle:var(--color-amber-100);--color-warning-subtle-hover:var(--color-amber-200);--color-warning-subtle-active:var(--color-amber-300);--color-warning-border:var(--color-amber-400);--color-warning-border-hover:var(--color-amber-500);--color-warning-border-active:var(--color-amber-600);--color-warning-solid:var(--color-amber-700);--color-warning-solid-hover:var(--color-amber-800);--color-warning-foreground-secondary:var(--color-amber-900);--color-warning-foreground-primary:var(--color-amber-1000);--color-warning-on-solid:var(--color-amber-100);--color-danger-subtle:var(--color-rose-100);--color-danger-subtle-hover:var(--color-rose-200);--color-danger-subtle-active:var(--color-rose-300);--color-danger-border:var(--color-rose-400);--color-danger-border-hover:var(--color-rose-500);--color-danger-border-active:var(--color-rose-600);--color-danger-solid:var(--color-rose-700);--color-danger-solid-hover:var(--color-rose-800);--color-danger-foreground-secondary:var(--color-rose-900);--color-danger-foreground-primary:var(--color-rose-1000);--color-danger-on-solid:var(--color-rose-100)}.dark{--color-exa-gray-100:#111114;--color-exa-gray-200:#1a1a1d;--color-exa-gray-300:#26262a;--color-exa-gray-400:#323237;--color-exa-gray-500:#4a4a50;--color-exa-gray-600:#6e6e76;--color-exa-gray-700:#8b8b93;--color-exa-gray-800:#a1a1a8;--color-exa-gray-900:#bababf;--color-exa-gray-1000:#f5f5f6;--color-exa-blue-100:#030a1f;--color-exa-blue-200:#051336;--color-exa-blue-300:#09205b;--color-exa-blue-400:#0c2e8b;--color-exa-blue-500:#0b3bc2;--color-exa-blue-600:#205bf6;--color-exa-blue-700:#6192fd;--color-exa-blue-800:#7aa4fd;--color-exa-blue-900:#95b7fc;--color-exa-blue-1000:#eaebed;--color-emerald-100:#030f03;--color-emerald-200:#061c06;--color-emerald-300:#0d2f0c;--color-emerald-400:#164615;--color-emerald-500:#1f5f1e;--color-emerald-600:#278427;--color-emerald-700:#2fb430;--color-emerald-800:#35c736;--color-emerald-900:#41da41;--color-emerald-1000:#e6eee5;--color-amber-100:#110901;--color-amber-200:#1f1402;--color-amber-300:#342303;--color-amber-400:#4e3504;--color-amber-500:#6a4904;--color-amber-600:#926504;--color-amber-700:#c58a08;--color-amber-800:#da9909;--color-amber-900:#efa80b;--color-amber-1000:#edebe7;--color-rose-100:#1c0202;--color-rose-200:#300304;--color-rose-300:#4d060a;--color-rose-400:#700a12;--color-rose-500:#960c19;--color-rose-600:#cd1125;--color-rose-700:#fd5150;--color-rose-800:#fd7871;--color-rose-900:#fd978f;--color-rose-1000:#edeaea;--color-background-primary:var(--color-black);--color-background-secondary:#0d0d10;--color-overlay:rgba(0, 0, 0, 0.7);--color-neutral-on-solid:var(--color-black)}"}],"page":{"pagePath":"get-started/exa-mcp","slug":"/get-started/exa-mcp","pageMetadata":{"title":"Exa MCP","description":"Exa MCP server: connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa's web search, page fetching, Exa Agent, and Exa Connect tools.","sidebarTitle":"MCP","keywords":["Exa MCP","MCP server","web search","ChatGPT","Codex","Claude Code","Cursor"],"href":"/get-started/exa-mcp"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Exa MCP server: connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa’s web search, page fetching, Exa Agent, and Exa Connect tools.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CodeBlock,Columns,Frame,Heading,OptimizedImage,Step,Steps,Tab,Table,Tabs,Tip}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use Exa MCP to improve the built-in web search in ChatGPT, Claude, and MCP-compatible tools with Exa’s search capabilities, including web search, code search, `,_jsx(_components.a,{href:`/agent/quickstart`,children:`Exa Agent`}),`, and `,_jsx(_components.a,{href:`/agent/connect/overview`,children:`Exa Connect`}),`.`]}),`\n`,_jsx(_components.p,{children:`Exa offers a hosted server that works in any MCP client:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://mcp.exa.ai/mcp`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`No API key is needed to try search and fetch, at a free rate limit. Sign in or add an API key to use `,_jsx(_components.a,{href:`#exa-agent`,children:`Exa Agent`}),`. Agents: see `,_jsx(_components.a,{href:`https://exa.ai/auth.md`,children:`exa.ai/auth.md`}),` for every way to get access. Exa MCP is open source and available on `,_jsx(_components.a,{href:`https://github.com/exa-labs/exa-mcp-server`,children:`GitHub`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`install`,children:`Install`}),`\n`,_jsx(`div`,{className:`docs-tabs`,children:_jsxs(Tabs,{children:[_jsxs(Tab,{title:`ChatGPT \u0026 Codex`,icon:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/chatgpt.svg?fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=877edee72e2a7a4f7b9c7c936c6d4316`,\"data-og-width\":`24`,width:`24`,\"data-og-height\":`24`,height:`24`,\"data-path\":`images/mcp-clients/chatgpt.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/chatgpt.svg?w=280\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=f16cf5e6d0f9b645d362d6a6f7bab877 280w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/chatgpt.svg?w=560\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=94ba73676615ed6a8558e7f5f31a9637 560w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/chatgpt.svg?w=840\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=a4e8c82185de6833143f795fbb1b16c3 840w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/chatgpt.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=32f021007a61ea4bd58b5a79f3ab03c2 1100w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/chatgpt.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=9da7df12375c3b5189c094b10d2da3b4 1650w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/chatgpt.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=7173793a75bbeca28656069a7dbf2f10 2500w`,id:`chatgpt-%26-codex`,children:[_jsxs(_components.p,{children:[`Exa is an official plugin in OpenAI’s plugin directory, which includes the hosted MCP server plus Exa’s `,_jsx(_components.code,{children:`search`}),` and `,_jsx(_components.code,{children:`exa-agent`}),` skills.`]}),_jsxs(Steps,{children:[_jsx(Step,{title:`Open the plugin`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.a,{href:`https://chatgpt.com/plugins/exa?open_in_app`,children:`chatgpt.com/plugins/exa`}),`. It opens `,_jsx(_components.strong,{children:`Exa`}),` in OpenAI’s plugin directory, which is the same directory for ChatGPT and for Codex.`]})}),_jsxs(Step,{title:`Install it`,children:[_jsx(_components.p,{children:`Select the plus button to install. Sign in to Exa when prompted, either during install or the first time Codex or ChatGPT uses it.`}),_jsx(Frame,{caption:`Opening Plugins in Codex, adding Exa, and authorizing access`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/integrations/chatgpt-codex/install-codex.gif?s=170c67f79603bc3a0dc470266a3f29f7`,alt:`Opening Plugins in Codex, viewing the Exa plugin, and authorizing access`,style:{width:`100%`,height:`auto`},\"data-og-width\":`1100`,width:`1100`,\"data-og-height\":`825`,height:`825`,\"data-path\":`images/integrations/chatgpt-codex/install-codex.gif`,\"data-optimize\":`true`,\"data-opv\":`3`})})]}),_jsx(Step,{title:`Start a new session`,children:_jsx(_components.p,{children:`Skills load in chats and CLI sessions started after the install, so open a fresh one and ask for something that needs the web.`})})]}),_jsx(_components.p,{children:`That’s it. The plugin includes both Exa’s MCP integration and skills, so there’s no separate MCP or skill setup required.`}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/integrations/chatgpt-codex`,children:`Exa in Codex and ChatGPT`}),` for the full setup and workflow guide.`]})]}),_jsxs(Tab,{title:`Claude`,icon:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/claude.svg?fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=443a9b17d5b63c875f924a4aecc01e56`,\"data-og-width\":`24`,width:`24`,\"data-og-height\":`24`,height:`24`,\"data-path\":`images/mcp-clients/claude.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/claude.svg?w=280\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=58ba897bd6bea962536693fc8cd8fde5 280w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/claude.svg?w=560\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=f06f672ddda186eec0ee76a3d46dbc47 560w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/claude.svg?w=840\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=d12874e4c4c190324acf9def38fa22a2 840w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/claude.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=75a8b7e64f107f78ca8c75e2d983a205 1100w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/claude.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=dd5708370f6f813d6825479c1aaecffe 1650w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/claude.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=0d451034dd8f4219ddc21fcf7bb9ed90 2500w`,id:`claude`,\"data-child-heading-ids\":`[\"claude-code-cli\",\"desktop%2C-web-%26-cowork\"]`,children:[_jsx(Heading,{level:`3`,id:`claude-code-cli`,children:`Claude Code CLI`}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Install the plugin`,children:[_jsx(_components.p,{children:`Install Exa from the terminal:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`claude`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` plugin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` exa@claude-plugins-official`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`You can also type `,_jsx(_components.code,{children:`/plugin`}),` in Claude Code, search for `,_jsx(_components.strong,{children:`Exa`}),`, and install it.`]})]}),_jsx(Step,{title:`Use Exa`,children:_jsx(_components.p,{children:`Start a new Claude Code session and ask for something that needs the web.`})})]}),_jsx(Heading,{level:`3`,id:`desktop-web-\u0026-cowork`,children:`Desktop, Web \u0026 Cowork`}),_jsx(_components.p,{children:`Claude Desktop, Web, and Cowork all use Exa’s official connector.`}),_jsxs(Steps,{children:[_jsx(Step,{title:`Open the connector directory`,children:_jsxs(_components.p,{children:[`Select the plus button in a new chat, choose `,_jsx(_components.strong,{children:`Add connector`}),`, and search for `,_jsx(_components.strong,{children:`Exa`}),`.`]})}),_jsxs(Step,{title:`Connect Exa`,children:[_jsxs(_components.p,{children:[`Open Exa, select `,_jsx(_components.strong,{children:`Connect to Claude`}),`, and authorize access when prompted.`]}),_jsx(Frame,{caption:`Opening the connector directory in Claude, finding Exa, connecting it, and authorizing access`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/integrations/claude-web-desktop/install-claude.gif?s=259e8d897252e7f8435b94dc6ceeae5d`,alt:`Opening the connector directory in Claude, finding Exa, connecting it, and authorizing access`,style:{width:`100%`,height:`auto`},\"data-og-width\":`800`,width:`800`,\"data-og-height\":`596`,height:`596`,\"data-path\":`images/integrations/claude-web-desktop/install-claude.gif`,\"data-optimize\":`true`,\"data-opv\":`3`})})]}),_jsx(Step,{title:`Use Exa`,children:_jsx(_components.p,{children:`Start a new chat and ask for something that needs current information from the web.`})})]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/integrations/claude-web-desktop`,children:`Exa in Claude Code, Web, and Desktop`}),` for the full setup and workflow guide.`]}),_jsxs(_components.p,{children:[`Claude Team and Enterprise admins can provision the connector for everyone through their identity provider instead: see `,_jsx(_components.a,{href:`/admin/mcp-enterprise-managed-auth`,children:`Enterprise Managed Auth`}),`.`]})]}),_jsxs(Tab,{title:`Grok Build`,icon:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/grok.svg?fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=52ce55e129bd951b5c96471cf21153e7`,\"data-og-width\":`400`,width:`400`,\"data-og-height\":`400`,height:`400`,\"data-path\":`images/mcp-clients/grok.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/grok.svg?w=280\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=35346e8d9e1309671429a21a2c71e709 280w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/grok.svg?w=560\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=a500a6ecc3a34d35e4c6b2bced2bcf2d 560w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/grok.svg?w=840\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=7d113c9b5bcd9df7933e931e63f49780 840w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/grok.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=7fcb388477a3d208b6c86859938a34b3 1100w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/grok.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=a2716c6611a802e0073765e8d2f498dd 1650w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/grok.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=35d81387785e59091a319049c26f5378 2500w`,id:`grok-build`,children:[_jsxs(_components.p,{children:[`Exa is available on the `,_jsx(_components.a,{href:`https://docs.x.ai/build/overview`,children:`Grok Build`}),` marketplace.`]}),_jsxs(Steps,{children:[_jsx(Step,{title:`Open the marketplace`,children:_jsxs(_components.p,{children:[`In Grok Build, run `,_jsx(_components.code,{children:`/marketplace`}),`.`]})}),_jsx(Step,{title:`Install Exa`,children:_jsxs(_components.p,{children:[`Find `,_jsx(_components.strong,{children:`exa`}),` in the list and press `,_jsx(_components.code,{children:`i`}),`.`]})}),_jsx(Step,{title:`Sign in`,children:_jsxs(_components.p,{children:[`Run `,_jsx(_components.code,{children:`/mcp`}),`, select `,_jsx(_components.strong,{children:`exa`}),`, and press `,_jsx(_components.code,{children:`i`}),` to sign in to your Exa account in the browser.`]})})]}),_jsx(_components.p,{children:`New accounts get free credits at signup.`})]}),_jsxs(Tab,{title:`Cursor`,icon:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/cursor.svg?fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=2df7fb1b4be985ad431617e4dfe7a42f`,\"data-og-width\":`24`,width:`24`,\"data-og-height\":`24`,height:`24`,\"data-path\":`images/mcp-clients/cursor.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/cursor.svg?w=280\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=b7a6b6873bbc716c57daf4452d511e28 280w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/cursor.svg?w=560\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=6e6be71d56c2adb655cdf76ea5de555e 560w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/cursor.svg?w=840\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=99f5f92c70c4fd59553eb4f7d48c181d 840w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/cursor.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=3ac5dada9628c21cab8802d7797ebf19 1100w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/cursor.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=dd660f47075065315965b9750e4300cd 1650w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/cursor.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=017dbcaaea376a777100f4f512879c5f 2500w`,id:`cursor`,children:[_jsxs(_components.p,{children:[`Install Exa MCP from the `,_jsx(_components.a,{href:`https://cursor.com/marketplace/exa`,children:`Cursor marketplace`}),`, or add it to `,_jsx(_components.code,{children:`~/.cursor/mcp.json`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mcpServers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"exa\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://mcp.exa.ai/mcp\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Tab,{title:`VS Code`,icon:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/vscode.svg?fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=9828a7b963d47467df217a38c716fea2`,\"data-og-width\":`24`,width:`24`,\"data-og-height\":`24`,height:`24`,\"data-path\":`images/mcp-clients/vscode.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/vscode.svg?w=280\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=036a6d2345f5e66c6b768d2a45e64a99 280w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/vscode.svg?w=560\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=7da8aff09a217e14a5478f66be121455 560w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/vscode.svg?w=840\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=f84cbb5747d8e6efba30308a4f7caee1 840w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/vscode.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=8cdac5fae80fdc6c50a071f249a795e2 1100w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/vscode.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=57106bed52a21bea2553ff7ebd292bbf 1650w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/vscode.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=68b034e2f01fd6190296d4bea84caaf0 2500w`,id:`vs-code`,children:[_jsxs(_components.p,{children:[`Use the `,_jsx(_components.a,{href:`https://vscode.dev/redirect/mcp/install?name=exa\u0026config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.exa.ai%2Fmcp%22%7D`,children:`one-click install`}),`, or add it to `,_jsx(_components.code,{children:`.vscode/mcp.json`}),` in your project:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"servers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"exa\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://mcp.exa.ai/mcp\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Tab,{title:`Other clients`,icon:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/other-clients.svg?fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=187e423022b8fc3ed950a967a10ff700`,\"data-og-width\":`24`,width:`24`,\"data-og-height\":`24`,height:`24`,\"data-path\":`images/mcp-clients/other-clients.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/other-clients.svg?w=280\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=bc12f8bc2e49fd92691efc5707dae98f 280w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/other-clients.svg?w=560\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=e4a3fcb9dd0987d9a30d707ba7d23574 560w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/other-clients.svg?w=840\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=db9d5b990e990831795fed95c1034d5f 840w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/other-clients.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=f79d2ab562605d0dbab7fc3df6ed5c1d 1100w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/other-clients.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=b3aa4e50214cb9bb3a85976b85c63f4d 1650w, https://mintcdn.com/exa-52/Una64IRjof2yadw_/images/mcp-clients/other-clients.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=Una64IRjof2yadw_\u0026q=85\u0026s=7b339c169b2b9393e6de86a0f387b399 2500w`,id:`other-clients`,children:[_jsxs(_components.p,{children:[`Most clients use the standard `,_jsx(_components.code,{children:`mcpServers`}),` shape:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mcpServers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"exa\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://mcp.exa.ai/mcp\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(_components.p,{children:`Where the config lives and what the URL key is called varies by client:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Client`}),_jsx(_components.th,{children:`Where to add it`}),_jsx(_components.th,{children:`URL key`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/integrations/vercel/fx`,children:`fx by Vercel`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`/mcp add --transport http exa https://mcp.exa.ai/mcp`}),` in the fx shell (saved to `,_jsx(_components.code,{children:`~/.fx/mcp.json`}),`)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`OpenCode`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`opencode.json`}),` (under `,_jsx(_components.code,{children:`mcp`}),`, with `,_jsx(_components.code,{children:`\"type\": \"remote\"`}),`)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Kiro`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`~/.kiro/settings/mcp.json`}),` (under `,_jsx(_components.code,{children:`mcpServers`}),`)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Windsurf`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`~/.codeium/windsurf/mcp_config.json`}),` (under `,_jsx(_components.code,{children:`mcpServers`}),`)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`serverUrl`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Google Antigravity`}),_jsxs(_components.td,{children:[`Agent panel → `,_jsx(_components.code,{children:`…`}),` → MCP Servers, search for `,_jsx(_components.strong,{children:`Exa`}),` in the MCP Store and click Install (no config needed)`]}),_jsx(_components.td,{children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Zed`}),_jsxs(_components.td,{children:[`Zed `,_jsx(_components.code,{children:`settings.json`}),` (under `,_jsx(_components.code,{children:`context_servers`}),`)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Gemini CLI`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`~/.gemini/settings.json`}),` (under `,_jsx(_components.code,{children:`mcpServers`}),`)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`httpUrl`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Warp`}),_jsxs(_components.td,{children:[`Settings → MCP Servers → Add MCP Server (top-level `,_jsx(_components.code,{children:`exa`}),`)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`v0 by Vercel`}),_jsx(_components.td,{children:`Prompt Tools → Add MCP`}),_jsx(_components.td,{children:`paste the URL directly`})]})]})]}),_jsxs(_components.p,{children:[`If your client doesn’t support remote MCP servers, use the `,_jsx(_components.code,{children:`mcp-remote`}),` bridge:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mcpServers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"exa\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"command\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"npx\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"args\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"-y\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mcp-remote\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://mcp.exa.ai/mcp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Or run the local `,_jsx(_components.a,{href:`https://www.npmjs.com/package/exa-mcp-server`,children:`npm package`}),` with your `,_jsx(_components.a,{href:`https://dashboard.exa.ai/api-keys?utm_source=docs\u0026utm_medium=docs\u0026utm_campaign=get_started_exa_mcp`,children:`Exa API key`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mcpServers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"exa\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"command\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"npx\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"args\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"-y\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"exa-mcp-server\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"env\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"EXA_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your_api_key\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})]})}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsx(_components.p,{children:`Exa MCP supports three authentication modes:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Mode`}),_jsx(_components.th,{children:`Use it for`}),_jsx(_components.th,{children:`Setup`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Keyless`}),_jsxs(_components.td,{children:[`Trying search and fetch at a free rate limit, without sign-in or API key. `,_jsx(_components.code,{children:`agent_run`}),` is unavailable.`]}),_jsxs(_components.td,{children:[`Connect to `,_jsx(_components.code,{children:`https://mcp.exa.ai/mcp`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`OAuth`}),_jsx(_components.td,{children:`Interactive clients, marketplace installs, production usage`}),_jsxs(_components.td,{children:[`Connect to `,_jsx(_components.code,{children:`https://mcp.exa.ai/mcp?login`}),` to sign in to Exa in the browser. Usage belongs to your Exa team.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`API key`}),_jsx(_components.td,{children:`Clients without MCP OAuth`}),_jsxs(_components.td,{children:[`Connect to `,_jsx(_components.code,{children:`https://mcp.exa.ai/mcp`}),` with the `,_jsx(_components.code,{children:`x-api-key`}),` header set to your API key`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`sign-in-with-oauth`,children:`Sign in with OAuth`}),`\n`,_jsx(_components.p,{children:`ChatGPT, Claude, and other marketplace installs prompt you to sign in when needed. In any client that supports MCP OAuth, you can request the same flow by connecting to:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://mcp.exa.ai/mcp?login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Your client discovers Exa’s authorization server, opens the browser sign-in, and manages access.`}),`\n`,_jsx(Heading,{level:`3`,id:`use-an-api-key`,children:`Use an API key`}),`\n`,_jsx(Card,{title:`Get your Exa API key`,icon:`key`,horizontal:true,href:`https://dashboard.exa.ai/api-keys?utm_source=docs\u0026utm_medium=docs\u0026utm_campaign=get_key_card`,children:_jsx(_components.p,{children:`Create a key in the dashboard. New accounts start with free credits.`})}),`\n`,_jsxs(_components.p,{children:[`Add the `,_jsx(_components.code,{children:`x-api-key`}),` header to the MCP server configuration:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`x-api-key: YOUR_EXA_API_KEY`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`available-tools`,children:`Available Tools`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tool`}),_jsx(_components.th,{children:`Availability`}),_jsx(_components.th,{children:`Use it for`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`web_search_exa`})}),_jsx(_components.td,{children:`Enabled by default`}),_jsx(_components.td,{children:`Search the web and return relevant, ready-to-use content`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`web_fetch_exa`})}),_jsx(_components.td,{children:`Enabled by default`}),_jsx(_components.td,{children:`Read clean content from one or more known URLs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`web_search_advanced_exa`})}),_jsx(_components.td,{children:`Available when opted in`}),_jsx(_components.td,{children:`Configure web search with advanced filters and controls`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_run`})}),_jsx(_components.td,{children:`Enabled by default with OAuth or API key`}),_jsx(_components.td,{children:`Run multi-step research, list-building, enrichment, and structured output`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Use the `,_jsx(_components.code,{children:`tools`}),` URL parameter to choose what your client sees. For example, to enable all tools:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://mcp.exa.ai/mcp?tools=web_search_exa,web_fetch_exa,web_search_advanced_exa,agent_run`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`An explicit `,_jsx(_components.code,{children:`tools`}),` list replaces the defaults, so include every tool you want enabled including web search and fetch.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`exa-agent`,children:`Exa Agent`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.a,{href:`/agent/quickstart`,children:`Exa Agent`}),` for research that takes more than one search—for example, building a list, checking each item against criteria, or returning structured results.`]}),`\n`,_jsxs(_components.p,{children:[`Agent runs are usage-based, so `,_jsx(_components.code,{children:`agent_run`}),` requires OAuth or an API key. Once authenticated, it is enabled by default alongside the search tools, with no `,_jsx(_components.code,{children:`tools`}),` parameter needed. This URL starts OAuth:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://mcp.exa.ai/mcp?login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`If you use an API key, omit `,_jsx(_components.code,{children:`login`}),` and add the key as described in `,_jsx(_components.a,{href:`#authentication`,children:`Authentication`}),`. If you set an explicit `,_jsx(_components.code,{children:`tools`}),` list, include `,_jsx(_components.code,{children:`agent_run`}),` in it.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Describe what you need`,children:[_jsxs(_components.p,{children:[`Ask for the research in plain language. Your assistant passes the request to `,_jsx(_components.code,{children:`agent_run`}),` with a `,_jsx(_components.code,{children:`query`}),`, and Exa Agent works out what to search, reads the sources, and checks what it finds against the request.`]}),_jsxs(_components.p,{children:[`Ask your Agent to provide an `,_jsx(_components.code,{children:`outputSchema`}),` only when your application needs the findings in a consistent JSON format. You can share one with your assistant in the system prompt, or have it generate one for you.`]})]}),_jsxs(Step,{title:`Get the result`,children:[_jsx(_components.p,{children:`When the research completes, the tool call hands your assistant the full research package:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The written findings`}),`\n`,_jsx(_components.li,{children:`The sources behind them`}),`\n`,_jsxs(_components.li,{children:[`Validated JSON if you provided `,_jsx(_components.code,{children:`outputSchema`})]}),`\n`,_jsx(_components.li,{children:`Usage and cost`}),`\n`]}),_jsx(_components.p,{children:`Your assistant writes its reply from this package, so tell it what you want done with the output. You can ask it to summarize the findings, compare them, save them to a file, or anything else.`})]}),_jsx(Step,{title:`Continue if it needs more time`,children:_jsxs(_components.p,{children:[`Research that outlasts a single MCP call doesn’t fail: the tool reports `,_jsx(_components.code,{children:`status: \"running\"`}),` with an `,_jsx(_components.code,{children:`id`}),` while the run continues on Exa. Your assistant calls `,_jsx(_components.code,{children:`agent_run`}),` again with that `,_jsx(_components.code,{children:`id`}),` as `,_jsx(_components.code,{children:`runId`}),` to pick the same run back up.`]})})]}),`\n`,_jsx(Accordion,{title:`Optional controls`,icon:`sliders-horizontal`,id:`optional-controls`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Use it to`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`systemPrompt`})}),_jsx(_components.td,{children:`Give Agent extra guidance for researching or judging results`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`outputSchema`})}),_jsx(_components.td,{children:`Return the answer in a specific JSON format`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`input.data`})}),_jsx(_components.td,{children:`Enrich rows or entities you already have`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`input.exclusion`})}),_jsx(_components.td,{children:`Skip results you already know about`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dataSources`})}),_jsxs(_components.td,{children:[`Add up to five `,_jsx(_components.a,{href:`/agent/connect/overview`,children:`Exa Connect`}),` providers`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`previousRunId`})}),_jsx(_components.td,{children:`Build a new request on completed research`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`effort`})}),_jsx(_components.td,{children:`Choose how much research Agent should do`})]})]})]})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`runId`}),` to keep waiting on current work. Use `,_jsx(_components.code,{children:`previousRunId`}),` to ask a new follow-up based on finished work.`]})}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/agent/quickstart`,children:`Exa Agent guide`}),` for output schema patterns, effort modes, data sources, and pricing.`]}),`\n`,_jsx(Heading,{level:`2`,id:`advanced-search`,children:`Advanced search`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`web_search_advanced_exa`}),` when the request needs explicit category or domain filters, date ranges, text constraints, geo-targeting, query expansion, summaries, highlights, freshness control, or subpage crawling. For ordinary searches, keep `,_jsx(_components.code,{children:`web_search_exa`}),`; it gives the model a smaller tool surface and requires less configuration.`]}),`\n`,_jsx(_components.p,{children:`Advanced Search does not require authentication, although authenticated connections use your own plan and rate limits. Enable it alongside the default tools with:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://mcp.exa.ai/mcp?tools=web_search_exa,web_fetch_exa,web_search_advanced_exa`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`The MCP tool presents common `,_jsx(_components.a,{href:`/reference/search`,children:`Search API`}),` controls as tool-friendly fields such as `,_jsx(_components.code,{children:`includeDomains`}),`, `,_jsx(_components.code,{children:`startPublishedDate`}),`, `,_jsx(_components.code,{children:`enableHighlights`}),`, and `,_jsx(_components.code,{children:`maxAgeHours`}),`. Read the tool schema in your client for the exact field names.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Rate limit error (429)`,id:`rate-limit-error-429`,children:[_jsx(_components.p,{children:`The connection is using Exa’s free rate limits. Sign in with OAuth or add your own API key, then reconnect so requests use your team’s plan and limits.`}),_jsx(Card,{title:`Get your Exa API key`,icon:`key`,horizontal:true,href:`https://dashboard.exa.ai/api-keys?utm_source=docs\u0026utm_medium=docs\u0026utm_campaign=get_key_card`,children:_jsx(_components.p,{children:`Create a key in the dashboard. New accounts start with free credits.`})})]}),_jsx(Accordion,{title:`Agent is missing or asks for authentication`,id:`agent-is-missing-or-asks-for-authentication`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`agent_run`}),` cannot use the free rate limits, so it only appears once you connect with `,_jsx(_components.code,{children:`?login`}),` or configure an API key. If you set an explicit `,_jsx(_components.code,{children:`tools`}),` list, make sure it includes `,_jsx(_components.code,{children:`agent_run`}),`. See `,_jsx(_components.a,{href:`#exa-agent`,children:`Exa Agent`}),`.`]})}),_jsxs(Accordion,{title:`Forbidden error (403) without an API key`,id:`forbidden-error-403-without-an-api-key`,children:[_jsxs(_components.p,{children:[`Keyless access requires an IPv4 connection made directly to `,_jsx(_components.code,{children:`https://mcp.exa.ai/mcp`}),`. From IPv6 or a proxied network path, sign in with OAuth or add an API key.`]}),_jsx(Card,{title:`Get your Exa API key`,icon:`key`,horizontal:true,href:`https://dashboard.exa.ai/api-keys?utm_source=docs\u0026utm_medium=docs\u0026utm_campaign=get_key_card`,children:_jsx(_components.p,{children:`Create a key in the dashboard. New accounts start with free credits.`})})]}),_jsx(Accordion,{title:`OAuth sign-in does not open`,id:`oauth-sign-in-does-not-open`,children:_jsxs(_components.p,{children:[`Confirm that your client supports MCP OAuth and connect to `,_jsx(_components.code,{children:`https://mcp.exa.ai/mcp?login`}),`. Restart the client after changing the URL. If the client cannot complete MCP OAuth, use an API key instead.`]})}),_jsx(Accordion,{title:`Tools not appearing`,id:`tools-not-appearing`,children:_jsxs(_components.p,{children:[`An explicit `,_jsx(_components.code,{children:`tools`}),` parameter replaces the default tool list. Check that every tool you want is present in the URL, then restart your MCP client so it fetches the tool list again.`]})}),_jsx(Accordion,{title:`Claude desktop not connecting`,id:`claude-desktop-not-connecting`,children:_jsxs(_components.p,{children:[`Use the built-in connector: select `,_jsx(_components.strong,{children:`+`}),` (or `,_jsx(_components.strong,{children:`Add connectors`}),`) → `,_jsx(_components.strong,{children:`Connectors`}),` tab → search for `,_jsx(_components.strong,{children:`Exa`}),` → select `,_jsx(_components.strong,{children:`+`}),`.`]})}),_jsxs(Accordion,{title:`Config file not found`,id:`config-file-not-found`,children:[_jsx(_components.p,{children:`Common config locations:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Cursor: `,_jsx(_components.code,{children:`~/.cursor/mcp.json`})]}),`\n`,_jsxs(_components.li,{children:[`fx: `,_jsx(_components.code,{children:`~/.fx/mcp.json`})]}),`\n`,_jsxs(_components.li,{children:[`VS Code: `,_jsx(_components.code,{children:`.vscode/mcp.json`}),` (in project root)`]}),`\n`,_jsxs(_components.li,{children:[`Claude desktop (macOS): `,_jsx(_components.code,{children:`~/Library/Application Support/Claude/claude_desktop_config.json`})]}),`\n`,_jsxs(_components.li,{children:[`Claude desktop (Windows): `,_jsx(_components.code,{children:`%APPDATA%\\\\Claude\\\\claude_desktop_config.json`})]}),`\n`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`resources`,children:`Resources`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`GitHub`,icon:`git-branch`,href:`https://github.com/exa-labs/exa-mcp-server`,cta:`View source`,arrow:`true`,children:_jsx(_components.p,{children:`Exa MCP source code.`})}),_jsx(Card,{title:`npm`,icon:`package`,href:`https://www.npmjs.com/package/exa-mcp-server`,cta:`Open package`,arrow:`true`,children:_jsx(_components.p,{children:`Run Exa MCP locally with the npm package.`})}),_jsx(Card,{title:`Agent skills`,icon:`wrench`,href:`/get-started/agent-skills/overview`,cta:`Browse skills`,arrow:`true`,children:_jsx(_components.p,{children:`Portable skills that pair with Exa MCP.`})}),_jsx(Card,{title:`Exa in Codex and ChatGPT`,icon:`messages-square`,href:`/integrations/chatgpt-codex`,cta:`Open guide`,arrow:`true`,children:_jsx(_components.p,{children:`Full setup and workflow guide for the Exa plugin.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Exa MCP","description":"Exa MCP server: connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa's web search, page fetching, Exa Agent, and Exa Connect tools.","sidebarTitle":"MCP","keywords":["Exa MCP","MCP server","web search","ChatGPT","Codex","Claude Code","Cursor"],"href":"/get-started/exa-mcp"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Install","slug":"install","depth":2,"children":[{"title":"Claude Code CLI","slug":"claude-code-cli","depth":3,"children":[],"tabId":"claude"},{"title":"Desktop, Web \u0026 Cowork","slug":"desktop-web-\u0026-cowork","depth":3,"children":[],"tabId":"claude"}]},{"title":"Authentication","slug":"authentication","depth":2,"children":[{"title":"Sign in with OAuth","slug":"sign-in-with-oauth","depth":3,"children":[]},{"title":"Use an API key","slug":"use-an-api-key","depth":3,"children":[]}]},{"title":"Available Tools","slug":"available-tools","depth":2,"children":[]},{"title":"Exa Agent","slug":"exa-agent","depth":2,"children":[]},{"title":"Advanced search","slug":"advanced-search","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Resources","slug":"resources","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/exa-52/8de825f90f4290eb/hash-scroll.js","/docs/_mintlify/custom/exa-52/b066a4230998ceb3/accordion-no-scroll.js","/docs/_mintlify/custom/exa-52/8b5e73ce01446520/playground-endpoint-filter.js","/docs/_mintlify/custom/exa-52/9fae5a1204aa21e0/telemetry-url-scrub.js","/docs/_mintlify/custom/exa-52/8da04c49a1ab6038/content-tabs.js","/docs/_mintlify/custom/exa-52/08b822eebaebc92d/home-tabs.js","/docs/_mintlify/custom/exa-52/ac33acc316b57a2a/sidebar-search.js","/docs/_mintlify/custom/exa-52/30f21fcfcf969c67/toc-indicator.js","/docs/_mintlify/custom/exa-52/99cc4afdbca2f801/sidebar-groups.js"],"subdomain":"exa-52","siteName":"Exa","title":"Exa MCP - Exa","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"get-started/exa-mcp.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Exa MCP server: connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa\u0026#x27;s web search, page fetching, Exa Agent, and Exa Connect tools.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Exa\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Exa MCP - Exa\">\u003cmeta data-mint-head property=\"og:description\" content=\"Exa MCP server: connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa\u0026#x27;s web search, page fetching, Exa Agent, and Exa Connect tools.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Exa Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://exa.ai/docs/get-started/exa-mcp\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://exa-52.mintlify.app/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Exa+MCP\u0026amp;description=Exa+MCP+server%3A+connect+ChatGPT%2C+Codex%2C+Claude%2C+Grok%2C+Cursor%2C+and+any+other+MCP+client+to+Exa%27s+web+search%2C+page+fetching%2C+Exa+Agent%2C+and+Exa+Connect+tools.\u0026amp;theme=625fbb7bae2facf957096585\u0026amp;signature=727a5a0ae279464abd43efb7e34a4390639c5fdca1127df56b480a97bd1a0a2e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Exa MCP - Exa\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Exa MCP server: connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa\u0026#x27;s web search, page fetching, Exa Agent, and Exa Connect tools.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://exa-52.mintlify.app/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Exa+MCP\u0026amp;description=Exa+MCP+server%3A+connect+ChatGPT%2C+Codex%2C+Claude%2C+Grok%2C+Cursor%2C+and+any+other+MCP+client+to+Exa%27s+web+search%2C+page+fetching%2C+Exa+Agent%2C+and+Exa+Connect+tools.\u0026amp;theme=625fbb7bae2facf957096585\u0026amp;signature=727a5a0ae279464abd43efb7e34a4390639c5fdca1127df56b480a97bd1a0a2e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/exa-52/IXdJPX9fh2ANJEqv/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Exa\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1840ED\">\u003clink data-mint-head rel=\"canonical\" href=\"https://exa.ai/docs/get-started/exa-mcp\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/get-started/exa-mcp.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://exa.ai/#organization\",\"name\":\"Exa\",\"legalName\":\"Exa Labs Inc.\",\"url\":\"https://exa.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://exa.imgix.net/logo_cream.png\"},\"sameAs\":[\"https://x.com/exaailabs\",\"https://www.linkedin.com/company/exa-ai/\",\"https://github.com/exa-labs\"]},{\"@type\":\"WebSite\",\"@id\":\"https://exa.ai/docs#website\",\"name\":\"Exa\",\"url\":\"https://exa.ai/docs\",\"publisher\":{\"@id\":\"https://exa.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://exa.ai/docs/get-started/exa-mcp#webpage\",\"url\":\"https://exa.ai/docs/get-started/exa-mcp\",\"name\":\"Exa MCP\",\"description\":\"Exa MCP server: connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa's web search, page fetching, Exa Agent, and Exa Connect tools.\",\"isPartOf\":{\"@id\":\"https://exa.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://exa.ai/docs/get-started/exa-mcp#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://exa.ai/docs/get-started/exa-mcp#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Get Started\",\"item\":\"https://exa.ai/docs/get-started/quickstart\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Exa MCP\",\"item\":\"https://exa.ai/docs/get-started/exa-mcp\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://exa.ai/docs/get-started/exa-mcp#article\",\"headline\":\"Exa MCP\",\"name\":\"Exa MCP\",\"description\":\"Exa MCP server: connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa's web search, page fetching, Exa Agent, and Exa Connect tools.\",\"url\":\"https://exa.ai/docs/get-started/exa-mcp\",\"mainEntityOfPage\":{\"@id\":\"https://exa.ai/docs/get-started/exa-mcp#webpage\"},\"keywords\":\"Exa MCP, MCP server, web search, ChatGPT, Codex, Claude Code, Cursor\",\"publisher\":{\"@id\":\"https://exa.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://exa.ai/docs#website\"}}]}\u003c/script>","siteName":"Exa","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Documentation","pages":[{"title":"Start building with Exa","sidebarTitle":"Overview","mode":"wide","href":""},{"group":"Get Started","boost":3,"pages":[{"title":"Developer quickstart","sidebarTitle":"Quickstart","description":"Get an API key, then use Exa from your code or your agent.","href":"/get-started/quickstart"},{"title":"Exa MCP","sidebarTitle":"MCP","href":"/get-started/exa-mcp"},{"group":"Agent Skills","boost":0.5,"pages":[{"title":"Agent Skills","sidebarTitle":"Overview","description":"Install Exa skills in Claude Code, Codex, and other coding agents.","href":"/get-started/agent-skills/overview"},{"title":"Build with Exa Skill","sidebarTitle":"Build with Exa","href":"/get-started/agent-skills/build-with-exa"},{"title":"Exa Search Skill","sidebarTitle":"Exa Search","href":"/get-started/agent-skills/exa-search"},{"title":"Exa Contents Skill","sidebarTitle":"Exa Contents","href":"/get-started/agent-skills/exa-contents"}]}]},{"group":"Search","boost":5,"pages":[{"title":"Exa Search API","sidebarTitle":"Quickstart","href":"/search/quickstart"},{"title":"Deep Search","sidebarTitle":"Deep Search","href":"/search/deep-search"},{"title":"Highlights","href":"/search/highlights"},{"title":"Exa Snapshot","sidebarTitle":"Snapshot","href":"/search/snapshot"},{"title":"Search Best Practices","sidebarTitle":"Best Practices","href":"/search/best-practices"},{"group":"Data","pages":[{"title":"Data Index","sidebarTitle":"Overview","icon":"database","href":"/search/data/overview"},{"title":"News","sidebarTitle":"News","icon":"newspaper","href":"/search/data/news"},{"title":"Code \u0026 Docs","sidebarTitle":"Code \u0026 Docs","icon":"code","href":"/search/data/code"},{"title":"Companies \u0026 People","sidebarTitle":"Companies \u0026 People","icon":"users","href":"/search/data/companies-people"},{"title":"Financial Markets","sidebarTitle":"Financial Markets","icon":"chart-line","href":"/search/data/financial"},{"title":"Research Publications","sidebarTitle":"Research Publications","icon":"book-open","href":"/search/data/research"},{"title":"Legal \u0026 Public Records","sidebarTitle":"Legal \u0026 Public Records","icon":"scale","href":"/search/data/legal"},{"title":"Sports, Weather \u0026 Places","sidebarTitle":"Sports, Weather \u0026 Places","icon":"map-pin","href":"/search/data/sports-weather-places"},{"title":"Cybersecurity","sidebarTitle":"Cybersecurity","icon":"shield","href":"/search/data/security"}]}]},{"group":"Agent","boost":5,"pages":[{"title":"Exa Agent","sidebarTitle":"Quickstart","href":"/agent/quickstart"},{"title":"Agent Best Practices","sidebarTitle":"Best Practices","href":"/agent/best-practices"},{"title":"Examples","href":"/agent/examples"},{"title":"Agent Ultra","sidebarTitle":"Agent Ultra","href":"/agent/agent-ultra"},{"group":"Exa Connect","boost":4,"pages":[{"title":"Exa Connect","sidebarTitle":"Overview","href":"/agent/connect/overview"},{"group":"Self-Serve Providers","boost":2,"pages":[{"title":"Fiber.ai","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/fiber.svg","href":"/agent/connect/fiber"},{"title":"Similarweb","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/similarweb.svg","href":"/agent/connect/similarweb"},{"title":"Baselayer","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/baselayer.svg","href":"/agent/connect/baselayer"},{"title":"Polymarket","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/polymarket.svg","href":"/agent/connect/polymarket"},{"title":"Macrobond","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/macrobond.svg","href":"/agent/connect/macrobond"},{"title":"Affiliate.com","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/affiliatecom.svg","href":"/agent/connect/affiliatecom"},{"title":"Particle","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/particle.svg","href":"/agent/connect/particle"},{"title":"Financial Datasets","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/financialdatasets.svg","href":"/agent/connect/financialdatasets"},{"title":"Jinko","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/jinko.svg","href":"/agent/connect/jinko"}]},{"title":"Combining providers","href":"/agent/connect/combining-providers"},{"title":"Additional providers","href":"/agent/connect/additional-partners"}]}]},{"group":"Other APIs","boost":3,"pages":[{"title":"Contents API","sidebarTitle":"Contents","href":"/contents/quickstart"},{"title":"Monitors API","sidebarTitle":"Monitors","href":"/monitors/quickstart"},{"title":"Batch API","sidebarTitle":"Batch","href":"/batch/quickstart"}]},{"group":"SDKs","boost":2,"pages":[{"title":"SDK Quickstart","sidebarTitle":"Quickstart","href":"/sdks/quickstart"}]},{"group":"Integrations","boost":2,"pages":[{"title":"Exa in Codex and ChatGPT","sidebarTitle":"ChatGPT \u0026 Codex","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/codex.svg","href":"/integrations/chatgpt-codex"},{"title":"Exa in Claude Code, Web, and Desktop","sidebarTitle":"Claude Code, Web \u0026 Desktop","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/anthropic.svg","href":"/integrations/claude-web-desktop"},{"title":"OpenAI SDK Compatibility","sidebarTitle":"OpenAI SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/openai.svg","href":"/integrations/openai-sdk"},{"title":"Fireworks","sidebarTitle":"Fireworks","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/fireworks.svg","href":"/integrations/fireworks"},{"group":"Tool Calling","pages":[{"title":"OpenAI Tool Calling","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/openai.svg","href":"/integrations/tool-calling/openai"},{"title":"Anthropic Tool Calling","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/anthropic.svg","href":"/integrations/tool-calling/anthropic"}]},{"group":"Vercel","pages":[{"title":"AI SDK by Vercel","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/vercel.svg","href":"/integrations/vercel/ai-sdk"},{"title":"Vercel AI Gateway","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/vercel.svg","href":"/integrations/vercel/ai-gateway"},{"title":"fx by Vercel Labs","sidebarTitle":"Fx by Vercel","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/vercel.svg","href":"/integrations/vercel/fx"}]},{"group":"Marketplaces","pages":[{"title":"Stripe Projects","sidebarTitle":"Stripe Projects","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/stripe.svg","href":"/integrations/marketplaces/stripe-projects"}]},{"group":"Agentic Payments","pages":[{"group":"x402","pages":[{"title":"Pay with x402","sidebarTitle":"x402 Payments","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/x402.svg","href":"/integrations/payments/x402/quickstart"},{"title":"World AgentKit","sidebarTitle":"World AgentKit","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/world.svg","href":"/integrations/payments/x402/agentkit"}]},{"group":"MPP","pages":[{"title":"Pay with MPP (Tempo)","sidebarTitle":"MPP Payments","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/tempo.svg","href":"/integrations/payments/mpp/quickstart"},{"title":"Tempo MPP GTM Enrichment Cookbook","sidebarTitle":"GTM enrichment with MPP","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/tempo.svg","href":"/integrations/payments/mpp/gtm-enrichment"}]},{"title":"Nevermined","sidebarTitle":"Nevermined","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/nevermined.svg","href":"/integrations/payments/nevermined"}]},{"group":"More Integrations","boost":0.6,"pages":[{"title":"Exa in Slack","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/exa-slack.svg","href":"/integrations/exa-slack"},{"title":"Hermes Agent","sidebarTitle":"Hermes Agent","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/hermes-agent.svg","href":"/integrations/hermes-agent"},{"title":"n8n","sidebarTitle":"n8n","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/n8n.svg","href":"/integrations/n8n"},{"title":"OpenClaw","sidebarTitle":"OpenClaw","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/openclaw.svg","href":"/integrations/openclaw"},{"title":"OpenRouter","sidebarTitle":"OpenRouter","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/openrouter.svg","href":"/integrations/openrouter"},{"title":"Baseten","sidebarTitle":"Baseten","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/baseten.svg","href":"/integrations/baseten"},{"title":"Gumloop","sidebarTitle":"Gumloop","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/gumloop.svg","href":"/integrations/gumloop"},{"title":"Exa for Google Sheets","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/exa-for-sheets.svg","href":"/integrations/exa-for-sheets"},{"title":"CrewAI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/crewai.svg","href":"/integrations/crewai"},{"title":"AG2","sidebarTitle":"AG2","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/ag2.svg","href":"/integrations/ag2"},{"title":"ElevenLabs","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/elevenlabs.svg","href":"/integrations/elevenlabs"},{"title":"OpenHuman","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/openhuman.svg","href":"/integrations/openhuman"},{"title":"TrueFoundry","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/truefoundry.svg","href":"/integrations/truefoundry"},{"title":"Snowflake","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/snowflake.svg","href":"/integrations/snowflake"},{"title":"Grok Build","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/grok-build.svg","href":"/integrations/grok-build"},{"title":"LlamaIndex","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/llamaindex.svg","href":"/integrations/llamaindex"},{"title":"Pydantic AI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/pydantic-ai.svg","href":"/integrations/pydantic-ai"},{"title":"LangChain","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/langchain.svg","href":"/integrations/langchain"},{"title":"Browserbase","icon":"https://mintlify.s3.us-west-1.amazonaws.com/exa-52/images/sidebar-icons/browserbase.svg","href":"/integrations/browserbase"}]}]},{"group":"Admin","boost":0.8,"pages":[{"title":"Pricing","href":"/admin/pricing"},{"title":"Billing and Rate Limits","sidebarTitle":"Billing \u0026 Rate Limits","href":"/admin/billing"},{"title":"Managing Your Team","href":"/admin/team-management"},{"group":"Security \u0026 Compliance","pages":[{"title":"Security Overview","sidebarTitle":"Overview","href":"/admin/security/overview"},{"title":"Zero Data Retention","href":"/admin/security/zero-data-retention"},{"title":"HIPAA","href":"/admin/security/hipaa"}]},{"title":"Enterprise Managed Auth for Claude","sidebarTitle":"Enterprise Managed Auth","href":"/admin/mcp-enterprise-managed-auth"},{"group":"Reference","pages":[{"title":"Status Page","href":"/admin/status"},{"title":"Error Codes","href":"/admin/error-codes"},{"title":"OpenAPI Specification","href":"/admin/openapi-spec"}]},{"title":"FAQs","href":"/admin/faqs"}]},{"group":"Websets","boost":0.4,"pages":[{"title":"Websets","sidebarTitle":"Quickstart","href":"/websets/quickstart"},{"title":"How to Use Imports","href":"/websets/imports-and-search"},{"group":"Dashboard","pages":[{"title":"Get started","href":"/websets/dashboard/get-started"},{"title":"Import from CSV","href":"/websets/dashboard/import-from-csv"},{"title":"Exclude Results","href":"/websets/dashboard/exclude-results"},{"title":"Integrations","href":"/websets/dashboard/integrations"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/search"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Exa MCP - Exa","buildId":"dpl_DGmhKsAzJdVqypJzon18vViniWRY","deploymentId":"dpl_DGmhKsAzJdVqypJzon18vViniWRY","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-Bb6zlep0.js","DynamicMarkdown-34OtG_BH.js","zoom-image-lightbox-B_gjFIjh.js","lightbox-handle-r17bVUz3.js"]}