# Reported issues for Exa

Pod holds 24 of 89 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [Exa](/mcp/exa-2).

## Most discussed

### NPX package broken on Linux - HTTP endpoint only exposes 2 tools instead of 7

## Issue Description

The exa-mcp-server package has different behavior between Windows and Linux, and the HTTP endpoint is missing most tools.

## Environment

- **OS**: Linux (Ubuntu)
- **Node**: v20.19.5
- **NPM**: v10.8.2
- **Package**: exa-mcp-server@3.0.9

## Problem 1: NPX Package Fails on Linux

When trying to run the package via npx on Linux:

```bash
npx -y exa-mcp-server
```

**Error:**
```
npm error could not determine executable to run
```

The package.json defines the bin as:
```js

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/84) · 2025-11-10 · closed · external user · 5 comments

### Only 2 tools loaded despite specifying all 7 tools in --tools flag

## Environment
- **MCP Client**: Kiro IDE
- **OS**: Windows (win32)
- **Shell**: cmd
- **Package**: exa-mcp-server (latest via npx)
- **Installation method**: NPX with --tools flag

## Configuration

```json
{
  "mcpServers": {
    "exa": {
      "command": "npx",
      "args": [
        "-y",
        "exa-mcp-server",
        "--tools=deep_researcher_start,deep_researcher_check"
      ],
      "env": {
        "EXA_API_KEY": "***"
      },
      "disabled": false
    }
  }
}
```

## Expected Be

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/77) · 2025-10-23 · closed · external user · 10 comments

### May I ask when Codex will be supported?

May I ask when Codex will be supported?

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/69) · 2025-09-29 · closed · external user · 5 comments

### mcp server only has two entry points now missing linkedin, deepresearch etc

Did something change at the start of the month, now even when passing the --tools parameter, we only get web_search_exa and get_code-context_exa, the company research crawling, linkedin all appear to be gone

```
    "exa-local": {
      "command": "npx",
      "args": [
        "-y",
        "exa-mcp-server@2.0.9",
        "--tools=get_code_context_exa,web_search_exa,company_research,crawling,linkedin_search,deep_researcher_start,deep_researcher_check"
      ],
      "env": {
        "EXA_API_K

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/66) · 2025-09-26 · closed · external user · 21 comments

### Multiple shebang lines in .smithery/index.cjs breaks stdio transport

## Description
The npm package `exa-mcp-server` fails to run via stdio transport due to multiple shebang lines being added to the `.smithery/index.cjs` file during the build process.

## Error Message
```
/Users/mike/.npm/_npx/6fb594a0eac5e490/node_modules/exa-mcp-server/.smithery/index.cjs:2
#\!/usr/bin/env node
^

SyntaxError: Invalid or unexpected token
    at wrapSafe (node:internal/modules/cjs/loader:1620:18)
    at Module._compile (node:internal/modules/cjs/loader:1662:20)
    at Object..j

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/65) · 2025-09-26 · closed · external user · 7 comments

### [BUG] local exa mcp fails to start

## Issue

`exa-mcp-server` fails to start.

```
❯ bunx exa-mcp-server@latest
/tmp/bunx-1000-exa-mcp-server@latest/node_modules/exa-mcp-server/.smithery/index.cjs:2
#!/usr/bin/env node
^

SyntaxError: Invalid or unexpected token
    at wrapSafe (node:internal/modules/cjs/loader:1662:18)
    at Module._compile (node:internal/modules/cjs/loader:1704:20)
    at Object..js (node:internal/modules/cjs/loader:1895:10)
    at Module.load (node:internal/modules/cjs/loader:1465:32)
    at Function._load (n

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/62) · 2025-09-25 · closed · external user · 7 comments

### BUG: npm error could not determine executable to run

```
$ npx -y exa-mcp-server           
npm error could not determine executable to run
npm error A complete log of this run can be found in: /Users/yanrujing/.npm/_logs/2025-07-29T06_53_44_350Z-debug-0.log

```

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/49) · 2025-07-29 · closed · external user · 6 comments

### Exa API Returns Empty Results Array Despite Successful Connection

### Description
The Exa API is returning empty result arrays for all queries, despite successful HTTP responses. This issue affects both Claude Desktop and Claude Code environments using the MCP server.

### Environment
- **MCP Server Version**: Latest (installed via npm)
- **Platforms**: macOS (Claude Desktop & Claude Code)
- **API Key**: Valid and active (confirmed through dashboard)
- **Installation Methods Tried**: Both local and remote

### Steps to Reproduce
1. Configure Exa MCP server in 

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/34) · 2025-06-09 · closed · external user · 11 comments

## Most recent

### Add support for MCP protocol version 2026-07-28

