Enoch について
enoch-mcpは、設定済みのEnochコントロールプレーンを調査・操作するための、ローカルstdio対応MCPサーバーです。型付きツール呼び出しを認証付きでEnoch APIに転送し、シェルへの直接アクセスは提供しません。
主な機能
- 01コントロールプレーンとダッシュボード用の型付きツール
- 02BearerトークンによるAPI認証
- 03読み取り専用注釈と承認メタデータ
- 04オプションのCPU/GPUワーカー診断
- 05生のシェルや任意のSSHコマンドには非対応
活用シーン
- 01MCPクライアントからEnochの状態を確認
- 02型付きAPIツールによるEnochの操作
- 03設定済みワーカーの稼働状況と診断の確認
MCP 対応
ローカルstdio経由で、Enochコントロールプレーン、Dashboard V1、コアAPIの操作をMCPツールとして公開します。クライアントはAPI応答を受け取り、任意設定のワーカープローブから指定の診断情報を取得できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
enoch-mcp
enoch-mcp は、設定済みの Enoch FastAPI コントロールプレーン API 用のローカル Model Context Protocol stdio サーバーです。 MCP クライアントが、生のシェルを公開したり Enoch のビジネスロジックを再実装したりすることなく、型付きツールを通じて Enoch を調査、操作できるようにします。
Enoch システムのリポジトリ · ドキュメント · MCP
機能
- Enoch コントロールプレーン、Dashboard V1、コアエンドポイント用の MCP ツールを登録します。
- 設定された Enoch API URL にリクエストを送信します。
- 設定されたトークンを使って、API リクエストに
Authorization: Bearer <token>を追加します。 - Enoch API のレスポンスを MCP クライアントに返します。
- 読み取り専用ツールに MCP の読み取り専用アノテーションを付与します。
- 変更を伴うツールを読み取り専用ではないものとしてマークし、承認メタデータを追加します。
- ドライラン操作では安全なデフォルトを維持します。
- 必要に応じて、ワーカー API または許可リストに登録された SSH 診断を通じて、設定済みの CPU/GPU ワーカーを直接プローブします。
実行しないこと
- 生のシェルツールは公開しません。
- 任意の SSH コマンドは受け付けません。
- ローカルのアーティファクトファイルを直接読み書きしません。
- 言語モデルは呼び出しません。
- 作業のキャッシュ、再試行、キューイング、スケジュール設定は行いません。
- Enoch の認証や認可を回避しません。
要件
- Python 3.11 以降
- 稼働中の Enoch API(通常は
http://localhost:8787) - Enoch API の Bearer トークン
- ローカル stdio サーバーを実行できる MCP クライアント
インストール
PyPI から uvx を使って実行します。
uvx enoch-mcp --api-url http://localhost:8787 --api-token '<token>'
または、環境変数で設定します。
export ENOCH_API_URL='http://localhost:8787'
export ENOCH_API_TOKEN='<token>'
uvx enoch-mcp
チェックアウトからローカルで開発する場合:
git clone https://github.com/alias8818/enoch-mcp.git
cd enoch-mcp
uv sync --dev
uv run enoch-mcp --api-url http://localhost:8787 --api-token '<token>'
設定
| オプション | 環境変数 | デフォルト | 説明 |
|---|---|---|---|
--api-url | ENOCH_API_URL | http://localhost:8787 | Enoch API のベース URL。 |
--api-token | ENOCH_API_TOKEN | なし | Enoch API の Bearer トークン。 |
--worker-probes-json | ENOCH_WORKER_PROBES_JSON | なし | ワーカーの直接診断に使用する任意の JSON マップ。 |
--worker-probes-file | ENOCH_WORKER_PROBES_FILE | なし | ワーカーの直接診断に使用する JSON マップへの任意のパス。 |
トークンは必須です。設定されていない場合、ツール呼び出しは HTTP リクエストを送信する前に失敗します。
任意のワーカープローブ
ENOCH_WORKER_PROBES_JSON または ENOCH_WORKER_PROBES_FILE が設定されていない限り、ワーカープローブは無効です。これにより、デフォルトのパッケージは薄いコントロールプレーンブリッジとして動作します。設定すると、MCP はワーカーの状態を確認する名前付き診断を公開します。内容は、API のヘルス状態、worker-gate ダッシュボードのステータス、アクティブなプロセスマーカー、長さを制限したログ末尾、ディスク容量、想定されるアーティファクトの有無です。
例:
{
"cpu": {
"api_url": "http://127.0.0.1:18788",
"api_token": "worker-api-token",
"service_name": "enoch-control-plane",
"project_root": "/srv/enoch/projects"
},
"gpu": {
"api_url": "http://127.0.0.1:18789",
"api_token": "worker-api-token",
"ssh_host": "worker-gpu.example.internal",
"ssh_user": "enoch",
"service_name": "enoch-control-plane",
"project_root": "/srv/enoch/projects",
"log_paths": ["/var/log/enoch-control-plane.log"]
}
}
レーンごとにサポートされるフィールド:
api_url:worker-gate のベース URL。まず/healthz、/dashboard/api、/dashboard/api/run/{run_id}、/project-status/{project_id}に使用されます。api_token:ワーカーの Bearer トークン。シークレットとして扱われます。ssh_host、ssh_user、ssh_port:任意の SSH フォールバック/デバッグ先。service_name:サービスのチェックとジャーナル末尾の取得に使う systemd ユニット名。project_root、state_dir:ディスクとアーティファクトのチェックに使う、固定されたワーカーのルートディレクトリ。log_paths:末尾を取得できる、固定された worker-gate のログパス。
SSH プローブは固定された診断コマンドのみを実行します。MCP クライアントから任意のシェル入力を受け付けることはありません。ユーザーが指定する ID は、安全な実行/プロジェクト識別子の文字に制限されます。ログ出力の長さには上限があり、SSH はバッチモードかつ標準入力なしで実行されます。推奨されるデプロイ方法は、読み取り専用のワーカーユーザー、または強制コマンドポリシーを使用することです。
MCP クライアントの設定
Claude Desktop
{
"mcpServers": {
"enoch": {
"command": "uvx",
"args": ["enoch-mcp"],
"env": {
"ENOCH_API_URL": "http://localhost:8787",
"ENOCH_API_TOKEN": "replace-with-token"
}
}
}
}
ローカル開発の場合は、MCP クライアントにチェックアウトを指定します。
{
"mcpServers": {
"enoch": {
"command": "uv",
"args": ["--directory", "/path/to/enoch-mcp", "run", "enoch-mcp"],
"env": {
"ENOCH_API_URL": "http://localhost:8787",
"ENOCH_API_TOKEN": "replace-with-token"
}
}
}
}
Cursor、Copilot、Windsurf、またはその他の MCP クライアントでは、同等のローカル stdio サーバー設定を使用してください。
開発
uv sync --dev
uv run pytest -q
gitleaks detect --no-git --redact
公共安全に関する注意
このパッケージは公開されています。例ではプレースホルダーとローカル URL のみを使用してください。非公開のホスト名、LAN/Tailscale の IP アドレス、オペレーターのパス、または有効なトークンを公開しないでください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。