MCP服务器构建工具

基于Cloudflare Workers的MCP服务器构建工具,用于创建AI助手可访问的API服务。

  • by sivakumarl
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 sivakumarl/my-mcp-worker

使用说明

配备Cloudflare Workers的MCP服务器

引言

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

Cloudflare Workers与 workers-mcp 该软件包为构建MCP服务器提供了一个强大且可扩展的解决方案。

先决条件

在开始之前,请确保您已经:

  • A. 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.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

运行setup命令以配置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);
  }
}

关键部件:

  • 工人入口点:管理传入请求和方法暴露。
  • 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文档.