远程MCP服务器

一个无需身份验证的远程MCP服务器,部署在Cloudflare Workers上,包含Cloudflare可观测性工具,用于监控网站和Workers。

  • by malci6464
  • TypeScript
  • 混合部署
  • 更新于
在 GitHub 查看 malci6464/remote-mcp-server-authless

使用说明

在Cloudflare上构建远程MCP服务器(无需身份验证)

此示例允许您部署一个不需要Cloudflare Workers身份验证的远程MCP服务器。此服务器包括Cloudflare可观察性工具,用于监控您的网站和Workers。

开始:

这将把您的MCP服务器部署到以下URL: remote-mcp-server-authless.<your-account>.workers.dev/sse

或者,您可以使用下面的命令行在本地计算机上创建远程MCP服务器:

npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless

本地运行

您可以在本地运行此MCP服务器进行开发和测试:

  1. 安装依赖项:

    npm install
    
  2. 启动开发服务器:

    npm run dev
    # or
    npm start
    

    您的MCP服务器将运行在 http://localhost:8787/

  3. MCP检验员测试:

    npx @modelcontextprotocol/inspector
    

    在检查员中:

    • 将传输类型设置为 SSE
    • 进入 http://localhost:8787/sse 作为服务器URL
    • 点击“连接”
  4. 从克劳德桌面连接: 使用 mcp远程代理 在您的Claude Desktop配置中:

    {
      "mcpServers": {
        "cloudflare-mcp": {
          "command": "npx",
          "args": [
            "mcp-remote",
            "http://localhost:8787/sse"
          ]
        }
      }
    }
    

可用工具

计算器工具

  • add -简单添加
  • calculate -具有多种运算(加、减、乘、除)的计算器

Cloudflare观测工具

区域分析

  • cloudflare_zone_analytics -获取Cloudflare区域的分析摘要

    • 返回:总请求数、带宽、唯一访问者、阻止的威胁、页面浏览量
    • 参数: zone_id, api_token, since (可选), until (可选)
  • cloudflare_zone_analytics_timeseries -获取时间序列分析数据

    • 返回:随时间变化的请求、带宽、访问者、威胁的详细时间序列数据
    • 参数: zone_id, api_token, since (可选), until (可选)

区域管理

  • cloudflare_list_zones -列出您帐户中的所有区域
    • 返回:区域ID、名称、状态、计划和创建日期
    • 参数: api_token, name (可选过滤器)

工人分析

  • cloudflare_workers_analytics -查询工作者分析引擎
    • 对Workers Analytics Engine数据集执行类似SQL的查询
    • 参数: account_id, api_token, dataset (可选), query

网站分析

  • cloudflare_web_analytics -获取网站的Web Analytics数据
    • 返回:您网站的Web Analytics统计数据
    • 参数: account_id, site_tag, api_token, start (可选), end (可选)

获取Cloudflare API代币

要使用Cloudflare可观测性工具,您需要具有适当权限的API令牌:

  1. 首选 Cloudflare 控制面板
  2. 点击“创建令牌”
  3. 使用“编辑区域DNS”模板或使用以下内容创建自定义令牌:
    • 区域分析:阅读 -用于区域分析工具
    • 区域:阅读 -用于列出区域
    • 账户分析:阅读 -面向员工和网络分析
  4. 复制令牌(您只会看到一次!)

查找您的区域ID和帐户ID

  • 区域ID:在您的Cloudflare控制面板中的域概述页面下找到
  • 帐户ID:在Cloudflare仪表板的右侧边栏中找到

示例用法

获取区域分析

Tool: cloudflare_zone_analytics
Parameters:
  - zone_id: "your-zone-id"
  - api_token: "your-api-token"
  - since: "2024-01-01T00:00:00Z" (optional)
  - until: "2024-01-31T23:59:59Z" (optional)

列出您的区域

Tool: cloudflare_list_zones
Parameters:
  - api_token: "your-api-token"
  - name: "example.com" (optional)

查询工作者分析

Tool: cloudflare_workers_analytics
Parameters:
  - account_id: "your-account-id"
  - api_token: "your-api-token"
  - query: "SELECT * FROM dataset LIMIT 10"
  - dataset: "default" (optional)

自定义您的MCP服务器

添加您自己的 工具 在MCP服务器中,定义 init() 方法 src/index.ts 使用 this.server.tool(...).

连接到Cloudflare AI游乐场

您可以从Cloudflare AI Playground连接到您的MCP服务器,这是一个远程MCP客户端:

  1. 首选https://playground.ai.cloudflare.com/
  2. 输入您部署的MCP服务器URL(remote-mcp-server-authless.<your-account>.workers.dev/sse)
  3. 现在,您可以直接在操场上使用MCP工具!

将Claude Desktop连接到您的MCP服务器

您还可以使用以下命令从本地MCP客户端连接到远程MCP服务器 mcp远程代理.

要从Claude Desktop连接到MCP服务器,请按照以下步骤操作 Anthropic的快速入门 在Claude Desktop中,转到“设置”>“开发人员”>“编辑配置”。

使用此配置进行更新:

{
  "mcpServers": {
    "cloudflare-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8787/sse"  // or remote-mcp-server-authless.your-account.workers.dev/sse
      ]
    }
  }
}

重新启动Claude,您应该会看到工具可用。