MCP Worker
一个开放标准的服务器实现,它使人工智能助手能够通过模型上下文协议直接访问API和服务,使用Cloudflare Workers构建以实现可扩展性。
服务介绍
使用 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 文档。