RAG文档说明 MCP服务器
一个MCP服务器实现,提供通过向量搜索获取和处理文档的工具,使AI助手能够用相关的文档上下文来增强其回复。
功能
- 基于向量的文档搜索和检索
- 支持多个文档来源
- 语义搜索功能
- 自动化文档处理
- 为LLM提供实时上下文增强
工具
search_documentation
使用自然语言查询搜索存储的文档。返回按相关性排序的匹配摘录及其上下文。
输入:
query(string): 要在文档中搜索的文本。可以是自然语言查询、特定术语或代码片段。limit(number, 可选): 要返回的最大结果数量 (1-20, 默认: 5)。较高的限制提供更全面的结果,但可能需要更长时间处理。
list_sources
列出当前系统存储的所有文档来源。返回所有索引文档的全面列表,包括来源URL、标题和最后更新时间。使用此功能了解可搜索的文档或验证特定来源是否已索引。
extract_urls
从给定网页中提取并分析所有URL。此工具爬取指定的网页,识别所有超链接,并可选择将它们添加到处理队列中。
输入:
url(string): 要分析的网页完整URL(必须包含协议,例如https://)。该页面必须公开可访问。add_to_queue(boolean, 可选): 如果为true,则自动将提取的URL添加到处理队列中以便后续索引。在大型网站上使用时需谨慎,以避免过度排队。
remove_documentation
通过URL从系统中删除特定的文档来源。删除是永久性的,并将影响未来的搜索结果。
输入:
urls(string[]): 要从数据库中删除的URL数组。每个URL必须与添加文档时使用的URL完全匹配。
list_queue
列出当前等待在文档处理队列中的所有URL。显示待处理的文档来源,这些来源将在调用run_queue时进行处理。使用此功能监控队列状态、验证URL是否正确添加或检查处理积压。
run_queue
处理并索引文档队列中当前的所有URL。每个URL按顺序处理,具有适当的错误处理和重试逻辑。处理过程中会提供进度更新。长时间运行的操作将处理直到队列为空或发生不可恢复的错误。
clear_queue
从文档处理队列中删除所有待处理的URL。当您想重新开始、删除不需要的URL或取消待处理处理时使用此功能。此操作是立即且永久性的 - 如果您想稍后处理这些URL,则需要重新添加。
使用
RAG文档工具设计用于:
- 增强AI回复的相关文档
- 构建具有文档意识的AI助手
- 为开发者创建上下文感知工具
- 实施语义文档搜索
- 增强现有知识库
配置
与Claude Desktop一起使用
将以下内容添加到您的claude_desktop_config.json:
{
"mcpServers": {
"rag-docs": {
"command": "npx",
"args": [
"-y",
"@hannesrudolph/mcp-ragdocs"
],
"env": {
"OPENAI_API_KEY": "",
"QDRANT_URL": "",
"QDRANT_API_KEY": ""
}
}
}
}
您需要为以下环境变量提供值:
OPENAI_API_KEY: 您的OpenAI API密钥,用于生成嵌入QDRANT_URL: 您的Qdrant向量数据库实例的URLQDRANT_API_KEY: 用于使用Qdrant进行身份验证的API密钥
许可证
此MCP服务器根据MIT许可证授权。这意味着您可以自由使用、修改和分发该软件,但需遵守MIT许可证的条款和条件。更多详情请参阅项目存储库中的LICENSE文件。
致谢
此项目是qpd-v/mcp-ragdocs的分支,最初由qpd-v开发。原始项目为该实现提供了基础。