Back to MCP directory
publicPublicdnsLocal runtime

-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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client