文档检索服务

一个为Reflex框架提供最新文档检索和组件查询的服务,帮助LLMs准确获取文档信息。

  • by Eunii1536
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Eunii1536/Reflex-docs-mcp

使用说明

Reflex Docs MCP服务器

给你的LLM一个反射文档的“摄影记忆”。

该项目是 模型上下文协议(MCP)服务器 旨在将AI代理嵌入到最新的实际文档中 反射 web框架。

🚀 现场演示部署地点: https://reflex-docs-mcp.onrender.com

什么是反射?

Reflex是一个纯Python web框架,无需编写JavaScript即可构建全栈web应用程序。 它允许开发人员完全用Python定义UI、状态和后端逻辑,Reflex将Python编译成一个现代的、反应式的web应用程序。

为什么存在这种情况?

LLM在编写Reflex代码时经常产生参数幻觉或使用过时的语法。此服务器通过将有效的最新文档公开为 工具 LLM可以按需呼叫。

人工智能不像猜测,而是像开发人员一样工作:

  1. 搜索 组件的文档(例如。, search_docs("rx.foreach")).
  2. 倒像 特定页面(get_doc("library/dynamic-rendering/foreach")).
  3. 检查 组件模式(get_component("rx.button")).
  4. 写 基于地面事实的准确、可工作的代码。

特性

  • 全文搜索 使用SQLite FTS5的Reflex文档(超快<2ms响应)
  • 节级检索 为LLM提供所需的上下文(节省令牌)
  • 成份指数 允许查找每个对象的属性和类别 rx.* 组件
  • 可部署API 通过FastAPI,准备渲染/Railway/Vercel
  • 零幻觉工作流程 当集成到代理循环中时

API终点

端点 描述
GET / 健康检查
GET /search?query=...&limit=10 搜索文档
GET /doc/{slug} 获取完整页面
GET /components?category=... 列出组件
GET /component/{name} 获取组件信息
GET /stats 数据库统计

本地开发

# Clone and install
git clone https://github.com/yourusername/reflex-docs-mcp.git
cd reflex-docs-mcp
python -m venv .venv
.venv\Scripts\activate  # Windows
pip install -e .

# Index the docs (downloads Reflex docs and builds search index)
python -m src.reflex_docs_mcp.indexer

# Run the API server
python api.py
# Open http://localhost:8000

项目结构

├── api.py                  # FastAPI server (deploy this)
├── main.py                 # MCP stdio entry point
├── src/reflex_docs_mcp/
│   ├── models.py           # Pydantic data models
│   ├── database.py         # SQLite + FTS5 operations
│   ├── parser.py           # Markdown parser
│   ├── indexer.py          # Docs cloning & indexing
│   └── server.py           # MCP server (stdio)
├── render.yaml             # Render deployment config
├── Procfile                # Process definition
└── test.py                 # Groq + MCP agentic demo

MCP工具(用于stdio模式)

工具 说明
search_docs(query) Reflex文档全文搜索
get_doc(slug) 通过slug检索完整的文档页面
list_components(category?) 列出所有记录在案的Reflex组件
get_component(name) 获取特定组件的信息