Skip to main content
Glama

MCP Manager

CI License: MIT Python 3.10+

Универсальный менеджер MCP-серверов — добавляйте, удаляйте, отслеживайте и настраивайте все свои MCP-серверы в одном месте.

Возможности

  • 7 обвязок (harnesses) — OpenCode, Claude Desktop, Cursor, Windsurf, Cline, Zed, Continue.dev

  • 23 инструмента — управление серверами, проверка работоспособности, ротация токенов, синхронизация между обвязками

  • Каталог из 20+ серверов — GitHub, Supabase, Playwright, Docker, PostgreSQL и другие

  • Шифрование токенов — Fernet AES-128-CBC с выводом ключа PBKDF2

  • Синхронизация между обвязками — перенос серверов между различными ИИ-инструментами для кодирования

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 Server

supabase

npx

Supabase MCP Server

playwright

npx

Автоматизация браузера Playwright

chrome-devtools

npx

Chrome DevTools Protocol

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

Безопасность токенов

Токены хранятся в зашифрованной SQLite-базе данных с использованием Fernet (AES-128-CBC).

Установите 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.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for managing multiple SSH servers via AI assistants, offering tools for remote command execution, file operations, and system monitoring.
    11
    37 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.
    -