Hi! Are there plans to support MCP protocol version `2026-07-28` on the hosted Exa MCP endpoint?

I tested `https://mcp.exa.ai/mcp` by sending an `initialize` request with:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2026-07-28",
    "capabilities": {},
    "clientInfo": {
      "name": "protocol-version-probe",
      "version": "1.0.0"
    }
  }
}
```

The request succeeds with HTTP 200, but the server negotiates an older version:

`

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/421) · 2026-08-19 · open · external user · 0 comments

### [Bug] MCP endpoint returns HTTP 403 for clients running on Cloudflare Workers egress

## Summary

The hosted Exa MCP endpoint `https://mcp.exa.ai/mcp` returns `403` to requests coming from Cloudflare Workers egress IPs. The same requests return `200` from a normal residential connection, so any MCP client running on Cloudflare Workers (gateway, agent, aggregator) cannot connect to the hosted Exa MCP server. We hit it with MCP clients on a deployed Worker (`@cloudflare/agents`, `@mcp-ts/sdk`, `@modelcontextprotocol/client` v2): all fail with `Version negotiation failed: the server

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/414) · 2026-08-11 · open · external user · 0 comments

### shelljs@0.3.0 reachable via whoami@0.0.3 (GHSA-4rq4-32rv-6wp6, HIGH)

Two advisories resolve to `shelljs@0.3.0` in the installed dependency tree of `exa-mcp-server@3.4.0`:

- [GHSA-4rq4-32rv-6wp6](https://github.com/advisories/GHSA-4rq4-32rv-6wp6) / CVE-2022-0144 — **HIGH**, Improper Privilege Management
- [GHSA-64g7-mvw6-v9qj](https://github.com/advisories/GHSA-64g7-mvw6-v9qj) — **MEDIUM**, same class

Both are fixed in `shelljs@0.8.5`.

```text
exa-mcp-server@3.4.0
└─ whoami@0.0.3
   └─ shelljs@0.3.0
```

`whoami@0.0.3` was last published in 2014 and constrains 

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/407) · 2026-08-04 · open · external user · 0 comments

### [Bindfort] Remove unused whoami dependency pulling vulnerable shelljs@0.3.0

> **Reported by Bindfort Research** using Bindfort's deep transitive dependency scanner with OSV.dev verification.

## Summary

The current release and `main` both resolve this dependency chain:

```text
exa-mcp-server@3.4.0
└─ whoami@0.0.3
   └─ shelljs@0.3.0
```

`shelljs@0.3.0` is affected by two reviewed advisories fixed in `0.8.5`:

- [GHSA-4rq4-32rv-6wp6](https://github.com/advisories/GHSA-4rq4-32rv-6wp6) — HIGH, CVSS 7.1
- [GHSA-64g7-mvw6-v9qj](https://github.com/advisories/GHSA-64g7-mvw6

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/406) · 2026-08-04 · closed · external user · 0 comments

### Claude Code plugin 3.3.10 has stale skills and cannot enable required MCP tools

### Problem

The official Claude Code plugin currently has several packaging inconsistencies:

1. `.claude-plugin/plugin.json` is still version `3.3.10`, although the bundled Agent skill changed from four lifecycle tools to `agent_run`. Claude Code can therefore keep an older `3.3.10` cache indefinitely.
2. The plugin MCP URL is fixed to `https://mcp.exa.ai/mcp?client=claude-code-plugin`. This exposes only `web_search_exa` and `web_fetch_exa`, while the bundled `exa-agent` skill requires `agent_

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/396) · 2026-07-27 · open · external user · 0 comments

### exa-mcp-server: we executed it (not linted it) in claude code + cursor — fit to ship, 2 findings

ran exa-mcp-server through throne  executes the server in an isolated microVM and tests it against real claude code / cursor client behavior, not static analysis. security scan runs in the same pass.
result: fit to ship, 0 failures across both clients. two things worth a glance:

index.cjs still has an obsolete protocol version string in source (2024-10-07)  probably dead code, worth confirming
8 hardcoded outbound endpoints referenced directly in code, including a few (lodash.com, openjsf.org, 

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/381) · 2026-07-12 · open · external user · 0 comments

### Failure to implement 401 Unauthorized response makes distribution of Connector impossible

# Problem
According the the MCP Spec, MCP servers that support OAUTH2 authentication should respond to requests that do not contain an access token should respond with `401 Unauthorized`:
https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization#authorization-server-discovery-sequence-diagram

This response triggers the MCP client (e.g. Claude Desktop) to initiate an OAUTH2 authentication flow.

Because the Exa MCP server does not respond with 401, but instead interprets unaut

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/378) · 2026-07-09 · closed · external user · 0 comments

