Minecraft服务器控制协议

MCSS MCP Server是一个通过MCP协议控制Minecraft服务器的工具,提供服务器管理、备份管理和任务调度等功能,适用于Minecraft服务器管理员和开发者。

  • by largeorbitalobject
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 largeorbitalobject/mcss-mcp-server

使用说明

MCSS MCP服务器

一种模型上下文协议(MCP)服务器,用于通过MCSS(Minecraft服务器软件)API控制Minecraft的服务器。此工具可使用Claude Desktop等MCP客户端与您的Minecraft服务器进行无缝交互。

🌟 特性

  • 服务器管理

    • 列出所有由MCSS管理的Minecraft服务器
    • 获取特定服务器的详细信息
    • 执行电源操作(启动、停止、重启、终止)
    • 执行Minecraft命令
    • 实时查看服务器控制台输出
    • 更新服务器设置(名称、描述、崩溃处理等)
  • 备份管理

    • 列出可用备份
    • 创建新的备份配置
    • 按需运行备份
  • 日程管理

    • 列出计划任务
    • 创建新的计划任务(命令、备份、服务器操作)
    • 更新现有任务
    • 删除任务
    • 按需运行任务

📋 先决条件

  • Python 3.10或更高版本
  • MCSS(Minecraft服务器软件),启用Web API
  • MCSS Web API的API密钥
  • Claude Desktop(用于MCP客户端功能)

🚀 快速开始

安装

  1. 克隆此存储库:

    git clone https://github.com/largeorbitalobject/mcss-mcp-server.git
    cd mcss-mcp-server
    
  2. 创建并激活虚拟环境:

    python -m venv venv
    # On Windows
    .\venv\Scripts\activate
    # On Linux/Mac
    source venv/bin/activate
    
  3. 安装所需的依赖项:

    pip install mcp[cli] httpx python-dotenv
    

配置

  1. 创建一个 .env 项目根目录中的文件:

    MCSS_HOST=your_mcss_host_ip
    MCSS_PORT=25560
    MCSS_API_KEY=your_mcss_api_key
    
  2. 配置Claude Desktop以使用此MCP服务器:

    • 打开您的Claude Desktop配置文件:
      • 窗户: %AppData%\Claude\claude_desktop_config.json
      • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 添加以下配置:
      {
        "mcpServers": {
          "mcss-control": {
            "command": "C:\\path\\to\\mcss-mcp-server\\run_mcss_mcp.bat",
            "args": []
          }
        }
      }
      
    • 将路径替换为系统上批处理文件的实际路径

🔧 在Claude Desktop中使用MCP工具

启动Claude Desktop后,服务器将自动启动,您可以使用以下工具:

服务器管理

get_servers()

返回由MCSS管理的所有Minecraft服务器的列表。

get_server_details(server_id)

返回特定服务器的详细信息。

edit_server(server_id, name=None, description=None, is_set_to_auto_start=None, force_save_on_stop=None, java_allocated_memory=None, keep_online=None)

更新特定Minecraft服务器的设置。这 keep_online 参数控制碰撞处理(0=无,1=升高,2=攻击性)。

execute_server_action(server_id, action)

在服务器上执行电源操作。有效操作: start, stop, restart, kill.

execute_server_command(server_id, command)

在服务器上执行Minecraft命令。

get_server_console(server_id, lines=50)

返回服务器的控制台输出。

备份管理

get_backups(server_id)

返回服务器的备份列表。

create_backup(server_id, name, description="", compression=None)

创建新的备份配置。

run_backup(server_id, backup_id)

为服务器运行备份。

日程管理

get_scheduler_tasks(server_id)

返回服务器的计划任务列表。

create_scheduler_task(server_id, name, enabled=True, ...)

创建新的计划任务。

update_scheduler_task(server_id, task_id, name=None, ...)

更新现有的计划任务。

delete_scheduler_task(server_id, task_id)

删除计划任务。

run_scheduler_task(server_id, task_id)

立即运行计划任务。

📁 项目结构

mcss-mcp-server/
├── mcss_mcp/                # Main package
│   ├── __init__.py          # Package initialization
│   └── server.py            # MCP server implementation
├── main.py                  # Entry point script
├── run_mcss_mcp.bat         # Batch script to run the server
├── .env                     # Environment variables (not in repo)
└── README.md                # This file

🤝 贡献

欢迎投稿!请随时提交拉取请求。

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🙏 致谢