Skip to main content
Glama
siwuli

mcsm-mcp

by siwuli

mcsm-mcp – MCSManager Minecraft-Serververwaltung MCP Server

Ein eigenständiger MCP Server, umgewandelt aus dem AstrBot-Plugin siwu-mcs-manager-1_0 (Quell-Plugin AstrBot_siwu-mcs-manager): Verwaltet Minecraft-Serverinstanzen (Liste / Status / Start / Stopp / Neustart / Zwangsstopp / Konsolenbefehle) über die MCSManager-Panel-API, einsatzbereit für jeden MCP-fähigen Client (Claude Desktop, IDE, Agent-Frameworks usw.).

Werkzeugübersicht (10 Stück)

Werkzeug

Beschreibung

mcs_list_instances

Alle Serverinstanzen auflisten (Name/Status/Online-Spieler/Port)

mcs_instance_status

Statusdetails einer bestimmten Instanz abfragen (Status/Online-Spieler/Port/Startbefehl)

mcs_start_instance

Bestimmte Instanz starten (asynchron im Hintergrund)

mcs_stop_instance

Bestimmte Instanz normal stoppen (sicheres Speichern)

mcs_restart_instance

Bestimmte Instanz neu starten

mcs_kill_instance

Bestimmte Instanz zwangsweise stoppen (Prozess beenden, möglicher Datenverlust)

mcs_exec_command

Konsolenbefehl an Instanz senden (say/op/whitelist/give/tp/list usw.)

mcs_wait_for_status

Polling, bis die Instanz den Zielstatus erreicht (ersetzt die Hintergrund-Push-Benachrichtigung des Plugins)

mcs_get_config

Aktuell gültige Konfiguration anzeigen (API-Key/Passwort maskiert)

mcs_reload_config

Konfiguration heiß neu laden (nach .env-Änderung kein Neustart nötig), auch Wechsel der Konfigurationsdatei möglich

Related MCP server: MCSManager MCP Server

Unterschiede zum Original-Plugin

Original-Plugin (AstrBot)

Dieser MCP Server

Werkzeuge geben chinesischen Text zurück, LLM formuliert die Antwort

Gibt strukturiertes JSON zurück, der Aufrufer formuliert selbst

QQ-Gruppenberechtigungen (admin_ids / admin_role)

Lese-/Schreibschalter MCSM_ALLOW_WRITE (Standard: nur lesen), Zugriffskontrolle übernimmt der aufrufende Client

Nach Start/Stopp Hintergrund-Polling + aktive Push-Benachrichtigung

mcs_wait_for_status wird von der LLM bei Bedarf per Polling bestätigt

Aktivierungswort-Befehle wie mc列表

Dem Client/der LLM überlassen, Werkzeuge direkt zu nutzen (kein Chat-Kontext)

Erzwungene Agent-Tool-Hooks/System-Prompt-Injektion

MCP-Werkzeuge werden vom Client natürlich bei Bedarf bereitgestellt, keine Injektion nötig

Schnellstart

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

Konfiguration (.env.example als .env kopieren und ausfüllen, oder direkt Umgebungsvariablen verwenden):

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=允许启动/停止等

So ändern Sie die Konfiguration (Plugin-Konfiguration → MCP-Konfiguration)

Das ursprüngliche AstrBot-Plugin wurde über das Verwaltungspanel konfiguriert; nach der MCP-Umwandlung ist die Konfiguration eine servers/mcs-manager/.env-Datei (oder Umgebungsvariablen). Die Entsprechung zu den Konfigurationsoptionen des Original-Plugins zeigt die folgende Tabelle, die Standardwerte sind vollständig identisch:

Konfigurationsoption des Original-Plugins

MCP-Umgebungsvariable

Beschreibung

mcs_base_url

MCSM_BASE_URL

Panel-Adresse

mcs_api_key

MCSM_API_KEY

v10 API-Key (empfohlen)

mcs_username / mcs_password

MCSM_USERNAME / MCSM_PASSWORD

Anmeldung mit Benutzername/Passwort (v9)

mcs_api_timeout

MCSM_TIMEOUT

Anfragetimeout (Sekunden)

