关于 Akamai CDN
Akamai CDN 的只读 MCP 服务,为运维和开发人员提供 CDN 配置、DNS、EdgeWorkers 与网络列表的查询能力。它不会创建、修改、删除或部署数据。
主要功能
- 01搜索 CDN 属性并查看规则与部署状态
- 02查询 DNS 区域和记录
- 03浏览 EdgeWorkers 版本与代码
- 04搜索网络列表及其内容
- 05查询账户组、CP codes 并翻译错误码
适用场景
- 01排查 CDN 属性的缓存规则和部署情况
- 02检查域名的 DNS 记录
- 03搜索 EdgeWorkers 代码中的函数调用
- 04核对网络屏蔽列表中的 IP
MCP 相关
作为 MCP 服务向兼容客户端提供 Akamai CDN 数据的只读查询工具;不执行写入或部署操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
uvx readonly-mcp-akamai需要配置的环境变量
AKAMAI_HOSTAkamai EdgeGrid API hostname (e.g., akab-xxxx.luna.akamaiapis.net)AKAMAI_CLIENT_TOKEN密钥Akamai EdgeGrid client tokenAKAMAI_CLIENT_SECRET密钥Akamai EdgeGrid client secretAKAMAI_ACCESS_TOKEN密钥Akamai EdgeGrid access token本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
readonly-mcp-akamai
适用于 Akamai CDN 的只读 MCP 服务。可搜索属性、浏览 EdgeWorker 代码、查询 DNS 区域、检查网络列表并翻译错误代码。
只读设计。 此服务只能读取数据,无法创建、修改、删除、激活、停用或清除任何内容。设计原因请参阅 blog.wentland.io。
工具
属性(CDN 配置)
| 工具 | 描述 |
|---|---|
search_properties | 按名称模糊搜索 CDN 属性。使用预加载的内存索引,每 5 分钟刷新一次。 |
get_property_details | 获取属性版本、主机名和激活状态。 |
get_property_rules | 获取属性版本的规则树——完整的 CDN 配置。 |
get_property_activations | 列出属性的部署历史记录。 |
DNS
| 工具 | 描述 |
|---|---|
list_dns_zones | 列出所有 DNS 区域,可按名称或类型筛选。 |
search_dns_records | 在区域内按名称或记录类型搜索 DNS 记录。 |
EdgeWorkers(无服务器函数)
| 工具 | 描述 |
|---|---|
list_edgeworkers | 列出所有 EdgeWorker ID 及其名称和描述。 |
list_edgeworker_versions | 列出 EdgeWorker 的版本。 |
get_edgeworker_files | 下载某个版本的代码包并列出所有文件。结果会缓存在内存中。 |
get_edgeworker_file | 从缓存的代码包中读取指定文件,支持指定行范围。 |
search_edgeworker_code | 使用正则表达式搜索缓存代码包中的所有文件。 |
网络列表
| 工具 | 描述 |
|---|---|
search_network_lists | 按名称搜索网络列表(IP 允许列表、阻止列表、地理位置列表)。 |
get_network_list | 获取网络列表的完整内容。 |
实用工具
| 工具 | 描述 |
|---|---|
list_groups | 列出 Akamai 层级结构中的账户组。 |
list_cp_codes | 列出合同和组对应的 CP 代码(计费/报告标识符)。 |
translate_error_code | 将 Akamai 参考错误代码转换为易读的描述。 |
安装
# With uv (recommended)
uv pip install readonly-mcp-akamai
# With pip
pip install readonly-mcp-akamai
Docker
docker run -e AKAMAI_HOST=... -e AKAMAI_CLIENT_TOKEN=... \
-e AKAMAI_CLIENT_SECRET=... -e AKAMAI_ACCESS_TOKEN=... \
ghcr.io/desty2k/readonly-mcp-akamai
配置
所有设置均通过带有 AKAMAI_ 前缀的环境变量进行。
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
AKAMAI_HOST | 是 | — | Akamai API 主机名(例如:akab-xxxx.luna.akamaiapis.net) |
AKAMAI_CLIENT_TOKEN | 是 | — | EdgeGrid 客户端令牌 |
AKAMAI_CLIENT_SECRET | 是 | — | EdgeGrid 客户端密钥 |
AKAMAI_ACCESS_TOKEN | 是 | — | EdgeGrid 访问令牌 |
AKAMAI_TRANSPORT | 否 | stdio | 传输方式:stdio、http 或 sse |
AKAMAI_HTTP_PORT | 否 | 8080 | HTTP/SSE 传输端口 |
AKAMAI_LOG_FORMAT | 否 | json | 日志格式:json 或 text |
AKAMAI_LOG_LEVEL | 否 | INFO | 日志级别:DEBUG、INFO、WARNING、ERROR |
AKAMAI_INDEX_REFRESH_INTERVAL | 否 | 300 | 属性索引刷新间隔,单位为秒 |
请从 Akamai Control Center > Identity & Access Management > API Clients 获取凭据。
MCP 客户端配置
Claude Desktop
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"akamai": {
"command": "readonly-mcp-akamai",
"env": {
"AKAMAI_HOST": "akab-xxxx.luna.akamaiapis.net",
"AKAMAI_CLIENT_TOKEN": "akab-xxxx",
"AKAMAI_CLIENT_SECRET": "xxxx",
"AKAMAI_ACCESS_TOKEN": "akab-xxxx"
}
}
}
}
Claude Code
claude mcp add akamai -- readonly-mcp-akamai
启动 Claude Code 前,请设置 AKAMAI_* 环境变量。
示例问题
使用此服务的 Agent 可以回答:
- “查找 api.example.com 的 CDN 属性,并向我展示其缓存规则”
- “主网站当前部署到生产环境的是什么版本?”
- “显示 example.com 的所有 DNS 记录”
- “配置了哪些 EdgeWorkers?显示请求路由器的代码”
- “搜索 EdgeWorker 42 中所有
setResponseHeader的用法” - “阻止列表网络列表中有哪些 IP?”
- “翻译此 Akamai 错误:9.6f64d440.1318965461.2f2b078”
- “列出主合同的所有 CP 代码”
开发
# Clone
git clone https://github.com/desty2k/readonly-mcp-akamai.git
cd readonly-mcp-akamai
# Install with dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytest --cov
# Lint
ruff check .
ruff format --check .
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。