mcsm-mcp
mcsm-mcp — MCP-сервер для управления Minecraft-серверами через MCSManager
Автономный MCP-сервер, преобразованный из плагина AstrBot siwu-mcs-manager-1_0 (исходный плагин AstrBot_siwu-mcs-manager):
управляет экземплярами Minecraft-серверов через API панели MCSManager (список / статус / запуск / остановка / перезапуск / принудительная остановка / команды консоли),
готов к использованию любым MCP-совместимым клиентом (Claude Desktop, IDE, агентные фреймворки и т. д.) по принципу «подключи и работай».
Обзор инструментов (10 шт.)
Инструмент | Описание |
| Вывести список всех экземпляров серверов (имя/статус/онлайн-игроки/порт) |
| Запросить подробный статус указанного экземпляра (статус/онлайн-игроки/порт/команда запуска) |
| Запустить указанный экземпляр (асинхронно в фоне) |
| Штатно остановить указанный экземпляр (безопасное сохранение) |
| Перезапустить указанный экземпляр |
| Принудительно остановить указанный экземпляр (убить процесс, возможна потеря данных) |
| Отправить команду консоли экземпляру (say/op/whitelist/give/tp/list и т. д.) |
| Опрашивать и ждать достижения экземпляром целевого статуса (замена фоновых push-уведомлений плагина) |
| Просмотреть текущую активную конфигурацию (API-ключ/пароль скрыты) |
| Горячая перезагрузка конфигурации (не нужен перезапуск после правки .env), также позволяет переключить файл конфигурации |
Related MCP server: MCSManager MCP Server
Отличия от исходного плагина
Исходный плагин (AstrBot) | Этот MCP-сервер |
Инструменты возвращают текст на китайском, ответ формирует LLM | Возвращает структурированный JSON, вызывающая сторона сама формирует ответ |
Права в QQ-группах (admin_ids / admin_role) | Переключатель чтения/записи |
После запуска/остановки — фоновый опрос + активные push-уведомления |
|
Команды-триггеры вида | Передаётся клиенту/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 | Описание |
|
| Адрес панели |
|
| API-ключ v10 (рекомендуется) |
|
| Вход по логину/паролю (v9) |
|
| Таймаут запроса (сек.) |
|
| Права QQ-групп → общий переключатель чтения/записи (по умолчанию только чтение) |
|
| Белый список команд (через запятую) |
|
| Чёрный список команд |
|
| Время ожидания по умолчанию для инструмента wait (сек.) |
| — (включено при запуске процесса) | Общий переключатель больше не нужен: не запускаете процесс — функция отключена |
| — (не имеет смысла) | MCP-инструменты раскрываются клиентом по мере необходимости, принудительная инъекция не нужна |
Шаги изменения:
Отредактируйте
servers/mcs-manager/.env(если файла нет, сначалаcp .env.example .env);Вызовите инструмент
mcs_reload_configдля горячего применения, либо просто перезапустите процесс сервера;Проверьте применённые значения через
mcs_get_config(учётные данные будут скрыты и показаны как***).
Если переменные окружения передаются через конфигурацию клиента (например, блок
envв конфигурации Claude Desktop), после изменения также вызовитеmcs_reload_configили перезапустите процесс.
Запуск
stdio (локальный процесс, рекомендуется):
.venv/Scripts/python -m mcsm_mcp
# 或已安装的入口命令:mcsm-mcpHTTP (удалённо / несколько клиентов):
.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.
Полный список переменных окружения
Переменная | Описание | По умолчанию |
| Адрес панели (без завершающего слэша) |
|
| API-ключ панели (рекомендуется v10) | пусто |
| Вход по логину/паролю (v9 или если ключ не задан) | пусто |
| Таймаут запроса к панели (сек.) |
|
| Переключатель операций записи |
|
| Белый список команд консоли (префиксы через запятую; пусто = разрешено всё) | пусто |
| Чёрный список опасных команд (по первому слову) |
|
| Лимит ожидания по умолчанию для |
|
|
|
|
| Адрес/порт прослушивания http |
|
| Путь к файлу .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 # 环境变量配置 + 读写开关 + 指令白/黑名单策略Maintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables management of Minecraft servers through the MCSManager API. Supports executing server commands, checking player status, retrieving server information, and controlling game settings like weather.191MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to manage Minecraft servers through MCSManager, including instance control (start/stop/restart), file management, scheduled tasks, user management, and backup operations.5
- AlicenseAqualityDmaintenanceEnables Minecraft server management via RCON: execute commands, list players, get server info, manage whitelist and operators.91MIT
- AlicenseNot gradedqualityBmaintenanceEnables managing Pterodactyl Game Panel servers via Client and Application APIs, including power actions, files, databases, backups, schedules, and administrative operations.115MIT
Related MCP Connectors
A basic MCP server to operate on the Postman API.
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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