使用说明

项目简介

Godot RAG MCP服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,专门为需要Godot游戏引擎相关知识的大语言模型(LLM)应用提供上下文信息。它通过检索本地ChromaDB数据库中预先存储的Godot文档片段,帮助LLM更准确、可靠地回答用户关于Godot引擎的问题。

主要功能点

  • Godot引擎知识检索: 提供 'get_godot_context' 工具,允许LLM通过关键词查询Godot引擎的最新文档片段。
  • 本地知识库: 使用本地ChromaDB数据库存储Godot文档,确保信息检索快速且保护用户数据隐私。
  • MCP协议标准: 遵循MCP协议,可以与任何兼容MCP协议的LLM客户端配合使用。
  • 可配置性: 支持通过命令行参数配置ChromaDB数据库路径和Collection名称,方便用户根据自己的环境进行部署。

安装步骤

  1. 环境准备: 确保已安装 Python 环境 (推荐 Python 3.8 及以上版本)。
  2. 安装依赖: 使用 pip 安装所需的 Python 库:
    pip install mcp chromadb sentence-transformers argparse
    • 'mcp': MCP服务器框架库 (仓库中使用了 'fastmcp')。
    • 'chromadb': 向量数据库 ChromaDB 的 Python 客户端库。
    • 'sentence-transformers': 用于文本 embedding 的 Sentence Transformers 库。
    • 'argparse': Python 内置的命令行参数解析库。
  3. 下载仓库代码: 从 GitHub 仓库 'https://github.com/zivshek/rag-mcp' 下载或克隆代码到本地。
  4. 准备 ChromaDB 数据库:
    • 你需要事先使用 'web2embeddings' (或其他工具) 创建包含 Godot 引擎文档的 ChromaDB 向量数据库。
    • 确保你知晓 ChromaDB 数据库的存储路径Collection名称

服务器配置

MCP客户端需要配置服务器的启动命令和参数才能连接 Godot RAG MCP服务器。以下是配置示例(JSON 格式),你需要根据你的实际环境进行调整:

"servers": {
    "godot_rag_server": { // 服务器名称,可以自定义
        "command": "cmd",  // Windows 系统使用 "cmd", macOS 或 Linux 系统使用 "uv" (或 "python3", "python" 等)
        "args": [
            "/c",         // Windows 系统需要,macOS 或 Linux 系统移除
            "uv",         // Windows 系统使用 "uv", macOS 或 Linux 系统根据实际情况修改为 "python3", "python" 或其他 Python 运行命令
            "run",        // macOS 或 Linux 系统移除
            "path to server.py", //  'server.py' 脚本的完整路径,例如 "C:\\dev\\rag-mcp\\server.py"
            "-d",         //  ChromaDB 数据库路径参数
            "path to your chroma_db", // ChromaDB 数据库的完整路径,例如 "C:\\dev\\web2embeddings\\artifacts\\vector_stores\\chroma_db"
            "-c",         //  ChromaDB Collection 名称参数
            "your_collection_name"  // ChromaDB Collection 的名称,例如 "godotengine_chunks_SZ_400_O_20_all-MiniLM-L6-v2"
        ]
    }
}

参数说明:

  • 'server name': 为你的服务器自定义一个易于识别的名称,例如 'godot_rag_server'。
  • 'command': 启动服务器的命令。
    • Windows 系统通常使用 'cmd',并通过 'args' 中的 '/c' 和 'uv run' 来执行 Python 脚本。
    • macOS 或 Linux 系统通常直接使用 'uv run' 或 'python3' / 'python' 等 Python 运行命令。请根据你的 Python 环境配置选择合适的命令。
  • 'args': 传递给 'command' 的参数列表。
    • Windows 系统:
      • '/c': 'cmd /c' 用于执行字符串指定的命令。
      • 'uv run': 假设你使用 'uv' 运行 Python 脚本。如果不是,请替换为你的 Python 运行命令,例如 'python' 或 'python3'。
      • '"path to server.py"': 'server.py' 脚本的完整路径。
      • '-d': 指定 ChromaDB 数据库路径的参数。
      • '"path to your chroma_db"': 你的 ChromaDB 数据库的完整路径。
      • '-c': 指定 ChromaDB Collection 名称的参数。
      • '"your_collection_name"': 你的 ChromaDB Collection 的名称。
    • macOS 或 Linux 系统:
      • 'uv run': 假设你使用 'uv' 运行 Python 脚本。如果不是,请替换为你的 Python 运行命令,例如 'python3' 或 'python'。
      • '"path to server.py"': 'server.py' 脚本的完整路径。
      • '-d': 指定 ChromaDB 数据库路径的参数。
      • '"path to your chroma_db"': 你的 ChromaDB 数据库的完整路径。
      • '-c': 指定 ChromaDB Collection 名称的参数。
      • '"your_collection_name"': 你的 ChromaDB Collection 的名称。

注意: 请将 '"path to server.py"'、 '"path to your chroma_db"' 和 '"your_collection_name"' 替换为你实际的路径和名称。 根据你的操作系统和 Python 环境,'command' 和 'args' 的配置可能需要调整。

基本使用方法

  1. 启动服务器: 在配置好 MCP 客户端后,启动 'godot_rag_server'。服务器将在后台运行,并通过 stdio 与客户端通信。
  2. 客户端调用工具: 在 MCP 客户端中,你可以调用名为 'get_godot_context' 的工具,并传递与 Godot 引擎相关的查询关键词。
  3. 获取上下文: 服务器将查询本地 ChromaDB 数据库,并将检索到的 Godot 文档片段作为工具的返回值返回给客户端。LLM 可以利用这些上下文信息来回答用户的问题。

示例 (MCP客户端请求):

假设你使用的 MCP 客户端发送如下 JSON-RPC 请求来调用 'get_godot_context' 工具:

{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "tool_name": "get_godot_context",
    "arguments": {
      "query": "如何创建新的场景?"
    }
  },
  "id": 1
}

服务器会返回包含相关 Godot 文档片段的 JSON-RPC 响应。

信息

分类

数据库与文件