Looking for a specific error code? See the error code reference — every ErrorCard in the inspector deep-links to a section there.
Connection Issues
Diagnose a connection failure
Most “failed to connect” /fetch failed / ECONNREFUSED / MCP error -32000: Connection closed / MCP error -32001: Request timed out reports come down to one of five root causes. Work through them in order — each step takes seconds.
-
Is the server actually running?
Open a second terminal and run the same command you’d ask Inspector to run. If it exits or prints a stack trace, fix that first — Inspector can only attach to a server that stays alive.
A clean stdio process should sit waiting on stdin; a healthy HTTP server should respond with something other than
Connection refused(the exact code varies — common responses are405 Method Not AllowedforGET,406 Not Acceptableif Accept headers are missing, or400 Bad Requestif the server expects a session header). -
Right port, right path?
ECONNREFUSED 127.0.0.1:5555means nothing is listening on that port — typo, wrong port, or the server is bound to127.0.0.1only while you’re calling it via a different hostname (or vice versa).SSE error: Non-200 status code (404)means the port is correct but the path is wrong: most MCP servers mount under/mcpor/sse, not/. -
Right transport selected?
In the server card, the transport dropdown must match what your server speaks. STDIO servers won’t respond to HTTP attempts and vice versa. If you used a
url:field inconfig.json, Inspector picks HTTP; if you usedcommand:+args:, Inspector picks STDIO. -
Right auth setting?
For local development servers, pick No Authentication. If you get
401, see Getting 401 Unauthorized errors below. -
Did the server actually finish booting before the handshake?
MCP error -32001: Request timed outduringinitializemeans the server didn’t respond to the handshake in time — usually because it’s still loading models, opening a database, or waiting on an upstream. Raise the Request timeout in Clients → your client → Request timeout (default 30,000ms), or reduce the server’s startup work.
(intermediate value).subtle is undefined
The browser’s Web Crypto API (crypto.subtle) is only available in secure contexts — that means HTTPS, or http://localhost / http://127.0.0.1. If you’re hitting Inspector over a non-localhost HTTP URL (for example, a LAN IP like http://192.168.1.10:6274), the browser disables crypto.subtle and OAuth/PKCE flows fail.
Fix: open Inspector at http://localhost:6274 or http://127.0.0.1:6274, or put HTTPS in front of it. The hosted app and the desktop app are unaffected.
Server fails to start or connect
-
Use absolute paths: Specify the full path to your server
- ✅ Good:
/Users/yourname/project/server.py - ❌ Bad:
./server.pyorserver.py
- ✅ Good:
-
For
uvprojects: Use the--directoryflag with absolute path - Test your command first: Run the server command manually in a terminal to verify it works before adding it to Inspector
-
For HTTP servers: Verify the URL is accessible
- Test with
curlor a browser first
- Test with
”Invalid host header” when connecting to an HTTP server
This response comes from your MCP server, not from MCPJam Inspector. The server’s HTTP layer is rejecting the request because theHost header isn’t on its allowlist. Most common culprits:
- Next.js / webpack-dev-server — both block unknown hosts by default in dev mode. Add your host to
allowedHosts(webpack-dev-server) orexperimental.allowedDevOrigins(Next.js). - FastAPI / Starlette (Python) —
TrustedHostMiddlewarerejects hosts not inallowed_hosts. Add the host the inspector is calling from, or temporarily setallowed_hosts=["*"]for local testing. - Reverse proxies (nginx, Caddy) — check the
server_name/host_matchconfig.
curl http://localhost:PORT/mcp — if curl gets the same error, it’s definitely server-side, not inspector.
Authentication Issues
Server fails to connect with authentication errors
If your server is failing to connect, first verify you’ve selected the correct authentication option:- No Authentication - Use this for local or development servers that don’t require authentication
- Bearer Token - Use this if you already have an API token from the server
- OAuth 2.0 - Use this for servers that require OAuth authorization flow
Getting 401 Unauthorized errors
If you’re seeing 401 Unauthorized errors when trying to connect to your server, this typically means the server requires authentication that hasn’t been set up yet. Solution:- Change your authentication type to OAuth 2.0 in the server configuration
- Go through the OAuth authorization flow to obtain credentials
- Use the OAuth Debugger to troubleshoot any issues with the OAuth process
The OAuth Debugger helps you step through each part of the authorization
process and identify where things might be going wrong.
OAuth connection failures
When an OAuth flow fails, Inspector surfaces the failure directly in the connection UI so you can diagnose the problem without leaving the Servers tab. Connection card — a banner above the error message identifies the exact OAuth step that failed (for example, “OAuth failed during Token Request”). Server detail panel — open the server’s detail view to see the full Last OAuth Trace, which includes:- Each OAuth step with its status (pending / success / error) and a short message
- The specific error for any failed step
- An HTTP History log of every request and response made during the flow, with sensitive values automatically redacted
Toggle shows a re-authentication error for an OAuth server
The enable/connect toggle on a server card or detail modal reuses existing credentials only. If your tokens are expired or missing, the toggle will report a re-authentication error rather than opening the OAuth consent screen. Solution: Use the Reconnect button on the server card or detail modal to start a full OAuth flow and obtain new credentials. The toggle is intentionally non-interactive for OAuth to avoid unexpected browser redirects.Common Configuration Mistakes
- Missing required environment variables
- Incorrect transport type selection
- Typos in server URLs or commands
- Missing file permissions or executable flags
Chat Model Limit
”MCPJam model limit reached” warning
MCPJam provides free frontier models for chat. When you hit the daily usage limit, the chat surface shows a warning:MCPJam model limit reached. Add your own API key under LLM Providers in Settings to continue now, or try again in N minutes.This is an expected quota state, not an error with your MCP server. To continue immediately:
- Go to Settings → LLM Providers
- Add an API key for any supported provider (OpenAI, Anthropic, Gemini, etc.)
- Select that provider’s model in the chat model picker
Desktop app startup failures
App bounces in the dock and disappears (macOS) or closes immediately
If the desktop app fails to start, it now shows a recovery dialog instead of quitting silently. The dialog offers three options:- Reset app data and quit — removes cached data (
Cache,Code Cache,GPUCache,Local Storage) from the app’s user data folder and relaunches. Use this when the app crashes consistently after an update or when local data appears corrupted. - Open logs folder — opens the folder containing
electron-logoutput, then quits. Use this to inspect the error before deciding whether to reset. - Quit — exits without making any changes.
Port 6274 is already in use
The desktop app defaults to port 6274. If another process holds that port, the app automatically tries the next available port up to port 6283. A warning is written to the app logs when a fallback port is used. No action is required — the app starts normally on the fallback port. If you need to free port 6274 manually, find and stop the process occupying it:App crashes after an automatic update
The desktop app automatically clears stale GPU and HTTP caches (Cache, Code Cache, GPUCache) the first time it launches after a version change. This handles most renderer or GPU process crashes caused by cached data from a previous build. If the app still fails to start after an update, use the Reset app data and quit option in the recovery dialog.
Getting Help
If you’re still experiencing issues:-
Check server documentation
- Review the MCP server’s specific documentation
- Look for known issues or troubleshooting guides
-
Community support
- Join our Discord for community help
- Check GitHub Issues for similar problems

