mcpField
A
Akamai CDN

Akamai CDN

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

关于 Akamai CDN

Akamai CDN 的只读 MCP 服务,为运维和开发人员提供 CDN 配置、DNS、EdgeWorkers 与网络列表的查询能力。它不会创建、修改、删除或部署数据。

主要功能

  1. 01搜索 CDN 属性并查看规则与部署状态
  2. 02查询 DNS 区域和记录
  3. 03浏览 EdgeWorkers 版本与代码
  4. 04搜索网络列表及其内容
  5. 05查询账户组、CP codes 并翻译错误码

适用场景

  1. 01排查 CDN 属性的缓存规则和部署情况
  2. 02检查域名的 DNS 记录
  3. 03搜索 EdgeWorkers 代码中的函数调用
  4. 04核对网络屏蔽列表中的 IP

MCP 相关

作为 MCP 服务向兼容客户端提供 Akamai CDN 数据的只读查询工具;不执行写入或部署操作。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"desty2k-akamai": {
"command": "uvx",
"args": [
"readonly-mcp-akamai"
],
"env": {
"AKAMAI_HOST": "<AKAMAI_HOST>",
"AKAMAI_CLIENT_TOKEN": "<AKAMAI_CLIENT_TOKEN>",
"AKAMAI_CLIENT_SECRET": "<AKAMAI_CLIENT_SECRET>",
"AKAMAI_ACCESS_TOKEN": "<AKAMAI_ACCESS_TOKEN>"
}
}
}
}
启动命令uvx readonly-mcp-akamai
需要配置的环境变量
AKAMAI_HOSTAkamai EdgeGrid API hostname (e.g., akab-xxxx.luna.akamaiapis.net)
AKAMAI_CLIENT_TOKEN密钥Akamai EdgeGrid client token
AKAMAI_CLIENT_SECRET密钥Akamai EdgeGrid client secret
AKAMAI_ACCESS_TOKEN密钥Akamai EdgeGrid access token

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

安装包
pypireadonly-mcp-akamai0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

readonly-mcp-akamai

CI codecov PyPI License: MIT

适用于 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否8080HTTP/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

第一次接触 MCP?

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

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