mcpField
E
edgeport

edgeport

本地服务
github.com/CloudCorpRecords云与基础设施02 周前更新

关于 edgeport

edgeport 是面向 Cloudflare 账户部分核心操作的 MCP 服务和命令行工具。它让 Agent 查看账户与区域、管理 DNS 记录和缓存,并盘点 Workers、KV 命名空间及 R2 存储桶。

主要功能

  1. 01列出账户和区域
  2. 02读取和修改 DNS 记录
  3. 03清除区域缓存
  4. 04盘点 Worker 脚本、KV 和 R2
  5. 05查看 Worker 脚本元数据

适用场景

  1. 01查找 API 令牌可访问的区域
  2. 02更新某区域的 DNS 记录
  3. 03清除缓存文件、标签或主机
  4. 04检查 Worker 脚本、KV 命名空间或 R2 存储桶

MCP 相关

通过 stdio MCP 服务,将部分 Cloudflare 账户、区域、DNS、缓存、Workers、KV 和 R2 操作作为工具提供。同一组操作也可通过命令行使用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-edgeport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/edgeport"
]
}
}
}
启动命令npx -y @reneturcios/edgeport

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/edgeport0.1.0
ocighcr.io/cloudcorprecords/edgeport:0.1.0

工具

12

收录的工具列表 · 更新于 2 周前

参数类型必填说明
per_pageinteger否每页结果中返回的账户最大数量。

详细介绍

edgeport

edgeport 是一个通往 Cloudflare 账户的小入口。Agent 可以通过一个二进制文件查看令牌可访问的账户和区域、读取和修改 DNS 记录、清除缓存内容,以及盘点账户中的 Worker 脚本、KV 命名空间和 R2 存储桶。它既可以从命令行运行,也可以作为供 Agent 使用的 MCP 服务运行。

需要 Cloudflare API 令牌。请将其放入 CLOUDFLARE_API_TOKEN 环境变量;该变量会作为 Bearer 令牌发送给 API,且绝不会出现在输出中。账户级工具(Worker 脚本、KV、R2)接受 account_id 参数;省略该参数时,则回退使用 CLOUDFLARE_ACCOUNT_ID。缺少必需变量时,调用会失败,并在错误中指出变量名称。

这只是 Cloudflare API 的核心子集,并非其全部功能:Worker 绑定的深度配置、可观测性和 Logpush、规则集和防火墙规则、Pages 和部署、Stream 和 Images、AI 和 Vectorize,以及托管式文档搜索工具均不在支持范围内。

安装

npx @reneturcios/edgeport list-zones

或者运行容器镜像:

docker run -i -e CLOUDFLARE_API_TOKEN ghcr.io/cloudcorprecords/edgeport

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

export CLOUDFLARE_API_TOKEN="your api token"
export CLOUDFLARE_ACCOUNT_ID="your account id"   # optional fallback

edgeport list-accounts
edgeport list-zones --name example.com
edgeport get-zone --zone-id <zone id>
edgeport list-dns --zone-id <zone id> --type A
edgeport purge-cache --zone-id <zone id> --everything
edgeport list-workers
edgeport list-kv
edgeport list-r2

edgeport --version

退出代码:成功时为 0;API 调用失败时为 1(包括缺少 CLOUDFLARE_API_TOKEN 或收到 success: false 响应封装);用法错误时为 2。

MCP 服务

一个二进制文件即可支持这两种用法。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/edgeport mcp

MCP 客户端配置:

{
  "mcpServers": {
    "edgeport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/edgeport", "mcp"],
      "env": { "CLOUDFLARE_API_TOKEN": "your api token" }
    }
  }
}
工具
工具输入返回内容
list_accountsper_page(整数,可选)令牌可访问的账户,取自响应封装的 result。
list_zonesaccount_id、name、per_page(均可选)区域,可按账户或名称筛选。
get_zonezone_id(必填)单个区域的详细信息。
list_dns_recordszone_id(必填)、type、name、per_page(可选)区域中的 DNS 记录。
create_dns_recordzone_id、type、name、content(必填)、ttl、proxied、comment(可选)创建的记录。
update_dns_recordzone_id、record_id(必填)、任意记录字段(可选)更新后的记录;仅发送给定字段。
delete_dns_recordzone_id、record_id(必填)删除结果。
purge_cachezone_id(必填)、purge_everything、files、tags、hosts(可选)区域的缓存清除结果。
list_workers_scriptsaccount_id(可选)账户中的 Worker 脚本。
get_worker_scriptscript_name(必填)、account_id(可选)仅返回结构摘要:内容类型、字节大小、是否存在正文。绝不返回脚本正文。
list_kv_namespacesaccount_id(可选)账户中的 Workers KV 命名空间。
list_r2_bucketsaccount_id(可选)账户中的 R2 存储桶。

每个 JSON 响应都会从 Cloudflare 的 {success, errors, result} 响应封装中解包。收到 success: false 响应封装时,会报告工具错误,并附上 API 自身的错误条目。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。