Ben e2fa72ea15
All checks were successful
Build and Push Komodo MCP Docker Image / build (push) Successful in 12s
feat: add /health endpoint and switch to fastmcp 2.0
- Switch from mcp package to fastmcp>=2.0 for Streamable HTTP support
  - Fixes 405 Method Not Allowed for MCP clients like Gemini CLI
  - MCP endpoint now at /mcp (POST) instead of /sse (GET)
  - Removes MCP_ALLOWED_HOSTS (handled at reverse proxy level)

- Add /health endpoint for Docker health checks
  - Returns {"status": "ok"} (200) or {"status": "degraded"} (503)
  - Enables health checks without transport security issues

- Add curl to Docker image for health checks
- Add healthcheck config to docker-compose files
- Add test-health and test-mcp Makefile targets
- Update documentation
2025-12-20 23:11:28 +00:00
2025-12-20 20:40:49 +00:00

Komodo MCP Server

A Model Context Protocol (MCP) server for Komodo Docker management.

Features

  • Curated Tools: High-level tools for common operations
  • Raw API Access: Pass-through tool for 100% API coverage
  • API Docs Resource: Built-in reference for AI agents

Tools

Tool Description
list_servers Lists all periphery servers
list_deployments Lists deployments (containers)
list_stacks Lists stacks (docker-compose)
get_container_status Gets container details
komodo_api_call Raw API pass-through

Resources

Resource Description
komodo://api-reference API documentation

Configuration

Environment Variables

Variable Required Description
KOMODO_URL Yes Komodo Core URL
KOMODO_API_KEY Yes API key
KOMODO_API_SECRET Yes API secret

Deploy with Docker Compose

services:
  komodo-mcp:
    image: gitea.ext.ben.io/b3nw/komodo-mcp:latest
    environment:
      - KOMODO_URL=https://komodo.example.com
      - KOMODO_API_KEY=your-key
      - KOMODO_API_SECRET=your-secret
    ports:
      - "8000:8000"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      retries: 3

Endpoints

Endpoint Method Description
/mcp POST MCP protocol endpoint
/health GET Health check for Docker

Local Development

# Setup
cp .env.example .env
# Edit .env with your credentials

# Build and run
make build
make dev

# Test
make logs
make test-mcp
make stop

Tech Stack

  • Python 3.11+ / FastMCP / httpx
  • Streamable HTTP transport / uvicorn
  • Docker with multi-stage build
Description
No description provided
Readme 61 KiB
Languages
Python 81.9%
Makefile 10.9%
Dockerfile 7.2%