Model or dataset
exa-labs/exa-mcp-server avatar
exa-labs/exa-mcp-server

Exa MCP Server: Web Search and Content Fetching for AI Agents

Exa MCP for web search and web crawling!

5,061 stars401 forksTypeScriptMIT

At a glance

What is it?
Exa MCP Server exposes Exa's web search and content fetching capabilities to any AI agent or coding assistant that supports the Model Context Protocol. It runs as a hosted service requiring no local process, works anonymously within rate limits, and supports OAuth and API key authentication for higher quotas and access to multi-step research workflows.
Who is it for?
Exa MCP Server is the right choice when an AI agent or coding assistant needs access to current web content beyond its training data. The hosted endpoint requires no local installation and works with Claude, Cursor, Codex, VS Code, and other MCP-compatible clients.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 7 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Exa MCP Server provides to AI agents

Exa MCP Server is a hosted implementation of the Model Context Protocol that gives AI agents access to two categories of web data. The first is search: querying the web for any topic and receiving clean, structured content ready for the agent to use. The second is content fetching: reading the full text of one or more specific URLs and receiving the content as clean markdown.

These two capabilities solve a common limitation of AI agents: they cannot access pages published after their training cutoff, and they cannot reliably retrieve specific URLs without a fetching mechanism. Exa's search is specifically designed for AI consumption, returning content rather than a list of links, which means the agent can read and reason over search results directly rather than needing a second retrieval step.

The server is described in the README as connecting AI agents to Exa for web search, content fetching, and multi-step research. It supports Claude, ChatGPT (via Codex), VS Code, Cursor, LM Studio, Replit, and a range of other clients. Installation involves pointing each client at the hosted endpoint or using a plugin when the client supports the Agent Plugin standard.

Installation: hosted endpoint and client-specific options

The primary installation method is connecting to the hosted MCP server URL:

code
https://mcp.exa.ai/mcp

For Claude, the README provides a one-command plugin install:

bash
claude plugin install exa@claude-plugins-official

For Codex and ChatGPT, the equivalent command is:

bash
codex mcp add exa --url https://mcp.exa.ai/mcp

For other MCP clients, the standard `mcpServers` configuration shape works across most tools:

json
{
  "mcpServers": {
    "exa": {
      "type": "streamable-http",
      "url": "https://mcp.exa.ai/mcp",
    }
  }
}

The README provides client-specific configuration paths for Kiro, LM Studio, Replit, Grok Build, Gemini CLI, OpenCode, Windsurf, Google Antigravity, Zed, Warp, and v0 by Vercel. The pattern is the same for all of them: point the client at `https://mcp.exa.ai/mcp` in whatever file that client uses for MCP server configuration.

For teams that need to self-host, the repository includes a Dockerfile that builds the server from the `src/` directory and exposes it on port 8000.

Default tools and how to enable optional ones

Out of the box, Exa MCP Server exposes two tools. `web_search_exa` searches the web for any topic and returns clean, ready-to-use content. `web_fetch_exa` reads the full content of one or more URLs as clean markdown.

Two additional tools are available but not enabled by default. `agent_run` runs an Exa Agent for multi-step research, list building, enrichment, and structured output. `web_search_advanced_exa` adds filters for specific domains, date ranges, highlights, summaries, and subpage crawling beyond what the default search tool supports.

Optional tools are enabled by appending a `tools` parameter to the MCP URL. The parameter replaces the defaults rather than adding to them, so all desired tools must be listed explicitly:

code
https://mcp.exa.ai/mcp?tools=web_search_advanced_exa
https://mcp.exa.ai/mcp?tools=web_search_exa,web_fetch_exa,agent_run

Exa Agent requires authentication. The `agent_run` tool will not function in anonymous mode.

Authentication: anonymous, OAuth, and API key

Anonymous use is supported within rate limits that the README does not quantify. OAuth is described as the preferred authentication method. Most clients that integrate with the hosted endpoint will prompt the user to sign in to Exa during setup. To force the login flow, which is useful for shared connectors and plugin configurations, the URL `https://mcp.exa.ai/mcp?login` or `https://mcp.exa.ai/mcp/oauth` initiates it explicitly.

For users who prefer API key authentication, keys are available from the dashboard at dashboard.exa.ai/api-keys. The key can be passed as a URL parameter with `?exaApiKey=`, as an `Authorization: Bearer` header, or as an `x-api-key` header. The URL parameter approach is the simplest for quick testing but embeds credentials in the URL, which appears in logs. Header-based authentication is preferable for production use.

The distinction between anonymous and authenticated use matters most when using the `agent_run` tool, which the README states requires authentication, and for workflows that need higher request volumes than the anonymous rate limit allows.

