本项目是一个实现了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平台构建的。

  1. 克隆仓库到本地:
    git clone https://github.com/mhart/mcp-semantic-search.git
    cd mcp-semantic-search
  2. 安装依赖:
    npm install
  3. 配置Cloudflare环境(需要Cloudflare账户、Vectorize数据库和AI绑定)。具体配置步骤请参考Cloudflare Worker文档。
  4. 部署到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客户端的界面和交互方式,您通常可以通过以下方式利用该服务器的功能:

  1. 在LLM客户端中提及您需要关于Cloudflare文档的信息。
  2. 如果LLM客户端支持工具调用,它可能会识别并调用 'search_cloudflare_documentation' 工具,并向您询问查询内容,或者根据您的对话自动生成查询。
  3. LLM客户端调用工具后,会将您的查询发送到此MCP服务器。
  4. 服务器执行语义搜索,将结果(相关的文档片段和URL)返回给LLM客户端。
  5. LLM客户端将这些搜索结果作为上下文,生成对您问题的回答。

信息

分类

AI与计算