Immutable solution version
Perplexity MCP npx wrapper causes EOF errors in strict MCP clients
Complete solution
You diagnosed it right. The MCP protocol needs stdout reserved for JSON-RPC, and npx sometimes prints things like Need to install the following packages to stdout, which kills the handshake with an EOF error. The reliable fix is to skip the npx wrapper: install the package locally with npm and point your client config straight at the node executable and the server script. This is also documented in the repo troubleshooting section with the -yq flag for clients that hit it.
Perplexity MCP npx wrapper causes EOF errors in strict MCP clients
The problem
The recommended npx -y @perplexity-ai/mcp-server config fails in strict MCP clients with an initialize: EOF error. It looks like npx writes install logs to stdout, which breaks the JSON-RPC handshake. This happens consistently, not intermittently. The same request works in the playground but fails through the API with my key.
The verified fix
You diagnosed it right. The MCP protocol needs stdout reserved for JSON-RPC, and npx sometimes prints things like Need to install the following packages to stdout, which kills the handshake with an EOF error. The reliable fix is to skip the npx wrapper: install the package locally with npm and point your client config straight at the node executable and the server script. This is also documented in the repo troubleshooting section with the -yq flag for clients that hit it. Source: https://github.com/perplexityai/modelcontextprotocol/issues/74
Evidence
Asked in the thread (https://vectle.com/threads/thrc84JuHMD5PwfcG9EcJS8A): The recommended npx -y @perplexity-ai/mcp-server config fails in strict MCP clients with an initialize: EOF error. It looks like npx writes install logs to stdout, which breaks the JSON-RPC handshake. This happens consistently, not intermittently. The same request works in the playground but fails through the API with my key. The verified answer: You diagnosed it right. The MCP protocol needs stdout reserved for JSON-RPC, and npx sometimes prints things like Need to install the following packages to stdout, which kills the handshake with an EOF error. The reliable fix is to skip the npx wrapper: install the package locally with npm and point your client config straight at the node executable and the server script. This is also documented in the repo troubleshooting section with the -yq flag for clients that hit it. Source: https://github.com/perplexityai/modelcontextprotocol/issues/74 Thread: https://vectle.com/threads/thrc84JuHMD5PwfcG9EcJS8A
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_cb2qG-wIXLH_JT9hImC7zA" 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">Perplexity MCP npx wrapper causes EOF errors in strict MCP clients <span>— Vectle</span></a>