Server facts
Exa MCP Server
Project
- Author
- exa-labs
- Repository
- github.com/exa-labs/exa-mcp-server
- License
- MIT
- Category
- Search & Web Data
Tech
- Runtime / language
- node
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 5,138
- Last commit
- Data as of
Tags
- Code Search
- Company Research
- Exa
- Web Content
- Web Search
Overview
Exa MCP Server brings Exa's search and content retrieval into AI clients. The default interface exposes web search and a tool for reading full pages from known URLs. The supplied tool data describes clean text results and markdown page retrieval, including multiple URLs in a fetch request. Advanced search is available but disabled by default, adding control over filters, domains, dates, and content options. Optional Exa Agent tools cover asynchronous research, list building, enrichment, structured output, polling, result retrieval, and cancellation. This makes the integration relevant to both quick factual lookups and research workflows that require several steps.
The README emphasizes a hosted MCP endpoint and shows configurations for many editors, desktop assistants, and command-line agents. Claude Desktop also has a native connector route. Clients that need a local bridge can use mcp-remote, while the npm server package accepts an Exa API key. Additional toolsets are enabled with the endpoint's tools parameter, and the optional agent tools require OAuth or an API key. Several older tool names are retained only for backward compatibility, with newer search or fetch tools recommended instead. Included task-oriented guidance covers company research and programming questions, including query specificity and result deduplication. Users should distinguish the small default toolset from optional capabilities rather than assuming every research tool is active immediately.
Install & configure
Requirements
- An MCP-compatible client
- npx and an Exa API key for the local npm option
npx -y exa-mcp-serverThe command uses the README's local npm package configuration. The remote URL supports direct HTTP connections; mcp-remote is another documented route. Enable optional tools through the tools parameter.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"exa-mcp-server": {
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "<your Exa API key>"
}
}
}
}Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"exa-mcp-server": {
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "<your Exa API key>"
}
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"exa-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "<your Exa API key>"
}
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"exa-mcp-server": {
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "<your Exa API key>"
}
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"exa-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"exa-mcp-server"
],
"env": {
"EXA_API_KEY": "<your Exa API key>"
}
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
Source: repository tool metadata and repository README. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| web_search_exa | Search for relevant web sources and return readable result content. |
| web_fetch_exa | Retrieve clean full-page content and metadata from one or more known URLs. |
| web_search_advanced_exa | Run optional advanced searches with domain, date, filter, and content controls. |
| agent_create_run | Start optional asynchronous research, enrichment, or structured-output work. |
| agent_wait_for_run | Poll an Exa Agent run until completion or timeout. |
| agent_get_run_output | Read completed agent output with grounding, usage, and cost information. |
| agent_cancel_run | Cancel an agent task that is queued or running. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Search for current facts and retrieve readable source content.
- Fetch complete pages when search snippets are insufficient.
- Find code examples and library documentation for a programming question.
- Research companies using optional advanced search filters.
- Run asynchronous enrichment or structured research through Exa Agent.
Strengths
- Keeps the default interface focused on search and page retrieval.
- Offers advanced search and agent workflows as optional toolsets.
- Documents hosted access, local npm execution, and many client integrations.
Limitations
- Advanced search is not enabled by default.
- Optional Exa Agent tools require OAuth or an API key.
- Several older tool names are deprecated.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.