Skip to main content
Glama

MCP Manager

CI License: MIT Python 3.10+

ユニバーサルMCPサーバーマネージャー — すべてのMCPサーバーを1か所から追加、削除、監視、設定できます。

機能

  • 7つのハーネス — OpenCode、Claude Desktop、Cursor、Windsurf、Cline、Zed、Continue.dev

  • 23のツール — サーバー管理、ヘルスチェック、トークンローテーション、クロスハーネス同期

  • 20以上のサーバーカタログ — GitHub、Supabase、Playwright、Docker、PostgreSQL など

  • 暗号化トークン — PBKDF2 キー導出による Fernet AES-128-CBC

  • クロスハーネス同期 — 異なるAIコーディングツール間でサーバーを移行

Related MCP server: git-org-group-cred-vault

クイックスタート

git clone https://github.com/kobramantra-debug/mcp-manager-mcp-manage.git
cd mcp-manager-mcp-manage
pip install -e .

インストール

ソースから

git clone https://github.com/kobramantra-debug/mcp-manager-mcp-manage.git
cd mcp-manager-mcp-manage
pip install -e .

Docker

docker build -t mcp-manager .

設定

環境変数

変数

デフォルト

説明

MCP_HARNESS

opencode

管理するアクティブなハーネス

MCP_CONFIG_PATH

(自動検出)

設定ファイルパスの上書き

MCP_MANAGER_MASTER_PASSWORD

(なし)

Fernet 暗号化用のマスターパスワード

OpenCode

~/.config/opencode/opencode.json に追加:

{
  "mcp": {
    "mcp-manager": {
      "type": "local",
      "command": ["python", "-m", "src"],
      "cwd": "/path/to/mcp-manager",
      "enabled": true
    }
  }
}

Claude Desktop

%APPDATA%/Claude/claude_desktop_config.json に追加:

{
  "mcpServers": {
    "mcp-manager": {
      "command": "python",
      "args": ["-m", "src"],
      "cwd": "/path/to/mcp-manager"
    }
  }
}

Cursor

~/.cursor/mcp.json に追加:

{
  "mcpServers": {
    "mcp-manager": {
      "command": "python",
      "args": ["-m", "src"],
      "cwd": "/path/to/mcp-manager"
    }
  }
}

Docker (STDIO)

{
  "mcp": {
    "mcp-manager": {
      "type": "docker",
      "command": ["docker", "run", "-i", "--rm", "mcp-manager"],
      "enabled": true
    }
  }
}

例

1. すべてのハーネスを一覧表示し、インストール状況を確認する

list_harnesses_info()
{
  "harnesses": [
    {"id": "opencode", "name": "OpenCode", "installed": true, "is_active": true},
    {"id": "claude-desktop", "name": "Claude Desktop", "installed": true, "is_active": false},
    {"id": "cursor", "name": "Cursor", "installed": false, "is_active": false},
    {"id": "windsurf", "name": "Windsurf", "installed": false, "is_active": false},
    {"id": "cline", "name": "Cline", "installed": false, "is_active": false},
    {"id": "zed", "name": "Zed", "installed": false, "is_active": false},
    {"id": "continue", "name": "Continue.dev", "installed": false, "is_active": false}
  ],
  "active": "opencode",
  "installed_count": 2
}

2. Claude Desktop に切り替えてサーバーを一覧表示する

switch_harness("claude-desktop")
list_servers()
{
  "harness": "Claude Desktop",
  "servers": [
    {"name": "github", "enabled": true, "type": "docker"},
    {"name": "playwright", "enabled": true, "type": "npx"}
  ],
  "count": 2
}

3. カタログから GitHub MCP サーバーを追加する

add_from_catalog("github")
{
  "success": true,
  "action": "added",
  "server": "github",
  "harness": "OpenCode",
  "catalog_entry": "github",
  "config": {
    "type": "docker",
    "command": ["docker", "run", "-i", "--rm", "-e", "GITHUB_TOKEN={env:GITHUB_TOKEN}", "ghcr.io/github/github-mcp-server"],
    "enabled": true
  }
}

4. カスタムリモートサーバーを追加する

add_server(
    name="my-api",
    server_type="remote",
    url="https://api.example.com/mcp",
    env_vars="API_KEY=sk-123,BASE_URL=https://api.example.com"
)
{
  "success": true,
  "action": "added",
  "server": "my-api",
  "config": {
    "type": "remote",
    "url": "https://api.example.com/mcp",
    "environment": {"API_KEY": "sk-123", "BASE_URL": "https://api.example.com"},
    "enabled": true
  }
}

5. すべてのサーバーでヘルスチェックを実行する

health_check()
{
  "harness": "opencode",
  "summary": {"total": 3, "healthy": 2, "unhealthy": 1, "unknown": 0, "timeout": 0},
  "results": {
    "github": {"status": "healthy", "message": "Server: github-mcp-server", "latency_ms": 1250.3},
    "playwright": {"status": "healthy", "message": "Server: playwright", "latency_ms": 890.1},
    "my-api": {"status": "unhealthy", "message": "No response (exit 1)", "latency_ms": 5000.0}
  }
}

6. OpenCode から Cursor へすべてのサーバーを同期する

sync_to_harness("cursor")
{
  "success": true,
  "source": "OpenCode",
  "target": "Cursor",
  "servers_synced": 3,
  "added": 3,
  "updated": 0
}

