# @cloudflare/mcp-server-cloudflare 中文文档

规范地址：https://npmcn.com/package/%40cloudflare/mcp-server-cloudflare/

版本：0\.2\.0
npm 元数据更新时间：2026-09-03T14:21:17.780Z
中文译文更新时间：2026-11-10T03:16:33.104Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cloudflare/mcp-server-cloudflare
原文对照：https://npmcn.com/package/%40cloudflare/mcp-server-cloudflare/?lang=original
项目主页：https://github.com/cloudflare/mcp-server-cloudflare

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：277 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=16\.17\.0
- 运行依赖：8 个
- 首次发布：2024-11-27T05:06:56.426Z
- 最新版本发布：2025-03-14T10:41:19.350Z
- 近 30 天下载量：10329（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 0 个）

## 中文简介

用于与 Cloudflare API 交互的 MCP 服务器

## 安装

```sh
npm install @cloudflare/mcp-server-cloudflare
```

也可以使用：`pnpm add @cloudflare/mcp-server-cloudflare`、`yarn add @cloudflare/mcp-server-cloudflare`、`bun add @cloudflare/mcp-server-cloudflare`

## README

# Cloudflare MCP 服务器

示范背景协议(MCP)是一种 [新的标准化协议](https://modelcontextprotocol.io/introduction) 用于管理大语言模型和外部系统之间的上下文。 在这个寄存器中,我们提供一个安装器和一个MCP服务器,用于 [云飞的API](https://api.cloudflare.com/)。 。 。 .

您可以使用 Claude Desktop 或任何 MCP 客户端来使用自然语言来完成您 Cloudflare 账户上的内容, 例如 :

-   `Please deploy me a new Worker with an example durable object.`
-   `Can you tell me about the data in my D1 database named '...'?`
-   `Can you copy all the entries from my KV namespace '...' into my R2 bucket '...'?`

## 演示

[![Demonstrating the newly-released MCP server to explore Cloudflare properties, like Workers, KV, and D1.](https://img.youtube.com/vi/vGajZpl_9yA/maxresdefault.jpg)](https://www.youtube.com/watch?v=vGajZpl_9yA)

## 设置

1.  确保您通过Wrangler登录到Cloudflare:
    
    ```bash
    npx wrangler login
    ```
    
    MCP 服务器在本地测试时访问 Cloudflare 资源需要此认证 .
    
2.  运行 `npx @cloudflare/mcp-server-cloudflare init`
    

![Example console output](https://github.com/user-attachments/assets/163bed75-ec0c-478a-94b2-179969a90923)

3.  重新启动 Claude 桌面, 您应该看到一个小的 QQ 图标, 显示以下可用的工具 :

![Example tool icon](https://github.com/user-attachments/assets/a24275b1-1c6f-4754-96ef-dd7b9f0f5903) ![Example tool list](https://github.com/user-attachments/assets/4fb8badb-6800-4a3f-a530-a344b3584bec)

## 付费特征

MCP服务器中的一些功能需要支付Cloudflare工人计划:

-   **观察和分析**编号: `analytics_get` 工具和相关分析功能要求有带薪的工人计划才能获得这些计量标准
-   其他溢价Cloudflare功能,如先进的D1数据库能力和更高的使用限额,也需要适当的付费计划

请确保您的 Cloudflare 账户对您打算使用的功能具有必要的订阅级别 .

## 特征

### KV 存储管理

-   `get_kvs`: 列出账户中的所有 KV 命名空间
-   `kv_get`: 从 KV 命名空间获取一个值
-   `kv_put`: 在 KV 命名空间中存储一个值
-   `kv_list`: 在 KV 命名空间中列出密钥
-   `kv_delete`: 从 KV 命名空间中删除密钥

### R2 存储管理

-   `r2_list_buckets`: 列出账户中的所有 R2 桶
-   `r2_create_bucket`: 创建一个新的 R2 桶
-   `r2_delete_bucket`: 删除 R2 桶
-   `r2_list_objects`: 在 R2 桶中列出对象
-   `r2_get_object`: 从 R2 桶中获取对象
-   `r2_put_object`: 将对象放入 R2 桶
-   `r2_delete_object`: 从 R2 桶中删除对象

### D1 数据库管理

-   `d1_list_databases`: 列出账户中的所有 D1 数据库
-   `d1_create_database`: 创建一个新的 D1 数据库
-   `d1_delete_database`: 删除一个D1数据库
-   `d1_query`: 对 D1 数据库执行 SQL 查询

### 工人管理

-   `worker_list`: 列出账户中的所有工人
-   `worker_get`: 获取工人脚本内容
-   `worker_put`: 创建或更新工作者脚本
-   `worker_delete`: 删除工人脚本

### 持久对象

-   `durable_objects_list`: 列出所有持久对象命名空间
-   `durable_objects_create`: 创建一个新的持久对象命名空间
-   `durable_objects_delete`: 删除持久对象命名空间
-   `durable_objects_list_instances`: 列出特定持久对象命名空间的所有实例
-   `durable_objects_get_instance`: 获取特定持久对象实例的细节
-   `durable_objects_delete_instance`: 删除特定的持久对象实例

### 队列

-   `queues_list`: 列出账户中的所有队列
-   `queues_create`: 创建新队列
-   `queues_delete`: 删除队列
-   `queues_get`: 获取特定队列的细节
-   `queues_send_message`: 向队列发送消息
-   `queues_get_messages`: 从队列获取消息
-   `queues_update_consumer`: 更新队列消费者

### 大赦国际

-   `workers_ai_list_models`: 列出可用的AI模型
-   `workers_ai_get_model`:获取特定AI模型的细节
-   `workers_ai_run_inference`: 使用工人AI进行推论
-   `workers_ai_list_tasks`: 列出 AI 任务

### 工作流量

-   `workflows_list`: 列出账户中的所有工作流程
-   `workflows_create`: 创建新工作流程
-   `workflows_delete`: 删除工作流程
-   `workflows_get`:获取特定工作流程的细节
-   `workflows_update`更新工作流程
-   `workflows_execute`: 执行工作流程

### 模板

-   `templates_list`: 列出可用的工人模板
-   `templates_get`: 获取特定模板的细节
-   `templates_create_from_template`: 从模板创建新工作者

### 工人促进平台

-   `w4p_list_dispatchers`: 列出平台调度员的所有工人
-   `w4p_create_dispatcher`: 创建新调度器
-   `w4p_delete_dispatcher`: 删除调度器
-   `w4p_get_dispatcher`: 获取特定调度器的细节
-   `w4p_update_dispatcher`: 更新调度器配置

### 服务约束

-   `bindings_list`: 列出对工人的所有服务绑定
-   `bindings_create`: 创建新服务绑定
-   `bindings_update`: 更新服务绑定
-   `bindings_delete`: 删除服务绑定

### URL 运行

-   `routing_list_routes`: 列出工人的所有路线
-   `routing_create_route`: 创建新路径
-   `routing_update_route`: 更新路径
-   `routing_delete_route`: 删除路由

### 克龙触发器

-   `cron_list`: 列出一个工人的所有克龙触发器
-   `cron_create`: 创建新克龙触发器
-   `cron_update`: 更新克龙触发器
-   `cron_delete`: 删除克龙触发器

### 区域( D)

-   `zones_list`: 列出账户中的所有区域
-   `zones_create`: 创建新区域
-   `zones_delete`: 删除区域
-   `zones_get`:获取特定区域的细节
-   `zones_check_activation`: 检查区域激活状态

### 秘诀

-   `secrets_list`: 列出工人的所有秘密
-   `secrets_put`: 创建或更新一个秘密
-   `secrets_delete`: 删除一个秘密

### 版本管理

-   `versions_list`: 列出一个工作者的所有版本
-   `versions_get`:获取特定版本的细节
-   `versions_rollback`: 回滚到上一个版本

### 朗格勒配置

-   `wrangler_get_config`: 获取当前 Wrangler 配置
-   `wrangler_update_config`: 更新Wrangler配置

### 分析

-   `analytics_get`: 为您的域获取分析数据
    -   包括请求、带宽、威胁和页面浏览等衡量标准
    -   支持日期范围过滤

## 发展中国家

在当前工程文件夹中, 运行 :

```
pnpm install
pnpm build:watch
```

然后,在第二个终点站:

```
node dist/index.js init
```

这将将 Claude Desktop 与您本地安装的版本连接, 供您测试 .

## 测试

该项目使用Vitest作为MSW(Mock Service Worker)的测试框架来进行API模拟.

### 运行测试

进行所有测试:

```bash
pnpm test
```

进行覆盖测试:

```bash
pnpm test:coverage
```

要运行特定测试文件 :

```bash
pnpm test -- tests/tools/queues.test.ts
```

在监视模式下运行测试( 开发期间有用) :

```bash
pnpm test:watch
```

### 测试结构

测试套房的安排如下:

-   `tests/tools/`: 包含每个 Cloudflare API 工具的测试
-   `tests/mocks/`: 包含模拟数据和请求处理器
-   `tests/utils/`: 包含测试助手函数
-   `tests/setup.ts`: 全局测试设置配置

每个工具测试文件都遵循一个一致的模式,既测试成功操作,也测试出错处理方案.

## 克劳德以外的使用

要在本地运行服务器, 请运行 `node dist/index run <account-id>`。 。 。 .

如果您正在使用替代的 MCP 客户端, 或者在本地测试, 发送 `tools/list` 命令以获取所有可用工具的最新列表。 然后你可以直接用 `tools/call` 命令.

### 工人

```javascript
// List workers
worker_list()

// Get worker code
worker_get({ name: "my-worker" })

// Update worker
worker_put({
  name: "my-worker",
  script: "export default { async fetch(request, env, ctx) { ... }}",
  bindings: [
    {
      type: "kv_namespace",
      name: "MY_KV",
      namespace_id: "abcd1234"
    },
    {
      type: "r2_bucket",
      name: "MY_BUCKET",
      bucket_name: "my-files"
    }
  ],
  compatibility_date: "2024-01-01",
  compatibility_flags: ["nodejs_compat"]
})

// Delete worker
worker_delete({ name: "my-worker" })
```

### KV 存储

```javascript
// List KV namespaces
get_kvs()

// Get value
kv_get({
    namespaceId: "your_namespace_id",
    key: "myKey"
})

// Store value
kv_put({
    namespaceId: "your_namespace_id",
    key: "myKey",
    value: "myValue",
    expirationTtl: 3600 // optional, in seconds
})

// List keys
kv_list({
    namespaceId: "your_namespace_id",
    prefix: "app_", // optional
    limit: 10 // optional
})

// Delete key
kv_delete({
    namespaceId: "your_namespace_id",
    key: "myKey"
})
```

### R2 存储

```javascript
// List buckets
r2_list_buckets()

// Create bucket
r2_create_bucket({ name: "my-bucket" })

// Delete bucket
r2_delete_bucket({ name: "my-bucket" })

// List objects in bucket
r2_list_objects({ 
    bucket: "my-bucket",
    prefix: "folder/", // optional
    delimiter: "/", // optional
    limit: 1000 // optional
})

// Get object
r2_get_object({
    bucket: "my-bucket",
    key: "folder/file.txt"
})

// Put object
r2_put_object({
    bucket: "my-bucket",
    key: "folder/file.txt",
    content: "Hello, World!",
    contentType: "text/plain" // optional
})

// Delete object
r2_delete_object({
    bucket: "my-bucket",
    key: "folder/file.txt"
})
```

### D1 数据库

```javascript
// List databases
d1_list_databases()

// Create database
d1_create_database({ name: "my-database" })

// Delete database
d1_delete_database({ databaseId: "your_database_id" })

// Execute a single query
d1_query({
    databaseId: "your_database_id",
    query: "SELECT * FROM users WHERE age > ?",
    params: ["25"] // optional
})

// Create a table
d1_query({
    databaseId: "your_database_id",
    query: `
        CREATE TABLE users (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            name TEXT NOT NULL,
            email TEXT UNIQUE,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
        )
    `
})
```

### 分析

```javascript
// Get today's analytics
analytics_get({
    zoneId: "your_zone_id",
    since: "2024-11-26T00:00:00Z",
    until: "2024-11-26T23:59:59Z"
})
```

### 持久对象

```javascript
// List Durable Objects namespaces
durable_objects_list()

// Create a new Durable Objects namespace
durable_objects_create({
    name: "my-durable-object",
    script_name: "my-worker",
    class_name: "MyDurableObjectClass"
})

// Delete a Durable Objects namespace
durable_objects_delete({
    id: "your_namespace_id"
})

// List instances for a namespace
durable_objects_list_instances({
    namespaceId: "your_namespace_id",
    limit: 100 // optional
})

// Get details about a specific instance
durable_objects_get_instance({
    namespaceId: "your_namespace_id",
    instanceId: "your_instance_id"
})

// Delete a specific instance
durable_objects_delete_instance({
    namespaceId: "your_namespace_id",
    instanceId: "your_instance_id"
})
```

### 队列

```javascript
// List all queues
queues_list()

// Create a new queue
queues_create({
    name: "my-queue",
    settings: {
        delivery_delay: 0,
        dead_letter_queue: "dead-letter-queue" // optional
    }
})

// Delete a queue
queues_delete({
    name: "my-queue"
})

// Get queue details
queues_get({
    name: "my-queue"
})

// Send a message to a queue
queues_send_message({
    queue: "my-queue",
    messages: [
        { body: JSON.stringify({ key: "value" }) }
    ]
})

// Get messages from a queue
queues_get_messages({
    queue: "my-queue",
    batchSize: 10, // optional
    visibilityTimeout: 30 // optional, in seconds
})

// Update a queue consumer
queues_update_consumer({
    queue: "my-queue",
    consumer: "my-consumer",
    settings: {
        dead_letter_queue: "dead-letter-queue",
        batch_size: 10,
        max_retries: 3
    }
})
```

### 大赦国际

```javascript
// List available AI models
workers_ai_list_models()

// Get details about a specific model
workers_ai_get_model({
    model: "@cf/meta/llama-2-7b-chat-int8"
})

// Run inference using Workers AI
workers_ai_run_inference({
    model: "@cf/meta/llama-2-7b-chat-int8",
    input: {
        messages: [
            { role: "system", content: "You are a helpful assistant." },
            { role: "user", content: "Hello, who are you?" }
        ]
    },
    options: {
        temperature: 0.7,
        max_tokens: 100
    }
})

// List AI tasks
workers_ai_list_tasks()
```

### 工作流量

```javascript
// List all workflows
workflows_list()

// Create a new workflow
workflows_create({
    name: "my-workflow",
    content: "// Workflow script content here"
})

// Delete a workflow
workflows_delete({
    name: "my-workflow"
})

// Get workflow details
workflows_get({
    name: "my-workflow"
})

// Update a workflow
workflows_update({
    name: "my-workflow",
    content: "// Updated workflow script content"
})

// Execute a workflow
workflows_execute({
    name: "my-workflow",
    input: { key: "value" }
})
```

### 模板

```javascript
// List available templates
templates_list()

// Get details about a specific template
templates_get({
    template: "worker-typescript"
})

// Create a worker from a template
templates_create_from_template({
    name: "my-new-worker",
    template: "worker-typescript",
    options: {
        // Template-specific options
    }
})
```

### 工人促进平台

```javascript
// List dispatchers
w4p_list_dispatchers()

// Create a new dispatcher
w4p_create_dispatcher({
    name: "my-dispatcher",
    script: "// Dispatcher script content"
})

// Delete a dispatcher
w4p_delete_dispatcher({
    name: "my-dispatcher"
})

// Get dispatcher details
w4p_get_dispatcher({
    name: "my-dispatcher"
})

// Update dispatcher
w4p_update_dispatcher({
    name: "my-dispatcher",
    script: "// Updated dispatcher script content"
})
```

### 服务约束

```javascript
// List all service bindings for a worker
bindings_list({
    workerName: "my-worker"
})

// Create a new service binding
bindings_create({
    workerName: "my-worker",
    bindingName: "MY_SERVICE",
    serviceEnvironment: "production",
    serviceName: "target-worker"
})

// Update a service binding
bindings_update({
    workerName: "my-worker",
    bindingName: "MY_SERVICE",
    serviceEnvironment: "staging",
    serviceName: "target-worker"
})

// Delete a service binding
bindings_delete({
    workerName: "my-worker",
    bindingName: "MY_SERVICE"
})
```

### URL 运行

```javascript
// List all routes for a worker
routing_list_routes({
    workerName: "my-worker"
})

// Create a new route
routing_create_route({
    workerName: "my-worker",
    pattern: "example.com/*",
    zoneId: "your_zone_id"
})

// Update a route
routing_update_route({
    routeId: "your_route_id",
    pattern: "api.example.com/*",
    zoneId: "your_zone_id"
})

// Delete a route
routing_delete_route({
    routeId: "your_route_id"
})
```

### 克龙触发器

```javascript
// List all cron triggers for a worker
cron_list({
    workerName: "my-worker"
})

// Create a new cron trigger
cron_create({
    workerName: "my-worker",
    schedule: "*/5 * * * *",
    timezone: "UTC" // optional
})

// Update a cron trigger
cron_update({
    triggerId: "your_trigger_id",
    schedule: "0 */2 * * *",
    timezone: "America/New_York"
})

// Delete a cron trigger
cron_delete({
    triggerId: "your_trigger_id"
})
```

### 区域( D)

```javascript
// List all zones
zones_list()

// Create a new zone
zones_create({
    name: "example.com",
    account: {
        id: "your_account_id"
    }
})

// Get zone details
zones_get({
    zoneId: "your_zone_id"
})

// Delete a zone
zones_delete({
    zoneId: "your_zone_id"
})

// Check zone activation status
zones_check_activation({
    zoneId: "your_zone_id"
})
```

### 秘诀

```javascript
// List all secrets for a worker
secrets_list({
    workerName: "my-worker"
})

// Create or update a secret
secrets_put({
    workerName: "my-worker",
    secretName: "API_KEY",
    secretValue: "your-secret-api-key"
})

// Delete a secret
secrets_delete({
    workerName: "my-worker",
    secretName: "API_KEY"
})
```

### 版本管理

```javascript
// List all versions of a worker
versions_list({
    workerName: "my-worker"
})

// Get details about a specific version
versions_get({
    workerName: "my-worker",
    versionId: "your_version_id"
})

// Rollback to a previous version
versions_rollback({
    workerName: "my-worker",
    versionId: "your_version_id"
})
```

### 朗格勒配置

```javascript
// Get current wrangler configuration
wrangler_get_config()

// Update wrangler configuration
wrangler_update_config({
    config: {
        name: "my-worker",
        main: "src/index.ts",
        compatibility_date: "2024-03-11",
        workers_dev: true
    }
})
```

## 捐款

欢迎捐款! 请随意提交拉力请求.

## 常见问题

### @cloudflare/mcp-server-cloudflare 是什么？

用于与 Cloudflare API 交互的 MCP 服务器

### 如何安装 @cloudflare/mcp-server-cloudflare？

在项目目录运行 npm install @cloudflare/mcp-server-cloudflare，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mcp-server-cloudflare，可以用 npx mcp-server-cloudflare 直接运行。

### @cloudflare/mcp-server-cloudflare 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @cloudflare/mcp-server-cloudflare 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @cloudflare/mcp-server-cloudflare 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=16\.17\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @cloudflare/mcp-server-cloudflare 可以商用吗？

@cloudflare/mcp-server-cloudflare 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @cloudflare/mcp-server-cloudflare 的下载量有多少？

根据 npm 官方下载统计，@cloudflare/mcp-server-cloudflare 在 2026/10/10 – 2026/11/08 这 30 天内被下载 10,329 次，日均约 344 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cloudflare/mcp-server-cloudflare 还在维护吗？

最新版本 0\.2\.0 发布于 2025/03/14（1\.7 年前）；至今共发布 17 个版本，其中过去 12 个月发布了 0 个；首次发布于 2024/11/27。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

