Skip to main content
Glama
siwuli

mcsm-mcp

by siwuli

mcsm-mcp — MCP-сервер для управления Minecraft-серверами через MCSManager

Автономный MCP-сервер, преобразованный из плагина AstrBot siwu-mcs-manager-1_0 (исходный плагин AstrBot_siwu-mcs-manager): управляет экземплярами Minecraft-серверов через API панели MCSManager (список / статус / запуск / остановка / перезапуск / принудительная остановка / команды консоли), готов к использованию любым MCP-совместимым клиентом (Claude Desktop, IDE, агентные фреймворки и т. д.) по принципу «подключи и работай».

Обзор инструментов (10 шт.)

Инструмент

Описание

mcs_list_instances

Вывести список всех экземпляров серверов (имя/статус/онлайн-игроки/порт)

mcs_instance_status

Запросить подробный статус указанного экземпляра (статус/онлайн-игроки/порт/команда запуска)

mcs_start_instance

Запустить указанный экземпляр (асинхронно в фоне)

mcs_stop_instance

Штатно остановить указанный экземпляр (безопасное сохранение)

mcs_restart_instance

Перезапустить указанный экземпляр

mcs_kill_instance

Принудительно остановить указанный экземпляр (убить процесс, возможна потеря данных)

mcs_exec_command

Отправить команду консоли экземпляру (say/op/whitelist/give/tp/list и т. д.)

mcs_wait_for_status

Опрашивать и ждать достижения экземпляром целевого статуса (замена фоновых push-уведомлений плагина)

mcs_get_config

Просмотреть текущую активную конфигурацию (API-ключ/пароль скрыты)

mcs_reload_config

Горячая перезагрузка конфигурации (не нужен перезапуск после правки .env), также позволяет переключить файл конфигурации

Related MCP server: MCSManager MCP Server

Отличия от исходного плагина

Исходный плагин (AstrBot)

Этот MCP-сервер

Инструменты возвращают текст на китайском, ответ формирует LLM

Возвращает структурированный JSON, вызывающая сторона сама формирует ответ

Права в QQ-группах (admin_ids / admin_role)

Переключатель чтения/записи MCSM_ALLOW_WRITE (по умолчанию только чтение), контроль доступа — на стороне клиента

После запуска/остановки — фоновый опрос + активные push-уведомления

mcs_wait_for_status — LLM опрашивает по мере необходимости для подтверждения

Команды-триггеры вида mc列表

Передаётся клиенту/LLM для прямого использования инструментов (нет контекста чата)

Принудительные хуки инструментов агента / инъекция системного промпта

MCP-инструменты естественно раскрываются клиентом по мере необходимости, инъекция не нужна

Быстрый старт

cd servers/mcs-manager
python -m venv .venv                 # 或 uv venv .venv
.venv/Scripts/pip install -e .        # 或 uv pip install -p .venv -e .

Конфигурация (скопируйте .env.example в .env и заполните, либо используйте переменные окружения напрямую):

MCSM_BASE_URL=http://127.0.0.1:23333   # 面板地址
MCSM_API_KEY=xxxx                      # v10 API Key(推荐);或 MCSM_USERNAME + MCSM_PASSWORD
MCSM_ALLOW_WRITE=1                     # 写操作开关:0=只读(默认),1=允许启动/停止等

Как изменить конфигурацию (конфигурация плагина → конфигурация MCP)

Исходный плагин AstrBot настраивался в панели управления; после MCP-преобразования конфигурация — это файл servers/mcs-manager/.env (или переменные окружения). Соответствие параметрам исходного плагина приведено в таблице ниже, значения по умолчанию полностью совпадают:

Параметр исходного плагина

Переменная окружения MCP

Описание

mcs_base_url

MCSM_BASE_URL

Адрес панели

mcs_api_key

MCSM_API_KEY

API-ключ v10 (рекомендуется)

mcs_username / mcs_password

MCSM_USERNAME / MCSM_PASSWORD

Вход по логину/паролю (v9)

mcs_api_timeout

MCSM_TIMEOUT

Таймаут запроса (сек.)

mcs_permission_enabled + mcs_admin_ids/mcs_admin_role

MCSM_ALLOW_WRITE

Права QQ-групп → общий переключатель чтения/записи (по умолчанию только чтение)

mcs_command_whitelist

MCSM_COMMAND_WHITELIST

Белый список команд (через запятую)

mcs_blocked_commands

MCSM_BLOCKED_COMMANDS

Чёрный список команд

mcs_operation_wait

