Factorio MCP服务器使用说明
项目简介
Factorio MCP服务器是一个基于Model Context Protocol (MCP)构建的应用后端,旨在为LLM(大型语言模型)客户端提供管理 Factorio 游戏服务器的能力。通过此服务器,你可以使用支持MCP协议的LLM应用(如Claude)来远程控制和监控你的Factorio服务器。它包含一个安全的HTTP后端,用于处理RCON命令,以及一个MCP服务器前端,为LLM提供高层次的工具接口。
主要功能点
- 命令执行: 执行任意Factorio服务器控制台命令。
- 玩家管理: 实现玩家传送、物品给予、信息查询等功能。
- 服务器监控: 获取在线玩家数量,进行服务器状态监控。
- 截图功能: 远程截取Factorio游戏画面。
- Lua脚本执行: 在Factorio服务器上运行自定义Lua脚本,实现更复杂的游戏逻辑控制。
安装步骤
-
安装后端服务器 (backend)
a. 进入 'backend' 目录:
bash cd backendb. 安装Python依赖:
bash pip install fastapi uvicorn python-dotenv mcrconc. 创建 '.env' 配置文件,并填入Factorio服务器和API密钥信息:
env RCON_HOST=你的Factorio服务器IP地址或域名 # 例如:localhost RCON_PORT=你的Factorio服务器RCON端口 # 默认端口:27015 RCON_PASSWORD=你的Factorio服务器RCON密码 API_KEY=设置一个安全的API密钥,用于MCP服务器访问后端 # 例如:my_secret_keyd. 启动后端服务器:
后端服务器默认运行在 'http://0.0.0.0:8000'。bash uvicorn backend.server:app --host 0.0.0.0 --port 8000 -
安装MCP服务器 (factorio_mcp)
a. 安装 'fastmcp' 库(如果尚未安装):
bash pip install fastmcpb. 安装并运行MCP服务器。请注意替换 'your_backend_api_key' 为你在后端 '.env' 文件中设置的 'API_KEY' 值。
这将启动 Factorio MCP 服务器。'fastmcp install' 命令会自动处理服务器的安装和运行。bash fastmcp install factorio_mcp.py -e API_KEY=your_backend_api_key
服务器配置 (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服务器能通过身份验证访问后端。
基本使用方法
- 启动后端服务器和MCP服务器: 确保按照安装步骤分别启动了后端服务器 ('backend/server.py') 和 MCP服务器 ('factorio_mcp.py')。
- 配置MCP客户端: 在你的MCP客户端中,填入上面提供的服务器配置 JSON 信息。
- 与LLM交互: 使用支持MCP协议的LLM客户端(如Claude),连接到配置好的 Factorio MCP 服务器。你可以通过自然语言指令,调用MCP服务器提供的工具来管理你的Factorio服务器。例如,你可以询问 "现在服务器有多少玩家?" 或指示 "给玩家 '玩家A' 10个铁板"。
- 查看可用工具: 你可以使用 'help_prompt' 工具来查看所有可用的工具及其描述。
通过以上步骤,你就可以使用LLM客户端来方便地管理你的Factorio服务器了。
信息
分类
开发者工具