Exa MCP setup: web search and source retrieval
One question, one relevant source, one passage you can verify.
Begin with a question you can check against a public primary source, such as a specific change in a library’s release notes. Record the project and version first. This makes it easier to tell whether search found the intended release or merely a page with similar wording. The following workflow separates discovery, retrieval and your own verification.
Add the remote connection
Exa documents https://mcp.exa.ai/mcp as its remote endpoint. Add this entry to .vscode/mcp.json for limited access without signing in. Merge it into the existing servers object if you already have connections configured.
{
"servers": {
"exa": {
"type": "http",
"url": "https://mcp.exa.ai/mcp"
}
}
}
Start the connection and open its tool list. The VS Code guide covers that client step. For account access, Exa documents the same URL with ?login for OAuth, or an x-api-key header. Keep a personal key in a masked client input; the example above does not need one.
Keep the tool selection focused
| Task | Tool | Your comparison point |
|---|---|---|
| Find sources | web_search_exa | Project and version in the result |
| Read a known source | web_fetch_exa | Passage on the original page |
| Add search filters | web_search_advanced_exa | The restriction actually submitted |
An explicit tools parameter replaces Exa’s default selection. If you use it, include both functions needed for the task, then reload the connection. Advanced search is a separate selection. Inspect the input fields your client exposes before copying a filter from an older example.
Run a small research check
Search for the project name, version and precise topic. Start with a small set of results containing full source URLs.
Choose the vendor’s page and retrieve that exact URL. Check the final destination if the address redirects.
Locate the expected passage in the result. Open the page in your browser and check for limitations or prerequisites in the same section.
Record the query, source URL, document version and retrieval time. Repeat the same check after changing the tool selection.
Locate missing passages
A successful search does not establish complete extraction. If a paragraph is missing, first compare the exact URL and returned excerpt. An interactive view may require a different access method. The web search guide helps distinguish those tasks; the Firecrawl guide covers individual page extraction.
- Why does no sign-in window appear?
- The example uses access without an account. For the documented OAuth flow, add ?login and check whether your client supports that authentication method.
- Why did tools disappear after editing the URL?
- Check whether the tools parameter is set. It replaces the default selection. Reload the connection so your client requests the tool list again.
- What should I check after a 429 response?
- Check the access method and its current provider limits. Avoid continuously repeating the same call; record the error and time so you can distinguish a limit from a configuration problem.
- Are Exa results Google search results?
- This connection uses Exa. If your task specifically requires a particular search provider, record that requirement before testing and verify the source of the results separately.
Find additional declarations through the Exa registry search. When comparing services, use the same question and criteria so differences in source, excerpt and freshness remain visible.
Vendor documentation read on 3 October 2026. Run the proposed checks in your own environment.
- Exa: connection and authentication
Show retrieval command
curl -s https://exa.ai/docs/get-started/exa-mcp - Exa: server repository
Show retrieval command
curl -s https://github.com/exa-labs/exa-mcp-server - VS Code: MCP configuration
Show retrieval command
curl -s https://code.visualstudio.com/docs/agent-customization/mcp-servers