edgeport について
edgeportは、Cloudflareアカウントの主要な操作の一部を扱うMCPサーバー兼コマンドラインツールです。エージェントがアカウントやゾーンを確認し、DNSレコードとキャッシュを管理して、Workers、KVネームスペース、R2バケットを一覧できます。
主な機能
- 01アカウントとゾーンの一覧表示
- 02DNSレコードの参照と変更
- 03ゾーンキャッシュのパージ
- 04Workerスクリプト、KV、R2の一覧表示
- 05Workerスクリプトのメタデータ確認
活用シーン
- 01APIトークンがアクセスできるゾーンの確認
- 02ゾーンのDNSレコード更新
- 03ファイル、タグ、ホストのキャッシュ削除
- 04Workerスクリプト、KVネームスペース、R2バケットの確認
MCP 対応
stdio MCPサーバーを通じて、Cloudflareのアカウント、ゾーン、DNS、キャッシュ、Workers、KV、R2の一部操作をツールとして公開します。同じ操作はコマンドラインからも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| per_page | integer | いいえ | 結果の各ページで返すアカウントの最大数。 |
詳細
edgeport
edgeport は、Cloudflare アカウントへの小さな入口です。1 つのバイナリから、エージェントはトークンでアクセスできるアカウントやゾーンを確認し、DNS レコードの読み取りや変更、キャッシュコンテンツのパージ、アカウントの Worker スクリプト、KV ネームスペース、R2 バケットの一覧取得を行えます。コマンドラインから、またはエージェント向けの MCP サーバーとして実行できます。
Cloudflare API トークンが必要です。CLOUDFLARE_API_TOKEN 環境変数に設定してください。トークンは Bearer トークンとして API に送信され、出力には表示されません。アカウントスコープのツール(Worker スクリプト、KV、R2)には account_id 引数を指定します。省略した場合は CLOUDFLARE_ACCOUNT_ID が使用されます。必須の変数が設定されていない場合、呼び出しは変数名を示すエラーで失敗します。
これは Cloudflare API の主要機能の一部であり、全機能を網羅するものではありません。Workers のバインディングの詳細設定、オブザーバビリティと 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 呼び出し失敗時(CLOUDFLARE_API_TOKEN の未設定や success: false のエンベロープを含む)は 1、使用方法のエラー時は 2 です。
MCP サーバー
1 つのバイナリで両方の形式を利用できます。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_accounts | per_page(整数、任意) | エンベロープの result に含まれる、トークンがアクセスできるアカウント。 |
list_zones | account_id、name、per_page(すべて任意) | アカウントまたは名前で絞り込めるゾーン。 |
get_zone | zone_id(必須) | 1 つのゾーンの詳細。 |
list_dns_records | zone_id(必須)、type、name、per_page(任意) | ゾーン内の DNS レコード。 |
create_dns_record | zone_id、type、name、content(必須)、ttl、proxied、comment(任意) | 作成されたレコード。 |
update_dns_record | zone_id、record_id(必須)、任意のレコードフィールド(任意) | 更新されたレコード。指定されたフィールドのみが送信されます。 |
delete_dns_record | zone_id、record_id(必須) | 削除結果。 |
purge_cache | zone_id(必須)、purge_everything、files、tags、hosts(任意) | ゾーンのパージ結果。 |
list_workers_scripts | account_id(任意) | アカウント内の Worker スクリプト。 |
get_worker_script | script_name(必須)、account_id(任意) | 形状の概要のみ:コンテンツタイプ、バイトサイズ、本文の有無。スクリプト本文は返されません。 |
list_kv_namespaces | account_id(任意) | アカウント内の Workers KV ネームスペース。 |
list_r2_buckets | account_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 を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。