MCP Server Gateway
by lightconetech
MCP Server Gateway
A gateway service that bridges the stdio-based Model Context Protocol (MCP) implementation in Claude Desktop with HTTP/SSE-based MCP servers. This solves the protocol compatibility gap since Claude Desktop currently only supports stdio-based MCP servers. See the discussion here.
Why This Gateway?
Claude Desktop App currently only supports stdio protocol for MCP servers, while many MCP servers use HTTP with Server-Sent Events (SSE) transport. This gateway acts as a protocol translator, allowing Claude Desktop to communicate with any HTTP/SSE MCP server by:
- Accepting stdio input from Claude Desktop
- Converting and forwarding requests to HTTP/SSE MCP servers
- Converting SSE responses back to stdio format for Claude Desktop
Installation
Install the gateway globally using npm:
npm install -g @mcphub/gateway
Configuration
1. Find the Gateway Path
After installation, find where npm installed the gateway using these commands:
# This shows the root directory of global packages
npm root -g
# The gateway will be located at:
<npm_global_root>/@mcphub/gateway/dist/src/mcphub-gateway.js
Common global package locations:
- macOS (Homebrew Node):
/opt/homebrew/lib/node_modules/@mcphub/gateway/dist/src/mcphub-gateway.js
- macOS (default):
/usr/local/lib/node_modules/@mcphub/gateway/dist/src/mcphub-gateway.js
- Windows:
%AppData%\npm\node_modules\@mcphub\gateway\dist\src\mcphub-gateway.js
Verify the installation and path:
npm list -g @mcphub/gateway
2. Configure Claude Desktop
Create or update your Claude Desktop configuration file:
On macOS
Location: ~/Library/Application Support/Claude Desktop/config.json
On Windows
Location: %APPDATA%\Claude Desktop\config.json
Add this configuration (using the path you found in step 1):
{
"mcpServers": {
"server-name": {
"command": "node",
"args": ["/opt/homebrew/lib/node_modules/@mcphub/gateway/dist/src/mcphub-gateway.js"]
}
}
}
Note: Replace the path in args
with your actual path from step 1.
3. Configure MCP Server Connection
The gateway uses an environment variable to specify which MCP server to connect to:
# Set the MCP server URL (optional)
export MCP_SERVER_URL=https://your-mcp-server.com/api/mcp
By default, the gateway connects to the MCP Hub server at https://server.mcphub.ai/api/mcp
, which provides access to various pre-configured MCP services.
4. Start Claude Desktop
Start or restart Claude Desktop to apply the changes.
Troubleshooting
-
If you can't find the gateway path:
# List all global packages and look for @mcphub/gateway npm list -g # Or specifically check the gateway npm list -g @mcphub/gateway
-
Verify your Node.js installation:
# Check Node version node --version # Check npm version npm --version
-
Common issues:
- If using Homebrew on macOS, make sure Node.js is properly linked:
brew doctor brew link node
- If you get permission errors, you might need to use
sudo
for the installation
- If using Homebrew on macOS, make sure Node.js is properly linked:
License
Support
If you encounter any issues or have questions:
- File an issue on GitHub
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.