1Before you start
- Claude Desktop, up to date. Download it from claude.ai/download and sign in.
- A Krum SSO account. The server signs you in over OIDC, so you'll log in with your normal company identity the first time you connect.
- A route to the cluster. Open the server URL above in a browser. If it doesn't load, connect to the Krum VPN first.
- Node.js 18 or newer — only needed for the config-file method in step 2. Check with
node --version.
2Connect the server
There are two ways in. Use the connector if the server URL is reachable from the public internet; use the config file if it's only reachable on the VPN. Both sign in with the client ID claude-mcp.
- In Claude Desktop, open Settings and choose Connectors.
- Select Add custom connector.
- Fill in the name and URL:
NameEpinio MCPRemote MCP server URLhttps://epinio-mcp.apps-dev.internal.krum.io
- Open Advanced settings and enter the client ID. Leave the secret empty.
OAuth Client IDclaude-mcpOAuth Client Secret(leave blank)
- Select Add, then Connect. A browser window opens for Krum SSO — sign in and approve access.
Connectors added this way also show up in Claude on the web and mobile. Custom connectors are reached from Anthropic's servers, not your laptop, so an address that only resolves on the VPN will fail here — switch to the config file tab.
This runs a small local bridge (mcp-remote) on your machine, so traffic goes over your own network connection, VPN included. The client ID is passed to it with --static-oauth-client-info.
- In Claude Desktop, open Settings → Developer and select Edit Config. That opens
claude_desktop_config.json:macOS ~/Library/Application Support/Claude/claude_desktop_config.jsonWindows %APPDATA%\Claude\claude_desktop_config.json - Add an
epinioentry undermcpServers. If the file is empty, paste this whole block:If you already have other servers, add just the{ "mcpServers": { "epinio": { "command": "npx", "args": [ "-y", "mcp-remote", "https://epinio-mcp.apps-dev.internal.krum.io", "--static-oauth-client-info", "{\"client_id\":\"claude-mcp\"}" ] } } }"epinio": { … }object alongside them and mind the commas. Keep the backslashes in the last line — the client info is JSON inside a JSON string. - Save the file, then fully quit Claude Desktop (⌘ Q on macOS, or right-click the tray icon → Quit on Windows) and reopen it. Closing the window isn't enough.
- On first launch a browser tab opens for Krum SSO. Sign in and approve access; the token is cached, so you won't be asked again until it expires.
If npx can't download mcp-remote, install it once with npm install -g mcp-remote, set "command" to "mcp-remote", and drop "-y" and "mcp-remote" from the args.
3Check it works
- Start a new chat and open the tools menu (the sliders icon under the message box). Epinio MCP should be listed and switched on.
- Send a test message:
List all the apps on Epinio and tell me which ones aren't healthy. - Approve the tool call when Claude asks. You should get back a table of apps across namespaces like
workspace,claude-demo, andmcp.
4What you can ask
The server exposes around 55 tools. You don't need to know their names — describe what you want and Claude picks the right ones.
| Area | Try asking |
|---|---|
| Apps | “Show me the status and routes for appsmith.” “Scale iot-console to 2 instances.” “Restart bargain-dumpster.” |
| Deploying | “Build a small Node app that says hello and push it to the workspace namespace.” “Clone test-tas-questionaire as a staging copy.” |
| Debugging | “Pull the logs for security-training-docs-pr-7 and tell me why it's failing.” |
| Config | “List the environment variables on appsmith.” “Set LOG_LEVEL=debug on iot-console.” |
| Services | “What services are in the catalog?” “Create a Postgres service and bind it to my app.” |
| Platform | “Which appcharts and builder images are available?” “List namespaces.” |
Tools like delete_app and delete_namespace act immediately on a shared cluster. Deleting a namespace removes every app and configuration in it. Leave approvals on “ask each time” for anything destructive.
New apps land in workspace unless you name another namespace.
5Troubleshooting
The connector won't add, or says it can't reach the server
The address isn't reachable from Anthropic's side — usually because it's VPN-only. Use the config file method instead.
Sign-in fails with “invalid_client” or “unauthorized_client”
The client ID wasn't sent or is mistyped. It must be exactly claude-mcp. For the connector, remove it and add it again with the ID under Advanced settings. For the config file, check the escaped JSON in the last arg.
Sign-in fails with “invalid redirect_uri”
The claude-mcp client in the identity provider doesn't list the callback address being used. Ask whoever manages SSO to allow https://claude.ai/api/mcp/auth_callback for the connector, and http://localhost:3334/oauth/callback (mcp-remote's default) for the config file.
Epinio doesn't appear in the tools menu
Fully quit and reopen Claude Desktop. If it's still missing, the config file has a JSON error — paste it into any JSON validator and look for a missing comma, brace, or unescaped quote.
“spawn npx ENOENT” or “command not found”
Node.js isn't installed or isn't on the PATH Claude Desktop sees. Install Node 18+ from nodejs.org, then restart. On macOS with nvm, put the full path to npx in "command" (find it with which npx).
Tool calls start failing with 401 after working before
Your token expired or was revoked. For the connector, select Connect again in Settings → Connectors. For the config file, delete ~/.mcp-auth and restart Claude Desktop to sign in fresh.
Where are the logs?
macOS: ~/Library/Logs/Claude/mcp*.log. Windows: %APPDATA%\Claude\logs\. The file named after your server entry shows connection and sign-in errors.