Cloudflare AutoRAG MCP服务器
为Cloudflare AutoRAG实例提供搜索功能的模型上下文协议(MCP)服务器。该服务器使Claude等AI助手能够使用三种不同的搜索方法直接搜索和查询您的AutoRAG知识库。
特性
- 🔍 基本搜索 -无需查询重写或答案生成的向量相似性搜索
- ✏️ 重写搜索 -带有AI查询重写但不生成答案的矢量搜索(仅返回文档块)
- 🤖 AI搜索 -全AI驱动的搜索,可选AI响应和可配置的查询重写
- ⚙️ 可配置参数 -支持
score_threshold(默认值:0.5)和max_num_results(1-50,默认值:10) - 📄 分页支持 -AI搜索支持基于光标的大结果集分页(v1.2.0+)
- 🏢 多AutoRAG支持 -跨多个AutoRAG实例进行管理和搜索(v2.0.0+)
- 🌐 远程部署 -在Cloudflare Workers上运行以实现可扩展性
- 🔗 MCP兼容 -适用于Claude Desktop和其他MCP客户端
工具
autorag_basic_search
在Cloudflare AutoRAG索引中执行基本的向量相似性搜索,而无需人工智能查询重写或答案生成。仅返回原始文档块。
参数:
query(字符串,必填)-搜索查询文本(最多10000个字符)score_threshold(数字,可选)-最小相似性得分阈值(0.0-1.0,默认值:0.5)max_num_results(number,可选)-要返回的最大结果数(1-50,默认值:10)autorag_name(字符串,可选)-要使用的AutoRAG实例的名称(默认为配置的默认值)
autorag_rewrite_search
使用AI查询重写执行向量搜索,但 无应答生成.使用Cloudflare的 search() 可配置的方法 rewrite_query 为了更好的语义匹配,只返回文档块。
参数:
query(字符串,必填)-搜索查询文本(最多10000个字符)score_threshold(数字,可选)-最小相似性得分阈值(0.0-1.0,默认值:0.5)max_num_results(number,可选)-要返回的最大结果数(1-50,默认值:10)rewrite_query(boolean,可选)-是否重写查询以获得更好的匹配(默认值:true)autorag_name(字符串,可选)-要使用的AutoRAG实例的名称(默认为配置的默认值)
autorag_ai_search
使用Cloudflare的AI进行搜索 aiSearch() 具有可选AI生成响应的方法。返回文档块,并可选地返回基于以下内容的AI答案 include_ai_response 参数。支持对大型结果集进行分页。
参数:
query(字符串,必填)-搜索查询文本(最多10000个字符)score_threshold(数字,可选)-最小相似性得分阈值(0.0-1.0,默认值:0.5)max_num_results(number,可选)-要返回的最大结果数(1-50,默认值:10)rewrite_query(boolean,可选)-是否重写查询以获得更好的语义匹配(默认值:true)include_ai_response(布尔值,可选)-是否在输出中包含AI生成的响应(默认值:false)cursor(字符串,可选)-从上一个响应中分页光标以获取下一页结果(v1.2.0+)autorag_name(字符串,可选)-要使用的AutoRAG实例的名称(默认为配置的默认值)
答复包括:
data-包含分数和元数据的源文档块数组(始终包含在内)response-AI根据检索到的文档生成答案(仅当include_ai_response: true)has_more-布尔值,指示是否有更多可用结果next_page-用于获取下一页的游标标记(当has_more是真的)nextCursor-MCP兼容光标字段(镜像next_page值)
list_autorags (v2.0.0+)
列出服务器中配置的所有可用AutoRAG实例。
参数: 无
答复包括:
autorags-具有名称、描述和is_default标志的AutoRAG实例数组total-已配置的AutoRAG实例总数default-默认AutoRAG实例的名称
get_current_autorag (v2.0.0+)
获取有关当前配置的默认AutoRAG实例的信息。
参数: 无
答复包括:
current_autorag-当前默认AutoRAG实例的名称description-实例描述is_default-此端点始终为真
先决条件
- Cloudflare帐户 具有AutoRAG访问权限
- AutoRAG实例 -在您的Cloudflare帐户中创建并索引
- 牧马人CLI -用于部署(
npm install --save-dev wrangler)
部署
- 克隆存储库:
git clone
cd cf-autorag-mcp- 安装依赖项:
npm install- 配置您的AutoRAG实例:
编辑 wrangler.toml 并更新配置:
对于单个AutoRAG实例:
[vars]
AUTORAG_NAME = "your-autorag-instance-name"对于多个AutoRAG实例:
[vars]
AUTORAG_INSTANCES = "instance1,instance2,instance3"
AUTORAG_DESCRIPTIONS = "Description 1,Description 2,Description 3"- 部署到Cloudflare Workers:
npx wrangler deploy这将输出您的Worker URL,这是MCP客户端配置所需的URL。
Claude桌面配置
要将此MCP服务器与Claude Desktop一起使用,请将以下配置添加到您的Claude Desktop配置文件中:
macOS
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
视窗
编辑 %APPDATA%/Claude/claude_desktop_config.json:
配置
{
"mcpServers": {
"cf-autorag-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-worker-url.workers.dev/"
]
}
}
}替换 https://your-worker-url.workers.dev/ 使用您实际部署的Worker URL。
更新配置后:
- 重新启动克劳德桌面
- 您应该在对话中看到可用的AutoRAG搜索工具
配置
环境变量
服务器使用以下Cloudflare Worker绑定:
AI-Cloudflare AI绑定用于AutoRAG访问(处理所有AutoRAG操作)AUTORAG_NAME-您的AutoRAG实例名称(用于单实例配置)AUTORAG_INSTANCES-以逗号分隔的AutoRAG实例列表(用于多实例配置)AUTORAG_DESCRIPTIONS-每个实例的逗号分隔的描述列表
牧马人配置
这 wrangler.toml 文件包括:
name = "cf-autorag-mcp"
main = "src/server.ts"
compatibility_date = "2024-09-23"
compatibility_flags = ["nodejs_compat"]
[vars]
# For single AutoRAG instance:
AUTORAG_NAME = "your-autorag-instance-name"
# For multiple AutoRAG instances (v2.0.0+):
# AUTORAG_INSTANCES = "default-autorag,secondary-autorag,specialized-autorag"
# AUTORAG_DESCRIPTIONS = "Main knowledge base,Secondary knowledge base,Specialized documents"
[ai]
binding = "AI"注: 不需要VECTORIZE绑定。AutoRAG通过AI绑定在内部管理自己的矢量索引访问。
使用示例
一旦配置了Claude Desktop,您就可以使用以下工具:
基本搜索(无查询重写,无AI响应):
Search for documents about "machine learning" in my AutoRAG with a minimum score threshold of 0.7重写搜索(AI查询重写,无AI响应):
Use rewrite search to find information about "deployment strategies" with query rewriting enabled仅使用文档块进行AI搜索(默认行为):
Use AI search to find information about "deployment strategies" with max 5 resultsAI搜索与AI生成的响应:
Use AI search to find information about "deployment strategies" and include the AI-generated response多自动RAG用法(v2.0.0+):
List all available AutoRAG instances
Search for "security policies" in the secondary-autorag instance
Use AI search in specialized-autorag to find "compliance requirements" with AI response重要提示:
autorag_basic_search执行纯矢量搜索,无需任何人工智能增强autorag_rewrite_search使用AI查询重写但返回 仅文档块autorag_ai_search默认情况下返回 仅文档块 (让客户端LLM生成响应),但可以选择包括Cloudflare的AI生成的响应- 所有工具都使用 默认分数阈值为0.5 如果未指定
- 所有工具都支持相同的参数结构,以实现一致的使用
- Workers绑定不支持元数据筛选 -如果需要筛选查询,请使用REST API
发展
地方发展
# Start local development server
npm run dev
# Build for production
npm run build项目结构
cf-autorag-mcp/
├── src/
│ └── server.ts # Main MCP server implementation
├── wrangler.toml # Cloudflare Workers configuration
├── package.json # Dependencies and scripts
└── README.md # This file技术细节
- 协议:基于HTTP的JSON-RPC 2.0
- 运行时:Cloudflare Workers与Node.js兼容
- MCP版本: 2024-11-05
- 运输:基于HTTP(无流媒体)
- 默认分数阈值:0.5适用于所有搜索工具
- 参数验证:具有清晰错误消息的全面验证
故障排除
常见问题
- “未找到AutoRAG实例”
- 验证您的 AUTORAG_NAME 在……里面 wrangler.toml - 确保您的AutoRAG实例已正确创建并索引
- “MCP服务器已断开连接”
- 检查Claude Desktop配置中的Worker URL是否正确 - 验证Worker是否已部署且可访问
- “找不到工具”错误
- 配置更改后重新启动Claude Desktop - 检查Worker日志: npx wrangler tail
- 空搜索结果
- 尝试降低 score_threshold 参数(默认值为0.5) - 验证您的AutoRAG索引是否已填充文档 - 检查您的查询词是否存在于索引内容中
日志
从部署的Worker查看实时日志:
npx wrangler tail版本历史记录
- v2.0.0版本 -多AutoRAG支持,增强模式文档,删除VECTORIZE绑定
- v1.2.0版本 -为AI搜索工具添加了基于光标的分页支持
- v1.1.3 -删除了筛选器参数(Workers绑定中不支持),为筛选器尝试添加了有用的错误消息
- v1.1.2版本 -尝试修复筛选器格式(发现Workers绑定不支持筛选器)
- v1.1.1 -已添加
include_ai_response参数到AI搜索工具,默认分数阈值为0.5,综合参数验证 - v1.1.0版本 -添加了三个不同的搜索工具,支持布尔参数
- v1.0.0 -首次发布
许可证
该项目根据MIT许可证获得许可。
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 彻底测试
- 提交拉取请求
支持
关于以下问题:
- Cloudflare AutoRAG: Cloudflare AutoRAG文档
- 模型上下文协议: MCP文件
- 此服务器:在此存储库中打开一个问题
