mcsm-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcsm-mcpshow me all Minecraft server instances and their status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcsm-mcp — MCSManager Minecraft Server Management MCP Server
A standalone MCP Server converted from the AstrBot plugin siwu-mcs-manager-1_0 (source plugin AstrBot_siwu-mcs-manager):
Manages Minecraft server instances (list / status / start / stop / restart / kill / console commands) via the MCSManager panel API,
ready for plug-and-play use with any MCP-capable client (Claude Desktop, IDEs, agent frameworks, etc.).
Tools at a Glance (10)
Tool | Description |
| List all server instances (name/status/online players/port) |
| Query detailed status of a specified instance (status/online players/port/start command) |
| Start a specified instance (runs asynchronously in the background) |
| Gracefully stop a specified instance (safe save) |
| Restart a specified instance |
| Force-stop a specified instance (kills the process, may lose data) |
| Send console commands to an instance (say/op/whitelist/give/tp/list, etc.) |
| Poll until an instance reaches a target status (replaces the plugin's background push notifications) |
| View the currently active configuration (API Key/password are masked) |
| Hot-reload configuration (no restart needed after editing .env), can also switch config files |
Related MCP server: MCSManager MCP Server
Differences from the Original Plugin
Original plugin (AstrBot) | This MCP Server |
Tools return Chinese text, and the LLM organizes the reply | Returns structured JSON, the caller organizes it itself |
QQ group permissions (admin_ids / admin_role) | Read/write switch |
Background polling + proactive push notifications after start/stop |
|
Wake-word commands like | Handed to the client/LLM to use the tools directly (no chat context) |
Forced agent tool hooks/system prompt injection | MCP tools are naturally exposed on demand by the client, no injection needed |
Quick Start
cd servers/mcs-manager
python -m venv .venv # 或 uv venv .venv
.venv/Scripts/pip install -e . # 或 uv pip install -p .venv -e .Configuration (copy .env.example to .env and fill it in, or use environment variables directly):
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=允许启动/停止等How to Modify Configuration (Plugin Config → MCP Config)
The original AstrBot plugin is configured in the admin panel; after MCP conversion, the config becomes the servers/mcs-manager/.env file (or environment variables).
The mapping to the original plugin's config items is shown in the table below; default values are exactly the same:
Original plugin config item | MCP environment variable | Description |
|
| Panel address |
|
| v10 API Key (recommended) |
|
| Account/password login (v9) |
|
| Request timeout (seconds) |
|
| QQ group permissions → read/write master switch (read-only by default) |
|
| Command whitelist (comma-separated) |
|
| Command blacklist |
|
| Default wait seconds for the wait tool |
| — (enabled when the process starts) | No master switch needed; not starting the process disables it |
| — (meaningless) | MCP tools are exposed on demand by the client, no forced injection needed |
Modification steps:
Edit
servers/mcs-manager/.env(if it doesn't exist, first runcp .env.example .env);Call the
mcs_reload_configtool to apply changes live, or simply restart the Server process;Use
mcs_get_configto verify the active values (credentials are masked and shown as***).
If you pass environment variables through the client config (e.g., the
envblock in the Claude Desktop config), callmcs_reload_configor restart after editing for the changes to take effect.
Running
stdio (local process, recommended):
.venv/Scripts/python -m mcsm_mcp
# 或已安装的入口命令:mcsm-mcpHTTP (remote/multi-client):
.venv/Scripts/python -m mcsm_mcp --transport http --host 127.0.0.1 --port 8000
# 端点:http://127.0.0.1:8000/mcp (streamable-http)Client Integration Example (stdio)
Claude Desktop's claude_desktop_config.json:
{
"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"
}
}
}
}Debugging: select stdio in npx @modelcontextprotocol/inspector and fill in the command/args above.
Full Environment Variables
Variable | Description | Default |
| Panel address (no trailing slash) |
|
| Panel API Key (v10 recommended) | empty |
| Account/password login (v9 or when no Key is set) | empty |
| Panel request timeout (seconds) |
|
| Write operation switch |
|
| Console command whitelist (comma-separated prefixes; empty = allow all) | empty |
| Dangerous command blacklist (matched by first word) |
|
| Default wait limit for |
|
|
|
|
| http listen address/port |
|
| Specify the .env file path (optional) |
|
Testing
.venv/Scripts/python tests/test_smoke.py # stdio:tools/list + 无凭据/只读拦截/连接错误
.venv/Scripts/python tests/test_http.py # streamable-http 握手与调用Security Notes
Read-only by default: start/stop/restart/kill/send-command all require
MCSM_ALLOW_WRITE=1; only enable it when connecting trusted clients.The command blacklist blocks
stop/restartby default to prevent bypassing panel operations via console commands; you can further tighten it with a whitelist.Panel credentials are stored in
.env(ignored by .gitignore) or environment variables; do not commit them to the repository.A write tool returning
submitted=trueonly means the command has been dispatched (asynchronous in the background); usemcs_wait_for_statusto confirm completion.
Source Structure
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