### Docs: Claude Code MCP onboarding guide says OAuth, but auth is x-api-key

Hello, all. Thanks for the great tool. 

The personalized MCP setup guide Exa generates for Claude Code states that authentication uses **OAuth with no API key**, but the reference docs and the live `mcp.exa.ai` endpoint use an **`x-api-key` header** (plus a keyless rate-limited tier). The OAuth instruction misdirects Claude Code setup.

> **Authentication:** Exa MCP uses OAuth — no API key needed. Your client opens a browser to sign in to your Exa account on first connection.

## What the refer

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/372) · 2026-06-26 · open · external user · 0 comments

### http 403 when using the mcp

i've never used it before. rate limited?

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/367) · 2026-06-24 · open · external user · 0 comments

### MCTS Security Scan: 7 HIGH/CRITICAL findings — exec() call, injection surfaces, suspicious lifecycle script

## MCTS Security Scan Results — June 12, 2026

The Exa MCP server was scanned by [MCTS](https://github.com/tcconnally/MCTS) (Model Context Threat Scanner), an open-source MCP server security tool with 105 analyzers and 594 passing tests.

**Score: 5/100 (CRITICAL)**  
**Total findings: 24**  
**HIGH+: 7**  
**CRITICAL: 2**

### Top findings

1. **[CRITICAL] Command execution via  call** —  line 13 uses . Dynamic code execution in an MCP tool handler is a critical risk — it can be exploited for a

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/359) · 2026-06-13 · closed · external user · 1 comment

### prompts/get rejects omitted optional arguments for zero-argument prompt web_search_help

The Exa MCP server exposes a prompt named web_search_help with no arguments:
```json
{
  "name": "web_search_help",
  "description": "Get help with web search using Exa",
  "arguments": []
}
```

However, calling prompts/get without an arguments object fails:
```json
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "prompts/get",
  "params": {
    "name": "web_search_help"
  }
}
```

error:
```shell
MCP error -32602: Invalid arguments for prompt web_search_help:
Invalid input: expected object, recei

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/358) · 2026-06-12 · open · external user · 0 comments

### Incorrect use of the openWorldHint tool annotation

Several tools have the `openWorldHint` annotation incorrectly set to `false` (e.g. `webFetch`, `webSearch`).

The [MCP specification](https://modelcontextprotocol.io/specification/2025-11-25/schema#toolannotations) states the following about this annotation:

> If true, this tool may interact with an “open world” of external entities. If false, the tool’s domain of interaction is closed. For example, the world of a web search tool is open, whereas that of a memory tool is not.

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/348) · 2026-05-27 · open · external user · 0 comments

### Proposal: Free AI Agent identity verification for Exa MCP

Closed — not applicable for this project.

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/347) · 2026-05-27 · closed · external user · 1 comment

### Remote MCP docs show API key in URL query string

Hi Exa team,

While testing MCP server security and quality checks, I noticed that the README includes a remote MCP example that places the API key in the URL query string:

```text
https://mcp.exa.ai/mcp?exaApiKey=YOUR_KEY&tools=web_search_exa,web_search_advanced_exa,web_fetch_exa
```

Reference:

- https://github.com/exa-labs/exa-mcp-server/blob/main/README.md#adding-tools

## Why this matters

Query-string secrets are easy to leak through shell history, client logs, proxy logs, browser histor

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/334) · 2026-05-12 · open · external user · 1 comment

### Security scan results for exa-mcp-server — MCPSafe AIVSS 78/100 (Grade B)

Hi team 👋

I ran a free security scan of **exa-labs/exa-mcp-server** using [MCPSafe](https://mcpsafe.io) — a purpose-built scanner for MCP servers that uses a 5-LLM consensus panel to detect prompt injection risks, over-scoped tool schemas, supply chain issues, and more.

## Results: 78/100 · Grade B

| Severity | Count |
|----------|-------|
| 🔴 Critical | 0 |
| 🟠 High | 0 |
| 🟡 Medium | 16 |
| 🟢 Low | 0 |

**Summary:** 16 medium-severity findings — review recommended

📋 **Full report with find

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/332) · 2026-05-12 · open · external user · 0 comments

### Feature: support a fallback / secondary SERP provider for simple Google-style search workflows

Exa MCP already covers a strong search workflow, but would you consider a fallback or multi-provider mode for users who want a simpler SERP-style backend for basic Google result retrieval? A lightweight provider abstraction could let users choose Exa for richer research flows and something cheaper/simpler like SerpBase for straightforward SERP lookups.

[Read the thread](https://github.com/exa-labs/exa-mcp-server/issues/315) · 2026-04-28 · closed · external user · 1 comment