mcs_permission_enabled + mcs_admin_ids/mcs_admin_role

MCSM_ALLOW_WRITE

QQ-Gruppenberechtigung → Lese-/Schreib-Hauptschalter (Standard: nur lesen)

mcs_command_whitelist

MCSM_COMMAND_WHITELIST

Befehls-Whitelist (kommagetrennt)

mcs_blocked_commands

MCSM_BLOCKED_COMMANDS

Befehls-Blacklist

mcs_operation_wait

MCSM_OPERATION_WAIT

Standard-Wartezeit des wait-Werkzeugs in Sekunden

mcs_enabled

— (aktiv, sobald der Prozess läuft)

Kein Hauptschalter mehr nötig; Prozess nicht starten = deaktiviert

mcs_force_agent_tool

— (bedeutungslos)

MCP-Werkzeuge werden vom Client bei Bedarf bereitgestellt, keine erzwungene Injektion

Änderungsschritte:

  1. servers/mcs-manager/.env bearbeiten (falls nicht vorhanden, zuerst cp .env.example .env);

  2. Werkzeug mcs_reload_config aufrufen, um die Änderung heiß zu übernehmen, oder den Server-Prozess direkt neu starten;

  3. Mit mcs_get_config die gültigen Werte prüfen (Zugangsdaten werden maskiert als *** angezeigt).

Werden Umgebungsvariablen über die Client-Konfiguration übergeben (z. B. der env-Block in der Claude-Desktop-Konfiguration), genügt nach der Änderung ebenfalls der Aufruf von mcs_reload_config oder ein Neustart.

Ausführung

stdio (lokaler Prozess, empfohlen):

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

HTTP (remote/mehrere Clients):

.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-Anbindungsbeispiel (stdio)

claude_desktop_config.json von 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"
      }
    }
  }
}

Debugging: Im npx @modelcontextprotocol/inspector stdio auswählen und die obigen command/args eintragen.

Vollständige Umgebungsvariablen

Variable

Beschreibung

Standard

MCSM_BASE_URL

Panel-Adresse (ohne abschließenden Schrägstrich)

http://127.0.0.1:23333

MCSM_API_KEY

Panel-API-Key (v10 empfohlen)

leer

MCSM_USERNAME / MCSM_PASSWORD

Anmeldung mit Benutzername/Passwort (v9 oder ohne Key)

leer

MCSM_TIMEOUT

Panel-Anfragetimeout (Sekunden)

15

MCSM_ALLOW_WRITE

Schreibvorgang-Schalter

0 (nur lesen)

MCSM_COMMAND_WHITELIST

Konsolenbefehls-Whitelist (kommagetrennte Präfixe; leer = alle erlaubt)

leer

MCSM_BLOCKED_COMMANDS

Blacklist gefährlicher Befehle (Abgleich nach erstem Wort)

stop,restart

MCSM_OPERATION_WAIT

Standard-Warteobergrenze von mcs_wait_for_status (Sekunden)

600

MCSM_TRANSPORT

stdio oder http

stdio

MCSM_HOST / MCSM_PORT

HTTP-Listenadresse/Port

127.0.0.1 / 8000

MCSM_ENV_FILE

Pfad zur .env-Datei (optional)

.env

Tests

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

Sicherheitshinweise

  • Standardmäßig nur lesen: Start/Stopp/Neustart/Zwangsstopp/Befehle senden erfordern MCSM_ALLOW_WRITE=1; nur bei vertrauenswürdigen Clients aktivieren.

  • Die Befehls-Blacklist blockiert standardmäßig stop/restart, um eine Umgehung der Panel-Operationen über Konsolenbefehle zu verhindern; zusätzlich kann eine Whitelist zur Verschärfung konfiguriert werden.

  • Panel-Zugangsdaten liegen in .env (durch .gitignore ausgeschlossen) oder in Umgebungsvariablen; nicht ins Repository committen.

  • submitted=true von Schreibwerkzeugen bedeutet nur, dass der Befehl übermittelt wurde (asynchron im Hintergrund); zur Bestätigung der Fertigstellung mcs_wait_for_status verwenden.

Quellcode-Struktur

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