MCSM_OPERATION_WAIT

Время ожидания по умолчанию для инструмента wait (сек.)

mcs_enabled

— (включено при запуске процесса)

Общий переключатель больше не нужен: не запускаете процесс — функция отключена

mcs_force_agent_tool

— (не имеет смысла)

MCP-инструменты раскрываются клиентом по мере необходимости, принудительная инъекция не нужна

Шаги изменения:

  1. Отредактируйте servers/mcs-manager/.env (если файла нет, сначала cp .env.example .env);

  2. Вызовите инструмент mcs_reload_config для горячего применения, либо просто перезапустите процесс сервера;

  3. Проверьте применённые значения через mcs_get_config (учётные данные будут скрыты и показаны как ***).

Если переменные окружения передаются через конфигурацию клиента (например, блок env в конфигурации Claude Desktop), после изменения также вызовите mcs_reload_config или перезапустите процесс.

Запуск

stdio (локальный процесс, рекомендуется):

.venv/Scripts/python -m mcsm_mcp
# 或已安装的入口命令:mcsm-mcp

HTTP (удалённо / несколько клиентов):

.venv/Scripts/python -m mcsm_mcp --transport http --host 127.0.0.1 --port 8000
# 端点:http://127.0.0.1:8000/mcp (streamable-http)

Пример подключения клиента (stdio)

claude_desktop_config.json для Claude Desktop:

{
  "mcpServers": {
    "mcs-manager": {
      "command": "<安装路径>/.venv/Scripts/python.exe",  // Windows;Linux/macOS 用 <安装路径>/.venv/bin/python
      "args": ["-m", "mcsm_mcp"],
      "env": {
        "MCSM_BASE_URL": "http://127.0.0.1:23333",
        "MCSM_API_KEY": "你的面板 API Key",
        "MCSM_ALLOW_WRITE": "1"
      }
    }
  }
}

Отладка: в npx @modelcontextprotocol/inspector выберите stdio и укажите указанные выше command/args.

Полный список переменных окружения

Переменная

Описание

По умолчанию

MCSM_BASE_URL

Адрес панели (без завершающего слэша)

http://127.0.0.1:23333

MCSM_API_KEY

API-ключ панели (рекомендуется v10)

пусто

MCSM_USERNAME / MCSM_PASSWORD

Вход по логину/паролю (v9 или если ключ не задан)

пусто

MCSM_TIMEOUT

Таймаут запроса к панели (сек.)

15

MCSM_ALLOW_WRITE

Переключатель операций записи

0 (только чтение)

MCSM_COMMAND_WHITELIST

Белый список команд консоли (префиксы через запятую; пусто = разрешено всё)

пусто

MCSM_BLOCKED_COMMANDS

Чёрный список опасных команд (по первому слову)

stop,restart

MCSM_OPERATION_WAIT

Лимит ожидания по умолчанию для mcs_wait_for_status (сек.)

600

MCSM_TRANSPORT

stdio или http

stdio

MCSM_HOST / MCSM_PORT

Адрес/порт прослушивания http

127.0.0.1 / 8000

MCSM_ENV_FILE

Путь к файлу .env (необязательно)

.env

Тестирование

.venv/Scripts/python tests/test_smoke.py   # stdio:tools/list + 无凭据/只读拦截/连接错误
.venv/Scripts/python tests/test_http.py    # streamable-http 握手与调用

Замечания по безопасности

  • По умолчанию только чтение: запуск/остановка/перезапуск/принудительная остановка/отправка команд требуют MCSM_ALLOW_WRITE=1; включайте только при подключении доверенных клиентов.

  • Чёрный список команд по умолчанию блокирует stop/restart, чтобы предотвратить обход операций панели через команды консоли; дополнительно можно ужесточить белым списком.

  • Учётные данные панели хранятся в .env (исключён через .gitignore) или в переменных окружения; не коммитьте их в репозиторий.

  • Возврат submitted=true от инструментов записи означает лишь, что команда отправлена (асинхронно в фоне); для подтверждения завершения используйте mcs_wait_for_status.

Структура исходного кода

src/mcsm_mcp/
├── __main__.py   # python -m mcsm_mcp 入口
├── server.py     # MCPServer + 8 个工具(mcp SDK 2.x)
├── api.py        # MCSManagerAPI 客户端(无 AstrBot 依赖,含 v9/v10 兼容)
└── config.py     # 环境变量配置 + 读写开关 + 指令白/黑名单策略
Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/siwuli/mcp-server-mcs-manager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server