Skip to content

[BUG]: Have to launch from command-line for MCP server connections to not failΒ #4017

@inspiredearth

Description

@inspiredearth

It's great that AnythingLLM now supports MCP servers. This opens up a world of possibilities. Thank you. However, I'm having a hard time getting it to work as expected.

How are you running AnythingLLM?

AnythingLLM desktop app

What happened?

My installation of AnythingLLM (v1.8.2) for macOS (v15.5) can only connect to MCP servers (both local and remote) if I launch AnythingLLM it from the command-line.

I don't have this issue with Claude desktop app and BoltAI app, using the same servers.

It suggests to me that there's something particular about AnythingLLM that is resulting in it having an incomplete Node/npx environment when launched as an app.

Front-end Errors are:

Failed to start MCP server: desktop-commander [-32000] MCP error -32000: Connection closed
Failed to start MCP server: monday-api-mcp-hosted [-32000] MCP error -32000: Connection closed
etc.

Related logs:

{"level":"info","message":"\u001b[36m[r]\u001b[0m Failed to start MCP server: iMCP {\"error\":\"spawn /private/var/folders/f5/xj8j7h19193_32dbgh9sfwgr0000gn/T/AppTranslocation/D3E2387F-2F04-42B1-BFD2-82A30E386F32/d/iMCP.app/Contents/MacOS/imcp-server ENOENT\",\"code\":\"ENOENT\",\"syscall\":\"spawn /private/var/folders/f5/xj8j7h19193_32dbgh9sfwgr0000gn/T/AppTranslocation/D3E2387F-2F04-42B1-BFD2-82A30E386F32/d/iMCP.app/Contents/MacOS/imcp-server\",\"path\":\"/private/var/folders/f5/xj8j7h19193_32dbgh9sfwgr0000gn/T/AppTranslocation/D3E2387F-2F04-42B1-BFD2-82A30E386F32/d/iMCP.app/Contents/MacOS/imcp-server\",\"stack\":\"Error: spawn /private/var/folders/f5/xj8j7h19193_32dbgh9sfwgr0000gn/T/AppTranslocation/D3E2387F-2F04-42B1-BFD2-82A30E386F32/d/iMCP.app/Contents/MacOS/imcp-server ENOENT\\n    at ChildProcess._handle.onexit (node:internal/child_process:283:19)\\n    at onErrorNT (node:internal/child_process:476:16)\\n    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)\"}","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Attempting to start MCP server: monday-api-mcp-hosted","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Failed to start MCP server: monday-api-mcp-hosted {\"error\":\"MCP error -32000: Connection closed\",\"code\":-32000,\"stack\":\"McpError: MCP error -32000: Connection closed\\n    at Client._onclose (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js:101:23)\\n    at _transport.onclose (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js:73:18)\\n    at ChildProcess.<anonymous> (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js:97:77)\\n    at ChildProcess.emit (node:events:513:28)\\n    at maybeClose (node:internal/child_process:1091:16)\\n    at Socket.<anonymous> (node:internal/child_process:449:11)\\n    at Socket.emit (node:events:513:28)\\n    at Pipe.<anonymous> (node:net:322:12)\"}","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Attempting to start MCP server: monday-api-mcp","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Failed to start MCP server: monday-api-mcp {\"error\":\"MCP error -32000: Connection closed\",\"code\":-32000,\"stack\":\"McpError: MCP error -32000: Connection closed\\n    at Client._onclose (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js:101:23)\\n    at _transport.onclose (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js:73:18)\\n    at ChildProcess.<anonymous> (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js:97:77)\\n    at ChildProcess.emit (node:events:513:28)\\n    at maybeClose (node:internal/child_process:1091:16)\\n    at Socket.<anonymous> (node:internal/child_process:449:11)\\n    at Socket.emit (node:events:513:28)\\n    at Pipe.<anonymous> (node:net:322:12)\"}","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Successfully started 0 MCP servers: []","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Attempting to start MCP server: desktop-commander","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Failed to start MCP server: desktop-commander {\"error\":\"MCP error -32000: Connection closed\",\"code\":-32000,\"stack\":\"McpError: MCP error -32000: Connection closed\\n    at Client._onclose (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js:101:23)\\n    at _transport.onclose (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js:73:18)\\n    at ChildProcess.<anonymous> (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js:97:77)\\n    at ChildProcess.emit (node:events:513:28)\\n    at maybeClose (node:internal/child_process:1091:16)\\n    at Socket.<anonymous> (node:internal/child_process:449:11)\\n    at Socket.emit (node:events:513:28)\\n    at Pipe.<anonymous> (node:net:322:12)\"}","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Attempting to start MCP server: iMCP","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Failed to start MCP server: iMCP {\"error\":\"spawn /private/var/folders/f5/xj8j7h19193_32dbgh9sfwgr0000gn/T/AppTranslocation/D3E2387F-2F04-42B1-BFD2-82A30E386F32/d/iMCP.app/Contents/MacOS/imcp-server ENOENT\",\"code\":\"ENOENT\",\"syscall\":\"spawn /private/var/folders/f5/xj8j7h19193_32dbgh9sfwgr0000gn/T/AppTranslocation/D3E2387F-2F04-42B1-BFD2-82A30E386F32/d/iMCP.app/Contents/MacOS/imcp-server\",\"path\":\"/private/var/folders/f5/xj8j7h19193_32dbgh9sfwgr0000gn/T/AppTranslocation/D3E2387F-2F04-42B1-BFD2-82A30E386F32/d/iMCP.app/Contents/MacOS/imcp-server\",\"stack\":\"Error: spawn /private/var/folders/f5/xj8j7h19193_32dbgh9sfwgr0000gn/T/AppTranslocation/D3E2387F-2F04-42B1-BFD2-82A30E386F32/d/iMCP.app/Contents/MacOS/imcp-server ENOENT\\n    at ChildProcess._handle.onexit (node:internal/child_process:283:19)\\n    at onErrorNT (node:internal/child_process:476:16)\\n    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)\"}","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Attempting to start MCP server: monday-api-mcp-hosted","service":"backend"}
{"level":"info","message":"\u001b[36m[r]\u001b[0m Failed to start MCP server: monday-api-mcp-hosted {\"error\":\"MCP error -32000: Connection closed\",\"code\":-32000,\"stack\":\"McpError: MCP error -32000: Connection closed\\n    at Client._onclose (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js:101:23)\\n    at _transport.onclose (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js:73:18)\\n    at ChildProcess.<anonymous> (/Applications/AnythingLLM.app/Contents/Resources/backend/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js:97:77)\\n    at ChildProcess.emit (node:events:513:28)\\n    at maybeClose (node:internal/child_process:1091:16)\\n    at ChildProcess._handle.onexit (node:internal/child_process:302:5)\"}","service":"backend"}

Please advise if there is some way to make AnythingLLM connect to MCP servers without to launch AnythingLLM via command line (i.e. when it is launched from the Desktop GUI)

Are there known steps to reproduce?

No response

Metadata

Metadata

Assignees

Labels

investigatingCore team or maintainer will or is currently looking into this issueneeds info / can't replicateIssues that require additional information and/or cannot currently be replicated, but possible bugpossible bugBug was reported but is not confirmed or is unable to be replicated.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions