hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Used for code coverage reporting for the project, but not as a service the MCP integrates with functionally.
Mentioned in workflow badges and repository URLs, but not as a direct integration for the MCP server's functionality.
Provides local embeddings generation using Ollama's nomic-embed-text model as an alternative to cloud-based embedding services.
MCP 服务器 ragdocs
MCP 服务器实现提供了通过矢量搜索检索和处理文档的工具,使 AI 助手能够通过相关文档上下文增强他们的响应。
目录
用法
RAG 文档工具旨在用于:
- 利用相关文档增强人工智能响应
- 构建具有文档意识的人工智能助手
- 为开发人员创建上下文感知工具
- 实现语义文档搜索
- 扩充现有知识库
特征
- 基于矢量的文档搜索和检索
- 支持多种文档来源
- 支持本地(Ollama)嵌入生成或 OPENAI
- 语义搜索功能
- 自动化文档处理
- 法学硕士 (LLM) 的实时上下文增强
配置
与 Claude Desktop 一起使用
将其添加到您的claude_desktop_config.json
中:
OpenAI 配置
Ollama配置
Ollama 从此代码库运行
环境变量参考
多变的 | 必需 | 默认 | 评论 |
---|---|---|---|
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 配置:
开始于:
- 端口 6333 上的 Qdrant 矢量数据库
- 端口 11434 上的 Ollama LLM 服务
访问端点:
- Qdrant: http://localhost:6333
- 论坛: http://localhost:11434
云部署
对于生产部署:
- 使用托管的 Qdrant Cloud 服务
- 设置以下环境变量:
工具
搜索文档
使用自然语言查询搜索存储的文档。返回符合上下文的摘录,并按相关性排序。
输入:
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
- 安装Ollama:
- 下载 nomic-embed-text 模型:
- 验证安装:
执照
此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。
贡献
欢迎大家贡献代码!请参阅我们的CONTRIBUTING.md 文件,了解详细指南,以下是一些基本要求:
- 分叉存储库
- 安装依赖项:
npm install
- 创建功能分支:
git checkout -b feat/your-feature
- 使用 npm run commit 提交更改以确保符合常规提交
- 推送到你的 fork 并打开 PR
Forkception 致谢
该项目基于hannesrudolph/mcp-ragdocs的一个分支,而 hannesrudolph/mcp-ragdocs 本身又从qpd-v/mcp-ragdocs的原始作品中分叉而来。原始项目为本实现提供了基础。
This server cannot be installed
MCP 服务器实现提供了通过矢量搜索检索和处理文档的工具,使 AI 助手能够通过相关文档上下文增强他们的响应。
使用 Ollama 或 OpenAI 生成嵌入。
包含 Docker 文件
- Table of Contents
- Usage
- Features
- Configuration
- Environment Variables Reference
- Tools
- Project Structure
- Using Ollama Embeddings without docker
- License
- Contributing
- Forkception Acknowledgments