MCP server failed to start: what our checks find
We start 2 servers from their packages ourselves, the way a client does. This is how their newest checks came out, and what to look at for each.
| Newest check | What it means, and what to check | Servers |
|---|---|---|
| Asks to sign in | It answered and asked for a sign-in or a key first. Sign in from the client, or give the key in a header if the client can send one. | 1 (50%) |
| Unclear | It failed three times in a row without a cause we could name. Try again later; a server that keeps failing shows it on its page. | 1 (50%) |
What the client needs installed
A client starts a local server with a command, and the command has to be on the path the client starts with. An
error such as spawn npx ENOENT means it was not: install the runtime, or write the command's full path
in the config.
| Package from | Needs | Command | Servers |
|---|---|---|---|
| npm | Node.js | npx | 66,331 |
| PyPI | uv | uvx | 19,570 |
| a container registry | Docker | docker | 1,628 |
How our check starts a package
- It downloads the package from its public registry only, with install scripts turned off.
- It gives the server a placeholder for every setting it says it reads, never a real key.
- It sends the handshake and asks for the tool list, and waits at most 65 seconds.