My MCP server will not connect in Claude Code

Almost never the protocol. Almost always a path, a missing build, or a server that dies on startup and says so where nobody is looking.

Last updated: 2026-09-22

Check this first

Inside Claude Code, run /mcp. That tells you which of two problems you have, and they have nothing to do with each other:

What you seeWhat it means
Your server is not listedThe configuration was never read. Nothing about your server code matters yet
Listed, but failing or disconnectedThe configuration was read and the server was launched. Now it is a startup problem

People usually skip this check and start rewriting the server. Half the time the server was never launched.

If it is not listed

If the file parses and the server still is not listed, check the scope before anything else: claude mcp add defaults to --scope local, which writes ~/.claude.json and not the .mcp.json you are looking at. The .mcp.json that travels covers which scope goes where, and the credential names that expand to an empty string on purpose.

If it is listed but will not start

In order of how often each one is the answer:

#CauseHow to tellFix
1Relative pathWorks in your shell, not in Claude CodeUse the absolute path to the entry file
2Not builtConfig points at dist/; you have only edited src/Run your build, then retry
3Crashes on startupConnects then drops immediatelyRun the exact command from the config by hand and read the error
4Missing environment variableYour shell has it; the launched process does notPut it in the server's env block in the config
5Something printed to stdoutGarbled or immediately-closed connection on a stdio serverSend every log line to stderr; stdout is the protocol

The test that settles it

Run the server's command yourself, exactly as the config has it — the same absolute path, the same arguments:

node /absolute/path/to/your-server/dist/server.js

If that errors, you have your answer and it was never a Claude Code problem. If it sits there waiting, the server is fine and the problem is the configuration above it.

A working reference helps more than any checklist. kit-one-tool-mcp is one tool with 15 offline tests — clone it, run npm test, and you have a known-good server to compare against. If it connects and yours does not, the difference is in your config, not in the protocol.

What does it cost to have someone set this up?

Flat prices, written scope, stop at any rung. No call to book, no retainer.

RungWhat you getClock
Free — starter repoA real setup you copy yourselfnow
$29 — Setup LiteOne project: CLAUDE.md, allowlist, one skill, as a pull request you review24 hours
$99 — Setup Sprint3–5 skills, hooks, up to 3 MCP servers, plus a runbook48 hours
$79 — Surface AuditAlready set up and still fighting it: contradictions and an exact fix list48 hours
Setup Lite $29 Or start free

Clocks run from a complete intake, not from the Stripe receipt.