返回 MCP 目录
public公开dns本地运行

-fastmcp-godot-rag-

基于检索增强生成(RAG)的Godot文档查询助手,通过向量化技术和语义搜索实现智能问答

article

README

🚀 FastMCP Godot Documentation RAG

FastMCP Godot Documentation RAG 是一个基于检索增强生成(RAG)的命令行助手,可用于查询和解读 Godot 引擎的官方文档。该项目借助 Hugging Face 语义向量模型和 FAISS 构建向量数据库,再通过 FastMCP 注册工具,结合 DeepSeek Chat API 返回结构化回答。

🚀 快速开始

运行概览

  1. 准备数据:将 Godot .rst 文档放入 classes/,执行 rst_to_markdown.py 输出到 godot_docs/md_new/
  2. 切分文档:运行 markdown_split.py 生成结构化的 godot_docs/chunks.json
  3. 构建索引:执行 embedding.py 产生 godot_docs/faiss_db/index.faissmetadata.pkl
  4. 启动助手:配置 DEEPSEEK_API_KEY(或在代码中内置的演示密钥),运行 rag_fastmcp.py 打开命令行助手。

完成以上步骤后,即可通过 FastMCP 接口或命令行与本地 Godot 文档知识库进行交互式问答。

✨ 主要特性

FastMCP Godot Documentation RAG 具备以下核心特性:

  • 基于检索增强生成(RAG)技术,能够高效查询和解读 Godot 引擎官方文档。
  • 使用 Hugging Face 语义向量模型和 FAISS 构建向量数据库,提升检索效率。
  • 通过 FastMCP 注册工具,结合 DeepSeek Chat API 返回结构化回答,方便用户理解。

🔧 技术细节

核心流程

1. 文档预处理

  • rst_to_markdown.py:该脚本可批量将官方 .rst 文档转换为结构化 Markdown,同时保留信号、表格和章节信息。
  • markdown_split.py:此脚本能够识别 Markdown 中的章节、表格、代码等内容类型,并将其切分成适合 RAG 的 JSON 片段。

2. 向量化与索引构建

  • embedding.py:该脚本会读取 godot_docs/chunks.json,使用 sentence-transformers/all-miniLM-L6-v2 生成文本嵌入,并将结果写入本地 FAISS 索引与元数据文件。

3. 检索与回答

  • rag_fastmcp.py:该脚本会加载本地向量库与元数据,注册 search_godot_docsrag_answer 两个 FastMCP 工具,从而实现文档检索与结合 DeepSeek API 的问答功能。

目录结构

  • godot_docs/:存放转换后的 Markdown、切分 JSON、FAISS 索引等数据资产。
  • classes/:原始 .rst 文档集合,可作为数据转换输入。
  • rst_to_markdown.py:批量 rst→md 转换脚本。
  • markdown_split.py:Markdown 智能切分脚本。
  • embedding.py:向量化与索引构建脚本。
  • rag_fastmcp.py:加载索引并提供 FastMCP 工具与命令行入口。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端