[BUG] Plugin MCP with type:http proxied through claude.ai in Desktop app — breaks VPN/internal servers

Resolved 💬 1 comment Opened Apr 24, 2026 by bmSebastians Closed May 28, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Description

Plugin MCP servers configured with "type": "http" in .mcp.json connect directly from the user's machine in the CLI, but are proxied through claude.ai infrastructure in the Claude Code Desktop app (Windows). This means any MCP server behind a VPN or
on an internal network works in the CLI but fails in the Desktop app, since claude.ai cannot reach the internal endpoint.

Plugin .mcp.json

{
"mcpServers": {
"mcp-name": {
"type": "http",
"url": "https://mcp-internal.example.com/mcp"
}
}
}

The server implements full MCP spec: Streamable HTTP transport, OAuth discovery (.well-known/oauth-authorization-server), dynamic client registration, PKCE — all verified working via curl and the CLI.

What Should Happen?

The Desktop app should respect "type": "http" in plugin .mcp.json and connect directly from the user's machine, exactly like the CLI does.

Error Messages/Logs

Steps to Reproduce

  1. Set up an MCP server on an internal network (behind VPN) with Streamable HTTP transport and OAuth discovery
  2. Create a plugin in a GitHub-hosted marketplace with this .mcp.json:

``json
{
"mcpServers": {
"my-server": {
"type": "http",
"url": "https://internal-mcp-server.example.com/mcp"
}
}
}
``

  1. Add the marketplace to Claude Code settings (extraKnownMarketplaces or via /plugin)
  2. Install the plugin in both CLI and Desktop app
  3. In the CLI: run /mcp → authenticate → MCP connects successfully as plugin:my-server:my-server (direct connection from local machine)
  4. In the Desktop app: go to Customize > Plugins/Connectors → click Connect on the same plugin → fails with "Server not found" or "Failed to connect"

Claude Model

Other

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.108

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