Factorio MCP服务器使用说明

项目简介

Factorio MCP服务器是一个基于Model Context Protocol (MCP)构建的应用后端,旨在为LLM(大型语言模型)客户端提供管理 Factorio 游戏服务器的能力。通过此服务器,你可以使用支持MCP协议的LLM应用(如Claude)来远程控制和监控你的Factorio服务器。它包含一个安全的HTTP后端,用于处理RCON命令,以及一个MCP服务器前端,为LLM提供高层次的工具接口。

主要功能点

  • 命令执行: 执行任意Factorio服务器控制台命令。
  • 玩家管理: 实现玩家传送、物品给予、信息查询等功能。
  • 服务器监控: 获取在线玩家数量,进行服务器状态监控。
  • 截图功能: 远程截取Factorio游戏画面。
  • Lua脚本执行: 在Factorio服务器上运行自定义Lua脚本,实现更复杂的游戏逻辑控制。

安装步骤

  1. 安装后端服务器 (backend)

    a. 进入 'backend' 目录:

    bash     cd backend     

    b. 安装Python依赖:

    bash     pip install fastapi uvicorn python-dotenv mcrcon     

    c. 创建 '.env' 配置文件,并填入Factorio服务器和API密钥信息:

    env     RCON_HOST=你的Factorio服务器IP地址或域名  # 例如:localhost     RCON_PORT=你的Factorio服务器RCON端口    # 默认端口:27015     RCON_PASSWORD=你的Factorio服务器RCON密码     API_KEY=设置一个安全的API密钥,用于MCP服务器访问后端 # 例如:my_secret_key     

    d. 启动后端服务器:

    bash     uvicorn backend.server:app --host 0.0.0.0 --port 8000     
    后端服务器默认运行在 'http://0.0.0.0:8000'。

  2. 安装MCP服务器 (factorio_mcp)

    a. 安装 'fastmcp' 库(如果尚未安装):

    bash     pip install fastmcp     

    b. 安装并运行MCP服务器。请注意替换 'your_backend_api_key' 为你在后端 '.env' 文件中设置的 'API_KEY' 值。

    bash     fastmcp install factorio_mcp.py -e API_KEY=your_backend_api_key     
    这将启动 Factorio MCP 服务器。'fastmcp install' 命令会自动处理服务器的安装和运行。

服务器配置 (MCP客户端)

对于MCP客户端,你需要配置连接到 Factorio MCP 服务器的信息。以下是一个示例 JSON 格式的配置,你需要将其提供给你的MCP客户端。

{
  "serverName": "Factorio MCP Server",
  "command": "fastmcp",
  "args": [
    "run",
    "factorio_mcp.py",
    "-e",
    "API_KEY=your_backend_api_key"  // 替换为后端.env中设置的API_KEY
  ]
}

参数说明:

  • 'serverName': MCP服务器的名称,可以自定义。
  • 'command': 运行MCP服务器的命令,这里使用 'fastmcp'。
  • 'args': 传递给 'fastmcp run' 命令的参数列表。
    • '"run"': 'fastmcp' 的子命令,用于运行MCP服务器。
    • '"factorio_mcp.py"': MCP服务器主程序文件。
    • '"-e"': 设置环境变量的标志。
    • '"API_KEY=your_backend_api_key"': 设置名为 'API_KEY' 的环境变量,其值需要替换为你在后端 '.env' 文件中设置的 'API_KEY'。确保此API_KEY与后端服务器配置的API_KEY一致,以保证MCP服务器能通过身份验证访问后端。

基本使用方法

  1. 启动后端服务器和MCP服务器: 确保按照安装步骤分别启动了后端服务器 ('backend/server.py') 和 MCP服务器 ('factorio_mcp.py')。
  2. 配置MCP客户端: 在你的MCP客户端中,填入上面提供的服务器配置 JSON 信息。
  3. 与LLM交互: 使用支持MCP协议的LLM客户端(如Claude),连接到配置好的 Factorio MCP 服务器。你可以通过自然语言指令,调用MCP服务器提供的工具来管理你的Factorio服务器。例如,你可以询问 "现在服务器有多少玩家?" 或指示 "给玩家 '玩家A' 10个铁板"。
  4. 查看可用工具: 你可以使用 'help_prompt' 工具来查看所有可用的工具及其描述。

通过以上步骤,你就可以使用LLM客户端来方便地管理你的Factorio服务器了。

信息

分类

开发者工具