Cover image
Try Now
2025-03-21

MCP服务器与Cloudflare工人

3 years

Works with Finder

1

Github Watches

1

Github Forks

0

Github Stars

MCP Server with Cloudflare Workers

Introduction

Model Context Protocol (MCP) is an open standard that enables AI agents and assistants to interact with services. By setting up an MCP server, you can allow AI assistants to access your APIs directly.

Cloudflare Workers, combined with the workers-mcp package, provide a powerful and scalable solution for building MCP servers.

Prerequisites

Before starting, ensure you have:


Getting Started

Step 1: Create a New Cloudflare Worker

First, initialize a new Cloudflare Worker project:

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

Then, authenticate your Cloudflare account:

wrangler login

Step 2: Configure Wrangler

Update your wrangler.toml file with the correct account details:

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

Installing MCP Tooling

To enable MCP support, install the workers-mcp package:

npm install workers-mcp

Run the setup command to configure MCP:

npx workers-mcp setup

This will:

  • Add necessary dependencies
  • Set up a local proxy for testing
  • Configure the Worker for MCP compliance

Writing MCP Server Code

Update your src/index.ts to define your MCP server:

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);
  }
}

Key Components:

  • WorkerEntrypoint: Manages incoming requests and method exposure.
  • ProxyToSelf: Ensures MCP protocol compliance.
  • sayHello method: An example MCP function that AI assistants can call.

Adding API Calls

You can extend your MCP server by integrating with external APIs. Here's an example of fetching weather data:

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);
  }
}

Deploying the MCP Server

Once your Worker is set up, deploy it to Cloudflare:

npx wrangler deploy

After deployment, your Worker is live and AI assistants can discover and use your MCP tools.

To update your MCP server, redeploy with:

npm run deploy

Testing the MCP Server

To test your MCP setup locally:

npx workers-mcp proxy

This command starts a local proxy allowing MCP clients (like Claude Desktop) to connect.


Security

To secure your MCP server, use Wrangler Secrets:

npx wrangler secret put MCP_SECRET

This adds a shared-secret authentication mechanism to prevent unauthorized access.


Conclusion

Congratulations! You have successfully built and deployed an MCP server using Cloudflare Workers. You can now extend it with more features and expose new tools for AI assistants.

For more details, check the Cloudflare MCP documentation.


相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Beniyam Berhanu
  • Therapist adept at identifying core issues and offering practical advice with images.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • huahuayu
  • 统一的API网关,用于将多个Etherscan样区块链Explorer API与对AI助手的模型上下文协议(MCP)支持。

  • deemkeen
  • 用电源组合控制您的MBOT2:MQTT+MCP+LLM

  • jae-jae
  • MCP服务器使用剧作《无头浏览器》获取网页内容。

    Reviews

    2 (1)
    Avatar
    user_1yUzmfkV
    2025-04-17

    I've been using my-mcp-worker developed by sivakumarl, and it has significantly streamlined my workflow. It's intuitive, efficient, and highly reliable. The documentation is clear, and the setup process is straightforward. I highly recommend checking it out on GitHub if you need a robust solution for your project.