Skip to main content
Glama

MCP 服务器 ragdocs

Node.js 包NPM 下载 版本 代码验证 许可证:MIT

MCP 服务器实现提供了通过矢量搜索检索和处理文档的工具,使 AI 助手能够通过相关文档上下文增强他们的响应。

目录

Related MCP server: Rust Docs MCP Server

用法

RAG 文档工具旨在用于:

  • 利用相关文档增强人工智能响应

  • 构建具有文档意识的人工智能助手

  • 为开发人员创建上下文感知工具

  • 实现语义文档搜索

  • 扩充现有知识库

特征

  • 基于矢量的文档搜索和检索

  • 支持多种文档来源

  • 支持本地(Ollama)嵌入生成或 OPENAI

  • 语义搜索功能

  • 自动化文档处理

  • 法学硕士 (LLM) 的实时上下文增强

配置

{ "mcpServers": { "rag-docs": { "command": "npx", "args": ["-y", "@sanderkooger/mcp-server-ragdocs"], "env": { "EMBEDDINGS_PROVIDER": "ollama", "QDRANT_URL": "your-qdrant-url", "QDRANT_API_KEY": "your-qdrant-key" # if applicable } } } }

与 Claude Desktop 一起使用

将其添加到您的claude_desktop_config.json中:

OpenAI 配置

{ "mcpServers": { "rag-docs-openai": { "command": "npx", "args": ["-y", "@sanderkooger/mcp-server-ragdocs"], "env": { "EMBEDDINGS_PROVIDER": "openai", "OPENAI_API_KEY": "your-openai-key-here", "QDRANT_URL": "your-qdrant-url", "QDRANT_API_KEY": "your-qdrant-key" } } } }

Ollama配置

{ "mcpServers": { "rag-docs-ollama": { "command": "npx", "args": ["-y", "@sanderkooger/mcp-server-ragdocs"], "env": { "EMBEDDINGS_PROVIDER": "ollama", "OLLAMA_BASE_URL": "http://localhost:11434", "QDRANT_URL": "your-qdrant-url", "QDRANT_API_KEY": "your-qdrant-key" } } } }

Ollama 从此代码库运行

"ragdocs-mcp": { "command": "node", "args": [ "/home/sander/code/mcp-server-ragdocs/build/index.js" ], "env": { "QDRANT_URL": "http://127.0.0.1:6333", "EMBEDDINGS_PROVIDER": "ollama", "OLLAMA_URL": "http://localhost:11434" }, "alwaysAllow": [ "run_queue", "list_queue", "list_sources", "search_documentation", "clear_queue", "remove_documentation", "extract_urls" ], "timeout": 3600 }

环境变量参考

多变的

必需

默认

评论

EMBEDDINGS_PROVIDER

全部

ollama

“openai”或“ollama”

OPENAI_API_KEY

OpenAI

-

从 OpenAI 仪表板获取

OLLAMA_BASE_URL

奥拉马

http://localhost:11434

本地 Ollama 服务器 URL

QDRANT_URL

全部

http://localhost:6333

Qdrant 端点 URL

QDRANT_API_KEY

云 Qdrant

-

从 Qdrant Cloud 控制台

本地部署

该存储库包括用于本地开发的 Docker Compose 配置:

Docker Compose下载

docker compose up -d

开始于:

  • 端口 6333 上的 Qdrant 矢量数据库

  • 端口 11434 上的 Ollama LLM 服务

访问端点:

云部署

对于生产部署:

  1. 使用托管的 Qdrant Cloud 服务

  2. 设置以下环境变量:

QDRANT_URL=your-cloud-cluster-url QDRANT_API_KEY=your-cloud-api-key

工具

搜索文档

使用自然语言查询搜索存储的文档。返回符合上下文的摘录,并按相关性排序。

输入:

  • query (字符串):要在文档中搜索的文本。可以是自然语言查询、特定术语或代码片段。

  • limit (数字,可选):返回结果的最大数量(1-20,默认值:5)。限制值越高,返回结果越全面,但处理时间也越长。

列出来源

列出系统中当前存储的所有文档来源。返回所有已索引文档的完整列表,包括来源 URL、标题和最后更新时间。使用此列表可以了解哪些文档可供搜索,或验证特定来源是否已被索引。

提取网址

提取并分析给定网页的所有 URL。此工具会抓取指定网页,识别所有超链接,并选择性地将其添加到处理队列中。

输入:

  • url (字符串):待分析网页的完整 URL(必须包含协议,例如 https://)。该页面必须可公开访问。

  • add_to_queue (布尔值,可选):如果设置为 true,则自动将提取的 URL 添加到处理队列中,以便稍后进行索引。在大型网站上请谨慎使用,以避免队列过长。

删除文档

根据 URL 从系统中移除特定文档来源。移除操作是永久性的,并将影响未来的搜索结果。

输入:

  • urls (string[]):要从数据库中移除的 URL 数组。每个 URL 必须与添加文档时使用的 URL 完全匹配。

列表队列

列出当前在文档处理队列中等待的所有 URL。显示调用 run_queue 时将处理的待处理文档源。使用此方法可以监控队列状态、验证 URL 是否已正确添加,或检查处理积压情况。

运行队列

处理并索引当前文档队列中的所有 URL。每个 URL 均按顺序处理,并采用适当的错误处理和重试逻辑。处理过程中会提供进度更新。长时间运行的操作将一直处理,直到队列为空或发生不可恢复的错误。

清除队列

从文档处理队列中移除所有待处理的 URL。当您想重新开始、移除不需要的 URL 或取消待处理处理时,可以使用此功能重置队列。此操作是即时且永久的 - 如果您希望稍后处理 URL,则需要重新添加。

项目结构

该软件包采用模块化架构,核心组件和 MCP 协议处理程序之间清晰分离。请参阅ARCHITECTURE.md以获取详细的结构文档和设计决策。

不使用 Docker 来使用 Ollama Embeddings

  1. 安装Ollama:

curl -fsSL https://ollama.com/install.sh | sh
  1. 下载 nomic-embed-text 模型:

ollama pull nomic-embed-text
  1. 验证安装:

ollama list

执照

此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。

贡献

欢迎大家贡献代码!请参阅我们的CONTRIBUTING.md 文件,了解详细指南,以下是一些基本要求:

  1. 分叉存储库

  2. 安装依赖项: npm install

  3. 创建功能分支: git checkout -b feat/your-feature

  4. 使用 npm run commit 提交更改以确保符合常规提交

  5. 推送到你的 fork 并打开 PR

Forkception 致谢

该项目基于hannesrudolph/mcp-ragdocs的一个分支,而 hannesrudolph/mcp-ragdocs 本身又从qpd-v/mcp-ragdocs的原始作品中分叉而来。原始项目为本实现提供了基础。

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sanderkooger/mcp-server-ragdocs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server