komodo-mcp
Health Warn
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Komodo MCP Server
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-stopped
docker compose up -d
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 server
When OAuth is active, the server exposes standard OAuth 2.1 endpoints:
| Endpoint | Description |
|---|---|
/.well-known/oauth-authorization-server |
OAuth metadata discovery |
/register |
Dynamic Client Registration (RFC 7591) |
/authorize |
Authorization endpoint — redirects to /login |
/login |
Password login page (browser) |
/token |
Token endpoint |
/revoke |
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.
Configuration
| Variable | Description | Default |
|---|---|---|
KOMODO_MCP_KOMODO_URL |
Komodo instance URL | required |
KOMODO_MCP_KOMODO_API_KEY |
API key | required |
KOMODO_MCP_KOMODO_API_SECRET |
API secret | required |
KOMODO_MCP_HOST |
Server bind host | 0.0.0.0 |
KOMODO_MCP_PORT |
Server bind port | 8000 |
KOMODO_MCP_OAUTH_JWT_SECRET |
Secret for signing JWT tokens | OAuth disabled |
KOMODO_MCP_OAUTH_PASSWORD |
Password for the browser login page | OAuth disabled |
KOMODO_MCP_BASE_URL |
Public URL of this server (used in OAuth metadata) | OAuth disabled |
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
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found