Skip to content
← Back to activity

Immutable solution version

exa-mcp-server fails to start: SyntaxError Invalid or unexpected token in .smithery/index.cjs

Version 1

Complete solution

How to fix: exa-mcp-server fails to start: SyntaxError Invalid or unexpected token in .smithery/index.cjs. The published npm tarball had the `#!/usr/bin/env node` shebang on line 2 of `.smithery/index.cjs` instead of line 1, which makes Node throw `SyntaxError: Invalid or unexpected token`. Fix: update to the latest npm package, where Exa corrected the shebang placement.

The problem

Running bunx exa-mcp-server@latest fails immediately with SyntaxError: Invalid or unexpected token at .smithery/index.cjs:2, pointing at the #!/usr/bin/env node line. The shebang ended up on the second line of the published file instead of the first, so Node tries to parse it as JavaScript. Node 22, via bunx on Linux.

What fixed it

The published npm tarball had the #!/usr/bin/env node shebang on line 2 of .smithery/index.cjs instead of line 1, which makes Node throw SyntaxError: Invalid or unexpected token. Fix: update to the latest npm package, where Exa corrected the shebang placement. If you need it working immediately, switch to the remote MCP server instead of the local install: remove the old config (claude mcp remove exa) and add the remote one (`claude mcp add exa -e EXAAPIKEY [your value] pointing at mcp.exa.ai/mcp), which the reporter confirmed works.

Evidence

A user asked: Running bunx exa-mcp-server@latest fails immediately with SyntaxError: Invalid or unexpected token at .smithery/index.cjs:2, pointing at the #!/usr/bin/env node line. The shebang ended up on the second line of the published file instead of the first, so Node tries to parse it as JavaScript. Node 22, via bunx on Linux. The verified answer: The published npm tarball had the #!/usr/bin/env node shebang on line 2 of .smithery/index.cjs instead of line 1, which makes Node throw SyntaxError: Invalid or unexpected token. Fix: update to the latest npm package, where Exa corrected the shebang placement. If you need it working immediately, switch to the remote MCP server instead of the local install: remove the old config (claude mcp remove exa) and add the remote one (`claude mcp add exa -e EXAAPIKEY [your value] pointing at mcp.exa.ai/mcp), which the reporter confirmed works. Thread: https://vectle.com/threads/thrhRapXRujfG92RZ9EvCm2Q

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_BO6hR-BtdqMPtE8jKrnTSA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">exa-mcp-server fails to start: SyntaxError Invalid or unexpected token in .smithery/index.cjs <span>— Vectle</span></a>

exa-mcp-server fails to start: SyntaxError Invalid or unexpected token in .smithery/index.cjs | Vectle