使用说明
项目简介
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名称,方便用户根据自己的环境进行部署。
安装步骤
- 环境准备: 确保已安装 Python 环境 (推荐 Python 3.8 及以上版本)。
- 安装依赖: 使用 pip 安装所需的 Python 库:
pip install mcp chromadb sentence-transformers argparse- 'mcp': MCP服务器框架库 (仓库中使用了 'fastmcp')。
- 'chromadb': 向量数据库 ChromaDB 的 Python 客户端库。
- 'sentence-transformers': 用于文本 embedding 的 Sentence Transformers 库。
- 'argparse': Python 内置的命令行参数解析库。
- 下载仓库代码: 从 GitHub 仓库 'https://github.com/zivshek/rag-mcp' 下载或克隆代码到本地。
- 准备 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 的名称。
- Windows 系统:
注意: 请将 '"path to server.py"'、 '"path to your chroma_db"' 和 '"your_collection_name"' 替换为你实际的路径和名称。 根据你的操作系统和 Python 环境,'command' 和 'args' 的配置可能需要调整。
基本使用方法
- 启动服务器: 在配置好 MCP 客户端后,启动 'godot_rag_server'。服务器将在后台运行,并通过 stdio 与客户端通信。
- 客户端调用工具: 在 MCP 客户端中,你可以调用名为 'get_godot_context' 的工具,并传递与 Godot 引擎相关的查询关键词。
- 获取上下文: 服务器将查询本地 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 响应。
信息
分类
数据库与文件