Using with Claude Desktop
Connect Claude Desktop to your MCP Gateway and access all your servers through a single configuration.
Why Use MCP Gateway with Claude Desktop?
Instead of configuring each MCP server individually in Claude Desktop, you can point it to your MCP Gateway and get:
- Single configuration - One endpoint for all your servers
- Centralized management - Add/remove servers from the console without editing config files
- Server aggregation - All tools from all servers available in one place
- Usage tracking - See which tools are being used in the console
Configuration
Locate Your Config File
Claude Desktop stores its configuration in a JSON file. The location depends on your operating system:
Add the Gateway Configuration
Add the MCP Gateway to your mcpServers configuration. Since Claude Desktop uses stdio transport, we use mcp-remote to bridge to the gateway's HTTP endpoint:
{
"mcpServers": {
"appxen": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://<your appliance address>/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer <your API key>" }
}
}
} Self-signed certificate: until the appliance has a domain it serves a self-signed certificate, which mcp-remote (Node.js) rejects, so Claude Desktop cannot connect. Set DomainName at launch, or point a domain's DNS A record at the ElasticIp output and run sudo appxenctl set-domain <name> on the instance, before you add this entry.
Note: replace <your API key> with an API key from the console (create one under API Keys, in the General section of the sidebar; it starts with axgw_ and is shown once). There is no OAuth sign-in: the key is the only credential.
Header: type Authorization:${AUTH_HEADER} exactly as shown, with no space after the colon. mcp-remote fills in AUTH_HEADER from env, and some clients split an argument that contains a space.
Requires: Node.js installed on your system. The mcp-remote package will be automatically downloaded on first use.
Restart Claude Desktop
After saving the configuration file, restart Claude Desktop for the changes to take effect. You should see your connected servers' tools available in Claude.
Full Configuration Example
Here's a complete example with the gateway alongside other local MCP servers:
{
"mcpServers": {
"appxen": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://<your appliance address>/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer <your API key>" }
},
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/you/Documents"
]
}
}
} Claude Code and Cursor
Cursor uses the same entry in ~/.cursor/mcp.json. Claude Code connects directly, with one command:
claude mcp add --transport http appxen "https://<your appliance address>/mcp" --header "Authorization: Bearer <your API key>" More on connecting clients, including the other endpoints, in Connect an MCP client.
Verifying the Connection
Once configured, you can verify the connection is working by:
- Opening a new conversation in Claude Desktop
- Asking Claude to list available tools
- You should see tools from all your connected servers (e.g.,
github__get_me)
Try asking:
"What tools do you have available from my connected MCP servers?"
Troubleshooting
"command" Required error?
If you see an error like invalid_type: expected "string" for "command", you're using the wrong config format.
- Claude Desktop requires stdio transport (command + args), not direct URLs
- Use the
mcp-remotebridge as shown in the configuration above - Make sure you have Node.js installed for npx to work
Tools not appearing?
- Check that your API key is correct
- Verify you have at least one server enabled in the console
- Ensure Claude Desktop was fully restarted after config changes
Added or removed servers but don't see changes?
Claude Desktop caches the tools list at startup. After adding, removing, or enabling/disabling servers in the console:
- Restart Claude Desktop to refresh the tools list
- On macOS: Quit Claude (Cmd+Q), then reopen
- On Windows: Close Claude completely, then reopen
Connection errors?
- Check that your computer can reach the appliance's address (the security group lets the whole internet reach ports 80 and 443)
- Verify the URL is exactly
https://<your appliance address>/mcp - If the appliance has no domain yet, it serves a self-signed certificate that
mcp-remoterejects: give it a domain (see the note above) - Make sure your API key hasn't been revoked
JSON syntax errors?
- Ensure all strings are in double quotes
- Check for trailing commas (not allowed in JSON)
- Use a JSON validator to check your config file