7. 有効期限付きトークンをローテーションする

rotate_token("github", "ghp_new_token_abc123", expires_at="2026-12-31")
{
  "success": true,
  "action": "token_rotated",
  "server": "github",
  "preview": "ghp_***abc123",
  "expires_at": "2026-12-31"
}

8. サーバーカタログを検索する

search_catalog("database")
{
  "results": [
    {"id": "postgres", "name": "PostgreSQL", "description": "PostgreSQL database server", "category": "database"},
    {"id": "sqlite", "name": "SQLite", "description": "SQLite database server", "category": "database"}
  ],
  "count": 2
}

9. 別のハーネス用に設定をエクスポートする

export_for_harness("claude-desktop")
{
  "source_harness": "opencode",
  "target_harness": "claude-desktop",
  "config": {
    "mcpServers": {
      "github": {"command": "docker", "args": ["run", "-i", "--rm", "ghcr.io/github/github-mcp-server"]},
      "playwright": {"command": "npx", "args": ["-y", "@anthropic/playwright-mcp"]}
    }
  },
  "note": "Import this JSON into Claude Desktop"
}

10. 保存済みトークンを一覧表示する(安全 — プレビューのみ)

list_all_tokens()
{
  "tokens": {
    "github": {"token_preview": "ghp_***abc123", "storage_backend": "encrypted_sqlite"},
    "supabase": {"token_preview": "sb-***xyz789", "storage_backend": "encrypted_sqlite"}
  },
  "count": 2
}

ツールリファレンス

ハーネス管理

ツール

説明

list_harnesses_info

すべてのハーネスとインストール状況を一覧表示

switch_harness

アクティブなハーネスを切り替え

get_active_harness

現在のハーネス情報を取得

サーバー管理

ツール

説明

list_servers

設定済みサーバーを一覧表示

add_server

新しいサーバーを追加

remove_server

サーバーを削除

get_server_detail

サーバー詳細を取得

enable_server

無効なサーバーを有効化

disable_server

サーバーを無効化

ヘルス & モニタリング

ツール

説明

test_connection

単一サーバーをテスト

health_check

すべてのサーバーをテスト

get_logs

ヘルスチェック履歴を取得

トークン管理

ツール

説明

rotate_token

API トークンを更新

retrieve_token

復号化されたトークンを取得(注意して使用)

list_all_tokens

保存済みトークンを一覧表示(プレビューのみ)

get_token_history

ローテーション履歴を取得

list_token_backends

暗号化ステータスを表示

エクスポート / インポート / 同期

ツール

説明

export_config

設定を JSON としてエクスポート

import_config

JSON から設定をインポート

export_for_harness

別のハーネス形式でエクスポート

sync_to_harness

サーバーを別のハーネスに同期

カタログ

ツール

説明

search_catalog

サーバーカタログを検索

add_from_catalog

カタログからサーバーを追加

対応ハーネス

ハーネス

設定パス

形式

OpenCode

~/.config/opencode/opencode.json

mcp (キー付きオブジェクト)

Claude Desktop

%APPDATA%/Claude/claude_desktop_config.json

mcpServers (キー付きオブジェクト)

Cursor

~/.cursor/mcp.json

mcpServers (キー付きオブジェクト)

Windsurf

~/.codeium/windsurf/mcp_config.json

mcpServers (キー付きオブジェクト)

Cline

%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

mcpServers (キー付きオブジェクト)

Zed

%APPDATA%/Zed/settings.json

context_servers (ネストオブジェクト)

Continue.dev

~/.continue/config.json

mcpServers (配列)

サーバーカタログ

サーバー

タイプ

説明

github

docker

GitHub MCP サーバー

supabase

npx

Supabase MCP サーバー

playwright

npx

Playwright ブラウザ自動化

chrome-devtools

npx

Chrome DevTools プロトコル

context7

npx

Context7 ドキュメント検索

filesystem

local

ファイルシステムアクセス

git

local

Git 操作

postgres

npx

PostgreSQL データベース

sqlite

npx

SQLite データベース

docker

local

Docker 管理

brave-search

npx

Brave Search API

fetch

npx

HTTP フェッチツール

memory

local

ナレッジグラフメモリ

slack

npx

Slack ワークスペース統合

gdrive

npx

Google Drive アクセス

google-maps

npx

Google Maps API

puppeteer

npx

Puppeteer ブラウザ自動化

everything

npx

ユニバーサル検索

stitch

npx

Stitch UI デザイン

トークンセキュリティ

トークンは Fernet (AES-128-CBC) を使用して暗号化された SQLite データベースに保存されます。

MCP_MANAGER_MASTER_PASSWORD を設定して暗号化を有効にします:

# Linux/macOS
export MCP_MANAGER_MASTER_PASSWORD="your-secure-password"

# Windows
set MCP_MANAGER_MASTER_PASSWORD=your-secure-password

マスターパスワードがない場合、トークンは平文で保存されます(本番環境では推奨されません)。

ライセンス

MIT ライセンス — 詳細は LICENSE を参照してください。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    MCP server for managing multiple SSH servers via AI assistants, offering tools for remote command execution, file operations, and system monitoring.
    11
    45 PyPI
    2
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables LLMs to manage, aggregate, and proxy other MCP servers dynamically, including discovering, adding, enabling, disabling, and configuring servers while exposing their tools under unified prefixes.
    -