Agent skills and what they add beyond raw tool access

The repository includes two agent skills in the `skills/` directory: `search` and `exa-agent`. Skills are loaded when installing through the Agent Plugin standard or through the Claude plugin marketplace. MCP-only setups still get access to the tools but do not load the skills.

The `search` skill at `skills/search/` is designed for deep research, lead generation, competitive analysis, and multi-step web investigation. The `exa-agent` skill at `skills/exa-agent/` covers Exa Agent runs, enrichment, structured output, and Connect providers.

The distinction between tools and skills is architectural: tools expose raw capabilities, and skills add orchestration logic on top of them. An agent using the tools directly decides for itself how to sequence queries, aggregate results, and handle failures. An agent using a skill follows the orchestration pattern the skill defines, which is tested and documented. For research-heavy workflows, the skills are likely to produce more consistent results than ad-hoc tool use.

Self-hosting and the Docker path

The repository includes a complete Dockerfile for teams that need to run the server on their own infrastructure. The build stage uses Node 22 and compiles the TypeScript source from `src/`. The runtime stage runs as a non-root user on port 8000 with NODE_ENV set to production.

Self-hosting does not bypass the authentication requirement for Exa Agent. The Exa search API is a paid service, so self-hosted deployments still require a valid API key to call it. The Dockerfile gives control over where the server runs and how requests are routed, but it does not decouple the server from Exa's API.

For most users, the hosted endpoint is simpler because it handles routing, rate limiting, and updates automatically. Self-hosting makes sense for organizations with network policies that prevent outbound connections to third-party MCP endpoints, or for teams that need to log or audit every request the server makes.

Limitations and when Exa MCP Server is not the right tool

Exa MCP Server is a wrapper around Exa's API, not a general-purpose web browsing tool. It does not support login sessions, form submission, JavaScript rendering, or interaction with authenticated web applications. If an agent needs to act on a website rather than read it, a browser automation tool is more appropriate.

Anonymous rate limits are not documented in the README. A workflow that sends many search or fetch requests may encounter limits without a clear indication of how to increase them beyond signing in. Teams building production pipelines should test rate limits before deployment and plan for OAuth or API key authentication from the start.

The `agent_run` tool is marked as requiring authentication and is not available for anonymous or trial use. This means evaluating Exa Agent's capabilities requires creating an account and obtaining an API key, which is an additional step compared to the default search and fetch tools.

Brave Search MCP is a common alternative for agents that need web search. Brave Search uses a different search index and returns structured results with title, URL, and description. Unlike Exa, it does not fetch full page content as part of the search result. The trade-off is that Brave Search is less expensive for high-volume use, while Exa's content-returning design reduces the number of round trips an agent needs to make when it wants to read a page after finding it.

Editorial conclusion

Exa MCP Server is the right choice when an AI agent or coding assistant needs access to current web content beyond its training data. The hosted endpoint requires no local installation and works with Claude, Cursor, Codex, VS Code, and other MCP-compatible clients. For workflows that need structured research outputs or data enrichment, the optional `agent_run` tool adds multi-step capabilities that the two default tools do not cover. The main limitation to check before integrating is rate limits: anonymous use is capped, and Exa Agent requires authentication via OAuth or an API key from the dashboard.

Frequently asked questions

What is an Exa MCP server?

Exa MCP Server is an implementation of the Model Context Protocol that exposes Exa's web search and content fetching API to AI agents and coding assistants. It runs as a hosted service at mcp.exa.ai/mcp and can be connected to Claude, Cursor, Codex, and other MCP-compatible clients.

What is the URL for the Exa MCP server?

The hosted Exa MCP server URL is https://mcp.exa.ai/mcp. Optional tools can be appended as a query parameter, for example https://mcp.exa.ai/mcp?tools=web_search_advanced_exa. The OAuth flow is available at https://mcp.exa.ai/mcp/oauth.

Is Exa free to use?

Anonymous use of the hosted MCP server is supported within rate limits that the README does not quantify. Exa Agent requires authentication via OAuth or an API key from dashboard.exa.ai/api-keys. The README does not describe the pricing structure.

Is an MCP server a real server?

Yes. The Exa MCP Server is a real HTTP server running at mcp.exa.ai. The repository also includes a Dockerfile to run it on your own infrastructure. It implements the Model Context Protocol, which is a standard for connecting AI agents to external tools and data sources.

Official sources

  1. exa-labs/exa-mcp-server on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/exa-labs-exa-mcp-server.svg)](https://hysenlabs.com/projects/exa-labs-exa-mcp-server)