Godot MCP服务器

一个为Godot游戏引擎设计的模型上下文协议(MCP)服务器,使AI助手能够与Godot项目交互和操作。

  • by matula
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 matula/godot-mcp-server

使用说明

Godot MCP服务器(GMS)

Godot游戏引擎的基本模型上下文协议(MCP)服务器,使AI助手能够与Godot项目交互和操纵Godot项目。 通常,此服务器使用 Godot命令行 使用项目,因此不需要Godot插件。

目录

概述

GMS在AI助手(如Claude)和Godot游戏引擎之间提供了一座桥梁。它允许AI模型:

  • 创建和管理Godot项目
  • 启动Godot编辑器
  • 运行Godot项目
  • 操纵场景和节点
  • 读取和写入文件

此服务器实现 模型上下文协议 (MCP),它规范了人工智能助手与外部工具和服务的交互方式。

设置

先决条件

安装

  1. 克隆此存储库:

    git clone https://github.com/matula/godot-mcp-server.git
    cd godot-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    

配置

服务器将自动尝试定位您的Godot命令行可执行文件。如果找不到,您可以设置 GODOT_PATH 将环境变量设置为Godot可执行文件的路径:

export GODOT_PATH=/path/to/your/godot

在不同的平台上,服务器在以下默认位置查找Godot:

  • macOS:

    • /Applications/Godot.app/Contents/MacOS/Godot
    • /Applications/Godot_4.app/Contents/MacOS/Godot
    • /Applications/Godot_4.2.app/Contents/MacOS/Godot
  • Linux:

    • /usr/bin/godot
    • /usr/local/bin/godot
  • 视窗:

    • C:\Program Files\Godot\Godot.exe
    • C:\Program Files (x86)\Godot\Godot.exe

用法

启动服务器

npm start

或者在开发模式下:

npm run dev

与MCP检查器一起使用

您可以使用MCP检查器测试服务器:

npm run inspector

与Claude Desktop一起使用

您可以通过将GMS添加到Claude Desktop配置中来将其与Claude Desktop集成:

  1. 找到Claude Desktop配置文件:

    • 通常在macOS上: /Users/{username}/Library/Application Support/Claude/claude_desktop_config.json
  2. 将以下配置添加到文件中:

{
  "mcpServers": {
    "godot-mcp": {
      "command": "node",
      "args": ["{full path to mcp}/godot-mcp-server/build/index.js"],
      "env": {
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

笔记:

  • 如果配置文件已包含 mcpServers 对象,添加 godot-mcp 进入现有对象。
  • 替换 {full path to mcp} 带有克隆存储库的实际路径。
  • 您可能需要使用到的完整路径 node 如果它不在您的系统PATH中,则可执行。

可用工具

GMS提供以下工具:

Godot工具

  • godot_版本:获取已安装的Godot版本
  • launch_editor:启动项目的Godot编辑器
  • list_项目:在目录中列出Godot项目
  • 创建项目:创建新的Godot项目(3D、2D或空)
  • run_工程:运行Godot项目
  • 停工工程:停止正在运行的项目
  • get_debug_output:从正在运行的项目中获取调试输出
  • get_scene_tree:从项目中获取场景树
  • create_scene:在项目中创建新场景
  • add_node:向场景中添加节点

文件工具

  • write_file:将内容写入文件
  • read_file:从文件中读取内容

建筑

GMS采用模块化架构构建:

  1. MCP服务器核心:使用 @modelcontextprotocol/sdk 创建一个与AI助手通信的服务器。

  2. 工具注册工具已在MCP服务器上注册,以便向AI助手展示其功能。

  3. Godot集成:服务器通过三种主要方式与Godot交互:

    • 命令:通过命令行界面直接执行Godot命令
    • 运营:通过GDScript执行的复杂操作
    • 公用事业:用于查找Godot、运行命令等的帮助函数。
  4. 文件操作:读取和写入文件的基本文件I/O操作。

运作原理

  1. 服务器启动并向MCP框架注册所有可用工具。
  2. 它连接到标准输入/输出,以便与AI助手进行通信。
  3. 当调用工具时:
    • 对于简单的命令,它使用适当的命令行参数执行Godot
    • 对于复杂的操作,它会创建一个临时GDScript文件,并使用Godot执行它
    • 结果以结构化格式返回给AI助手

发展

项目结构

  • src/index.ts:主要入口点
  • src/godot/commands.ts:基本Godot命令
  • src/godot/operations.ts:使用GDScript的复杂Godot操作
  • src/tools/godot-tools.ts:Godot的MCP工具定义
  • src/tools/file-tools.ts:文件操作的MCP工具定义
  • src/utils/godot-utils.ts:Godot集成的实用函数

建筑

npm run build

使用Claude Desktop-Mac的示例

在工具中,您应该看到活动的MCP:

以下是一个示例提示:

如果你感兴趣, 这是完整的代码 这是用那个提示创建的。我试着运行它 虽然有错误,但看起来是可以修复的。

许可证

ISC许可证