MK

myrikld/komodo-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

23 stars 2 forks 品質 64 トレンド 25

Komodo MCP サーバー

概要

Komodo DevOps プラットフォーム用の Python MCP (Model Context Protocol) サーバー。 サーバー、コンテナ、スタック、ビルドなどを管理し、ClaudeのようなAIアシスタントから直接管理します。 サーバは / でストリーム可能な HTTP エンドポイントを公開します。 サーバは、ブラウザベースのログインページでOAuth 2.1をサポートしています。 OAuth が有効な場合、アクセストークンを受け取る前に、MCP クライアントはログインフォームにリダイレクトされます。 OAuth がアクティブの場合、サーバーは標準 OAuth 2.1 エンドポイントを公開します。 : MCP クライアント → /authorize → ブラウザーが /login → ユーザがパスワード → クライアントが JWT アクセストークン(1h) + リフレッシュトークン(30d)を受け取ります。 OAuth が設定されていないと、サーバーは認証なしですべての接続を受け入れます。 サーバはセッション状態を保ちませんので、必要なボリュームはありません。 - アクセストークンとリフレッシュトークンは、独自の署名されたクレームから検証された自己完結したJWTです。 - 登録したクライアントのメタデータは、クライアントのクライアント ID 内で実行されます。これは、署名された JWT です.

概要(AI 翻訳)

Komodo DevOps プラットフォーム用の Python MCP (Model Context Protocol) サーバー。 サーバー、コンテナ、スタック、ビルドなどを管理し、ClaudeのようなAIアシスタントから直接管理します。

FastMCP、uvicorn、および httpx で造られる。

クイックスタート(Docker Compose)

MCP クライアントに接続する

サーバは [/] でストリーム可能な HTTP エンドポイントを公開します。

クロードコード (CLI):

Claude Desktop ([claude_desktop_config.json)]):

##認証

サーバは、ブラウザベースのログインページでOAuth 2.1をサポートしています。 OAuth が有効な場合、アクセストークンを受け取る前に、MCP クライアントはログインフォームにリダイレクトされます。

##OAuth の有効化

3つの変数をすべてセットする:

OAuth がアクティブの場合、サーバーは標準 OAuth 2.1 エンドポイントを公開します。

| エンドポイント | 概要 | お問い合わせ | [[T2] | OAuth メタデータ検出 | |【[T3] | ダイナミッククライアント登録(RFC 7591) | | [/authorize | 承認エンドポイント — [/login にリダイレクト
|【[T6] | パスワードログインページ(ブラウザ) | | [[T7] | トークンエンドポイント | | [[T8] | トークンの取消 |

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

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=
KOMODO_MCP_OAUTH_PASSWORD=
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.

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.
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "komodo": { "type": "http", "url": "http://localhost:8000/" } } }