# MCP fixes

The configuration errors and silent failures that show up the first time you wire an MCP server into an AI client. Each page is a focused, copy-paste fix.

**Quick answer**

Most MCP failures are one of a handful of errors: the server connects but no tools show, the connection drops after a minute (an SSE timeout), OAuth loops without finishing, or the config file is silently invalid. Match your symptom to one of the pages below, covering Cursor, Claude, ChatGPT, and Copilot.

[Cursor: bearer token or 401 from a remote MCP server](https://hjarni.com/mcp-fix/cursor-mcp-bearer-token)

How to pass a bearer token in your Cursor mcp.json and what to check when the server returns 401. Prefer OAuth where the server supports it.

[Claude Desktop: MCP tools do not appear after restart](https://hjarni.com/mcp-fix/claude-desktop-mcp-tools-not-showing)

Where the config file lives, why npx needs -y, and the log lines that show the real error.

[ChatGPT: custom MCP connector returns no tools](https://hjarni.com/mcp-fix/chatgpt-mcp-connector-no-tools)

Plan gating, dev mode, and the per-chat toggle to check when ChatGPT cannot see the server.

[ChatGPT: no MCP servers or Connectors option in settings](https://hjarni.com/mcp-fix/chatgpt-mcp-connectors-not-showing)

When the Connectors or MCP section never appears: plan gating, Developer mode, app version, and workspace admin restrictions to check.

[ChatGPT: adding an MCP server opens a blank page or will not connect](https://hjarni.com/mcp-fix/chatgpt-mcp-connect-blank-page)

A blank authorize window or a connect that never finishes is usually the endpoint URL, blocked popups and cookies, or the server's OAuth setup.

[Claude Code: MCP OAuth loops or never finishes](https://hjarni.com/mcp-fix/claude-code-mcp-oauth-loop)

Transport flag, callback port, and the claude mcp list checks for a stuck OAuth handshake.

[VS Code with Copilot: wrong root key in mcp.json](https://hjarni.com/mcp-fix/vscode-copilot-mcp-config)

servers vs mcpServers, the right file location, and how Copilot Chat surfaces MCP tools.

[MCP: SSE timeout or unexpected disconnect](https://hjarni.com/mcp-fix/mcp-sse-timeout)

Why long-lived SSE connections drop, when to switch to Streamable HTTP, and what to check on a proxy.

[Cursor / VS Code: Failed to acquire MessagePort (createMcpProcessChannelConnectionResult)](https://hjarni.com/mcp-fix/vscode-mcp-failed-to-acquire-messageport)

Why every MCP server fails to start even though it runs fine in a terminal, and the reload, update, and Windows antivirus fixes for the editor's IPC handshake bug.

[Perplexity: no option to add a custom MCP connector](https://hjarni.com/mcp-fix/perplexity-mcp-connector-not-showing)

Plan gating, the web-first settings location, workspace admin policy, and the manual client_id fix for servers without automatic registration.

[Copilot Studio: cannot connect to your MCP server](https://hjarni.com/mcp-fix/copilot-studio-mcp-connection-failed)

The complete server URL, the Streamable HTTP requirement, public reachability, OAuth and Entra settings, and maker permissions, checked in order.

Stuck on something not listed here? Run the [MCP Config Validator](https://hjarni.com/mcp-config-validator) to catch JSON errors in your browser, or read the [MCP server reference](https://hjarni.com/docs/mcp) for endpoint, transport, and OAuth details.
