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 required to get started. 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. This URL starts OAuth and adds Agent alongside the default tools:
If you use an API key, omit login and add the key as described in Authentication.
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 is not enabled by default and cannot use the free rate limits. Add it to the tools URL parameter, then connect with ?login or configure an API key. See Exa Agent for the complete URL.
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