M

MCP Worker

@sivakumarl/my-mcp-worker
0 Stars 14 次浏览 sivakumarl 更新于 2026-08-23

一个开放标准的服务器实现,它使人工智能助手能够通过模型上下文协议直接访问API和服务,使用Cloudflare Workers构建以实现可扩展性。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

使用 Cloudflare Workers 的 MCP 服务器

简介

模型上下文协议(MCP)是一个开放标准,它使 AI 代理和助手能够与服务进行交互。通过设置 MCP 服务器,您可以允许 AI 助手直接访问您的 API。

Cloudflare Workers 结合 workers-mcp 包提供了一个强大且可扩展的解决方案来构建 MCP 服务器。

前提条件

在开始之前,请确保您具备以下条件:

  • Cloudflare 账户
  • 已安装 Node.js
  • 已安装 Wrangler CLI (npm install -g wrangler)

开始使用

第 1 步:创建一个新的 Cloudflare Worker

首先,初始化一个新的 Cloudflare Worker 项目:

npx create-cloudflare@latest my-mcp-worker
cd my-mcp-worker

然后,验证您的 Cloudflare 账户:

wrangler login

第 2 步:配置 Wrangler

更新您的 wrangler.toml 文件以包含正确的账户信息:

name = "my-mcp-worker"
main = "src/index.ts"
compatibility_date = "2025-03-03"
account_id = "your-account-id"

安装 MCP 工具

要启用 MCP 支持,请安装 workers-mcp 包:

npm install workers-mcp

运行设置命令以配置 MCP:

npx workers-mcp setup

这将:

  • 添加必要的依赖项
  • 设置本地代理以供测试
  • 配置 Worker 以符合 MCP 标准

编写 MCP 服务器代码

更新您的 src/index.ts 以定义您的 MCP 服务器:

import { WorkerEntrypoint } from 'cloudflare:workers';
import { ProxyToSelf } from 'workers-mcp';

export default class MyWorker extends WorkerEntrypoint<Env> {
  /**
   * A friendly greeting from your MCP server.
   * @param name {string} The name of the user.
   * @return {string} A personalized greeting.
   */
  sayHello(name: string) {
    return `Hello from an MCP Worker, ${name}!`;
  }

  /**
   * @ignore
   */
  async fetch(request: Request): Promise<Response> {
    return new ProxyToSelf(this).fetch(request);
  }
}

关键组件:

  • WorkerEntrypoint:管理传入请求和方法暴露。
  • ProxyToSelf:确保符合 MCP 协议。
  • sayHello 方法:AI 助手可以调用的一个示例 MCP 函数。

添加 API 调用

您可以通过集成外部 API 来扩展您的 MCP 服务器。这里有一个获取天气数据的例子:

export default class WeatherWorker extends WorkerEntrypoint<Env> {
  /**
   * Fetch weather data for a given location.
   * @param location {string} The city or ZIP code.
   * @return {object} Weather details.
   */
  async getWeather(location: string) {
    const response = await fetch(`https://api.weather.example/v1/${location}`);
    const data = await response.json();
    return {
      temperature: data.temp,
      conditions: data.conditions,
      forecast: data.forecast
    };
  }

  async fetch(request: Request): Promise<Response> {
    return new ProxyToSelf(this).fetch(request);
  }
}

部署 MCP 服务器

一旦您的 Worker 设置完成,将其部署到 Cloudflare:

npx wrangler deploy

部署完成后,您的 Worker 就上线了,AI 助手可以发现并使用您的 MCP 工具。

要更新您的 MCP 服务器,请重新部署:

npm run deploy

测试 MCP 服务器

要本地测试您的 MCP 设置:

npx workers-mcp proxy

此命令启动一个本地代理,允许 MCP 客户端(如 Claude Desktop)连接。


安全性

为了保护您的 MCP 服务器,请使用 Wrangler Secrets:

npx wrangler secret put MCP_SECRET

这会添加一个共享密钥认证机制,防止未经授权的访问。


结论

恭喜!您已经成功地使用 Cloudflare Workers 构建并部署了一个 MCP 服务器。现在您可以为其添加更多功能,并向 AI 助手公开新的工具。

有关更多详细信息,请参阅 Cloudflare MCP 文档