Loomal

Exa MCP server in Cursor the agent that can Google properly.

Cursor speaks to remote MCP servers natively, so connecting Exa's hosted search endpoint is a three-line mcp.json entry — no local proxy needed.

Cursor's agent can edit your whole repo, but its knowledge of the outside world is frozen at training time. Exa unfreezes it: AI-native web search, page crawling, and a code-context tool that finds how real codebases use the API you're working against. The server (github.com/exa-labs/exa-mcp-server, 4.6k stars) runs hosted at Exa's own endpoint.

This is one of the simplest MCP setups Cursor has, because no process runs on your machine — the config is just a named URL.

Why Exa suits Cursor's agent

Agentic coding fails most visibly on recency: new framework releases, changed APIs, yesterday's CVE. With Exa connected, Composer can search before it writes — pulling release notes, error-message discussions, or code-context examples into the task. As of mid-2026 the hosted endpoint exposes search, crawl, and code-context tools; the live list is on Exa's Loomal marketplace page at https://loomal.ai/marketplace/exa.

First, create an API key in Exa's dashboard — the endpoint authenticates via a URL parameter, and usage is metered under Exa's pricing.

The url-style mcp.json entry

Because Cursor supports remote transports directly, the entry uses url instead of command. Put it in ~/.cursor/mcp.json to have Exa in every workspace, or .cursor/mcp.json to scope it to one repo:

~/.cursor/mcp.json
{
  "mcpServers": {
    "exa": {
      "url": "https://mcp.exa.ai/mcp?exaApiKey=YOUR_EXA_API_KEY"
    }
  }
}

Toggle on and run a search

Open Cursor Settings > MCP, enable the exa entry, and wait for the green dot with a nonzero tool count. Then give Composer a task that requires the live web — summarizing changes in a release that postdates the model — and confirm the agent issues an Exa call in its trace rather than answering from memory.

Troubleshooting in Cursor

For a remote server there's no process to debug, which narrows failures to two places: the URL and the network. Zero tools or a red dot means Cursor couldn't complete the MCP handshake — check the URL for typos, confirm the exaApiKey parameter is present, and if you're behind a corporate proxy, that HTTPS to mcp.exa.ai is allowed.

Connected but failing on every call points at the key itself: revoked, mistyped, or out of credits, all of which Exa's dashboard will show. After any edit to mcp.json, cycle the server's toggle in settings — Cursor doesn't always re-handshake on file save alone.

FAQ

How do I add Exa to Cursor?

Add an exa entry with a url field — https://mcp.exa.ai/mcp?exaApiKey=YOUR_KEY — under mcpServers in ~/.cursor/mcp.json, then enable it in Cursor Settings > MCP. No command, args, or local install is needed.

Do I need npx or mcp-remote like other clients?

No. Cursor connects to remote MCP endpoints natively via the url field. The mcp-remote proxy is only required by clients whose config can launch local processes but can't dial a URL.

Where do I get the API key, and what does it cost?

Create one in Exa's dashboard; new accounts typically include trial credits. Searches are metered under Exa's API pricing, so heavy agent use will draw down your balance — the dashboard shows consumption.

Cursor shows Exa as connected but the agent never searches. Why?

The connection is fine — the model just isn't choosing the tool. Ask explicitly ("search the web for...") or set a project rule that current-events and library-version questions should go through Exa. Once invoked successfully, the agent uses it more readily.

More MCP servers for Cursor.

Browse the live index with probed tool lists per listing.

Browse the marketplace