komodo-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@komodo-mcplist all servers in my account"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Komodo MCP Server
A Python MCP (Model Context Protocol) server for the Komodo DevOps platform. Manage your servers, containers, stacks, builds, and more — directly from AI assistants like Claude.
Built with FastMCP, uvicorn, and httpx.
Quick Start (Docker Compose)
services:
komodo-mcp:
image: ghcr.io/myrikld/komodo-mcp:latest
ports:
- "8000:8000"
environment:
- KOMODO_MCP_KOMODO_URL=https://your-komodo-instance.example.com
- KOMODO_MCP_KOMODO_API_KEY=your_api_key
- KOMODO_MCP_KOMODO_API_SECRET=your_api_secret
restart: unless-stoppeddocker compose up -dRelated MCP server: Komodo MCP Server
Connect to MCP Client
The server exposes a Streamable HTTP endpoint at /.
Claude Code (CLI):
claude mcp add -s user --transport http komodo http://localhost:8000/Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"komodo": {
"type": "http",
"url": "http://localhost:8000/"
}
}
}Authentication
The server supports OAuth 2.1 with a browser-based login page. When OAuth is enabled, MCP clients are redirected to a login form before receiving an access token.
Enabling OAuth
Set all three variables:
KOMODO_MCP_OAUTH_JWT_SECRET=<random string, 32+ chars>
KOMODO_MCP_OAUTH_PASSWORD=<password shown in browser login form>
KOMODO_MCP_BASE_URL=https://mcp.example.com # public URL of this serverWhen OAuth is active, the server exposes standard OAuth 2.1 endpoints:
Endpoint | Description |
| OAuth metadata discovery |
| Dynamic Client Registration (RFC 7591) |
| Authorization endpoint — redirects to |
| Password login page (browser) |
| Token endpoint |
| Token revocation |
Flow: MCP client → /authorize → browser opens /login → user enters password → client receives JWT access token (1h) + refresh token (30d).
Without OAuth configured, the server accepts all connections without authentication.
Restarts
The server keeps no session state, so restarting it does not log clients out — no volume required:
Access and refresh tokens are self-contained JWTs, validated from their own signed claims.
A registered client's metadata is carried inside its
client_id, which is itself a signed JWT.Everything is signed with a key derived from
KOMODO_MCP_OAUTH_JWT_SECRET. Keep that secret stable: changing it invalidates all tokens and client registrations, forcing every client to authorize again.
The one thing that cannot be reconstructed from a token is the fact that it was revoked. Revocations are written to $KOMODO_MCP_STATE_DIR/revoked_tokens.json (the Docker image sets KOMODO_MCP_STATE_DIR=/data), which survives a container restart. To keep them across container recreation — image upgrades, docker compose down — mount a volume:
volumes:
- komodo-mcp-state:/dataWithout a volume, a revoked token that has not yet expired becomes usable again after the container is recreated. Without KOMODO_MCP_STATE_DIR at all (e.g. local development), revocations are memory-only and are forgotten on every restart.
Configuration
Variable | Description | Default |
| Komodo instance URL | required |
| API key | required |
| API secret | required |
| Server bind host |
|
| Server bind port |
|
| Secret for signing JWT tokens | OAuth disabled |
| Password for the browser login page | OAuth disabled |
| Public URL of this server (used in OAuth metadata) | OAuth disabled |
| Directory for the revoked-token list |
|
Local Development
uv sync
export KOMODO_MCP_KOMODO_URL=https://your-instance.example.com
export KOMODO_MCP_KOMODO_API_KEY=your_key
export KOMODO_MCP_KOMODO_API_SECRET=your_secret
komodo-mcp
# tests
python -m pytest tests/Tech Stack
FastMCP — MCP framework with OAuth 2.1 support
uvicorn — ASGI server
httpx — Async HTTP client for Komodo API
pydantic-settings — Configuration
Links
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect any AI agent to 1,000+ apps and 27,000+ actions through one remote MCP server (OAuth).
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server for the Komodo DevOps platform that enables managing servers, stacks, deployments, builds, and more through natural language.89 npm7MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage Docker/Podman deployments through Komodo, supporting container management, server orchestration, and infrastructure control via natural language.276 npm52GPL 3.0
- AlicenseNot gradedqualityBmaintenanceMCP server exposing the Dockhand API as MCP tools. Enables AI assistants to manage Docker infrastructure including containers, stacks, images, networks, and volumes across multiple hosts.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants like Claude, Cursor, VS Code, and Windsurf to manage workspaces, projects, tasks, and AI agents through natural language, with a hosted OAuth server or a local stdio package. Also supports generating MCP tools from any OpenAPI spec.3,052 npmMIT