本项目是一个实现了Model Context Protocol (MCP) 的服务器端应用,部署在Cloudflare Workers上。其核心功能是通过语义搜索能力,帮助连接的LLM客户端查询Cloudflare的开发者文档。
主要功能点
- 文档语义搜索: 允许LLM客户端对Cloudflare官方开发者文档进行语义搜索,查找与用户查询相关的文本片段。
- LLM工具集成: 通过MCP协议向LLM客户端暴露一个名为 'search_cloudflare_documentation' 的工具,LLM可以调用此工具并提供查询字符串参数。
- 基于Cloudflare技术栈: 利用Cloudflare的Vectorize数据库存储文档向量,并使用Cloudflare AI进行查询的向量化处理。
- 支持多种传输协议: 支持通过Server-Sent Events (SSE) 和标准的HTTP POST (JSON-RPC) 方式进行通信。
安装步骤
本项目是为Cloudflare Workers平台构建的。
- 克隆仓库到本地:
git clone https://github.com/mhart/mcp-semantic-search.git cd mcp-semantic-search - 安装依赖:
npm install - 配置Cloudflare环境(需要Cloudflare账户、Vectorize数据库和AI绑定)。具体配置步骤请参考Cloudflare Worker文档。
- 部署到Cloudflare Workers:
npx wrangler deploy
部署完成后,您将获得一个可访问的Worker URL。
服务器配置(供MCP客户端参考)
要将此MCP服务器添加到支持MCP的LLM客户端(如Claude Desktop),您需要提供服务器的连接信息。以下是配置示例(请根据您实际部署的Worker URL进行调整):
{ "mcpServers": { "cloudflare-docs-search": { "command": "npx", // 或mcp-remote工具的完整路径 "args": ["mcp-remote@latest", "您的Cloudflare Worker URL/mcp"] // 使用/mcp 或 /sse 路径连接 // 如果您使用像Cloudflare WARP这样的Zero Trust客户端,可能需要配置证书 // "env": { // "NODE_EXTRA_CA_CERTS": "/path/to/certificate.pem" // } } } }
- 'command': 启动 'mcp-remote' 工具的命令。这是一个辅助工具,用于通过HTTP/SSE连接远程MCP服务器。
- 'args': 传递给 'mcp-remote' 工具的参数。第一个参数是工具名称及其版本,第二个参数是您部署的Cloudflare Worker的URL,后接 '/mcp' 或 '/sse' 路径。
基本使用方法
配置完成后,您的LLM客户端将连接到此MCP服务器。根据LLM客户端的界面和交互方式,您通常可以通过以下方式利用该服务器的功能:
- 在LLM客户端中提及您需要关于Cloudflare文档的信息。
- 如果LLM客户端支持工具调用,它可能会识别并调用 'search_cloudflare_documentation' 工具,并向您询问查询内容,或者根据您的对话自动生成查询。
- LLM客户端调用工具后,会将您的查询发送到此MCP服务器。
- 服务器执行语义搜索,将结果(相关的文档片段和URL)返回给LLM客户端。
- LLM客户端将这些搜索结果作为上下文,生成对您问题的回答。
信息
分类
AI与计算