Akamai CDN

io.github.desty2k由 GitHub 账号 desty2k 发布v0.2.1更新于 Nov 3, 2026

用于 Akamai CDN 的只读 MCP 服务器——属性、EdgeWorkers、DNS、网络列表

AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。

原文描述

Read-only MCP server for Akamai CDN — properties, EdgeWorkers, DNS, network lists

概览

Akamai CDN 的本地 MCP 服务;无需登录;STDIO。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Akamai CDN,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

readonly-mcp-akamai

[CI] [codecov] [PyPI] [Python] [License: MIT]

A read-only Model Context Protocol (MCP) server that lets AI agents explore an Akamai account: CDN properties and their rule trees, EdgeWorker code, Edge DNS zones, network lists, CP codes, and error references. 16 tools, all of them reads.

Quick start

With uv installed, there is nothing else to install:

bash
claude mcp add akamai \  -e AKAMAI_HOST=akab-xxxx.luna.akamaiapis.net \  -e AKAMAI_CLIENT_TOKEN=akab-xxxx \  -e AKAMAI_CLIENT_SECRET=xxxx \  -e AKAMAI_ACCESS_TOKEN=akab-xxxx \  -- uvx readonly-mcp-akamai

uvx downloads the package into a cached, isolated environment and runs it. Python 3.11 or newer.

Read-only by design. Every call this server makes reads. It uses GET, plus one POST to Akamai's error translator, which takes an error reference and returns what it means without changing anything. The client refuses a POST to any other path before sending it, and a test checks that. It cannot create, modify, delete, activate, deactivate, or purge anything. Give the API client read-only access as a second line of defense: see Credentials. Read the post about this server and why I build read-only MCP servers.

Credentials

Create an API client in Akamai Control Center under Identity & Access Management → API clients. Grant read-only access, where the API offers it, to the APIs the tools use:

APIUsed by
Property Manager (PAPI)properties, groups, CP codes
Edge DNSDNS tools
EdgeWorkersEdgeWorker tools
Network Listsnetwork list tools
Edge Diagnosticstranslate_error_code

The client's host, client_token, client_secret and access_token map to the four AKAMAI_* variables below.

Tools

Properties (CDN configurations)

ToolDescription
search_propertiesFuzzy search CDN properties by name. Uses a preloaded in-memory index refreshed every 5 minutes. Returns match scores, flags close matches, and reports why the index failed to load if it did.
get_property_detailsGet property versions, hostnames, and activation status.
get_property_rulesGet the rule tree for a property version — the full CDN configuration.
get_property_activationsList deployment history for a property.

DNS

ToolDescription
list_dns_zonesList all DNS zones, optionally filtered by name or type.
search_dns_recordsSearch DNS records within a zone by name or record type. Returns at most 500 records.

EdgeWorkers (serverless functions)

ToolDescription
list_edgeworkersList all EdgeWorker IDs with names and descriptions.
list_edgeworker_versionsList versions for an EdgeWorker.
get_edgeworker_filesDownload a version's code bundle and list all files. Cached in memory (bundles up to 16 MB, 128 MB in total).
get_edgeworker_fileRead a specific file from a cached bundle with line-range support. Output is capped at 100,000 characters, with the line to continue from.
search_edgeworker_codeRegex search across all files in a cached bundle. Returns at most 200 matches.

Network Lists

ToolDescription
search_network_listsSearch network lists (IP allowlists, blocklists, geo lists) by name.
get_network_listGet the contents of a network list, at most 5,000 entries.

Utility

ToolDescription
list_groupsList account groups in the Akamai hierarchy.
list_cp_codesList CP codes (billing/reporting identifiers) for a contract and group.
translate_error_codeTranslate Akamai reference error codes to human-readable descriptions.

Install

bash
uv tool install readonly-mcp-akamai   # or: pip install readonly-mcp-akamai

Not needed for the Quick start, which runs it with uvx.

Docker

bash
docker run -i --rm \  -e AKAMAI_HOST=akab-xxxx.luna.akamaiapis.net \  -e AKAMAI_CLIENT_TOKEN=akab-xxxx \  -e AKAMAI_CLIENT_SECRET=xxxx \  -e AKAMAI_ACCESS_TOKEN=akab-xxxx \  ghcr.io/desty2k/readonly-mcp-akamai:latest

-i keeps stdin open for the default stdio transport.

Configuration

All settings are environment variables with the AKAMAI_ prefix.

VariableRequiredDefaultDescription
AKAMAI_HOSTYes—Akamai API hostname (e.g., akab-xxxx.luna.akamaiapis.net)
AKAMAI_CLIENT_TOKENYes—EdgeGrid client token
AKAMAI_CLIENT_SECRETYes—EdgeGrid client secret
AKAMAI_ACCESS_TOKENYes—EdgeGrid access token
AKAMAI_TRANSPORTNostdioTransport: stdio, http, or sse
AKAMAI_HTTP_HOSTNo127.0.0.1Address the HTTP/SSE transport listens on
AKAMAI_HTTP_PORTNo8080Port for HTTP/SSE transport
AKAMAI_LOG_FORMATNojsonLog format: json or text
AKAMAI_LOG_LEVELNoINFOLog level: DEBUG, INFO, WARNING, ERROR
AKAMAI_INDEX_REFRESH_INTERVALNo300Property index refresh interval in seconds

The http and sse transports have no authentication: anyone who can reach the port can read the Akamai account with the configured credentials. They listen on 127.0.0.1 by default. Setting AKAMAI_HTTP_HOST to any other address logs a warning at startup. The Docker image sets AKAMAI_HTTP_HOST=0.0.0.0 so a published port works; publish it on loopback only:

bash
docker run --rm -p 127.0.0.1:8080:8080 -e AKAMAI_TRANSPORT=http \  -e AKAMAI_HOST=... -e AKAMAI_CLIENT_TOKEN=... \  -e AKAMAI_CLIENT_SECRET=... -e AKAMAI_ACCESS_TOKEN=... \  ghcr.io/desty2k/readonly-mcp-akamai:latest

MCP client configuration

Claude Desktop

Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):

json
{  "mcpServers": {    "akamai": {      "command": "uvx",      "args": ["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

See Quick start.

How it compares

As of November 2026. Akamai's own MCP servers under akamai-developers cover other products: Akamai Cloud (Linode, also read-only), Akamai Functions, and the documentation. None of them reads Property Manager, EdgeWorkers, Edge DNS, or Network Lists. Check the projects themselves before relying on this.

Example questions

An agent with this server can answer:

  • "Find the CDN property for api.example.com and show me its caching rules"
  • "What version is currently deployed to production for the main website?"
  • "Show me all DNS records for example.com"
  • "What EdgeWorkers are configured? Show me the code for the request router"
  • "Search for all uses of setResponseHeader in EdgeWorker 42"
  • "What IPs are in the blocklist network list?"
  • "Translate this Akamai error: 9.6f64d440.1318965461.2f2b078"
  • "List all CP codes for the main contract"

Development

bash
git clone https://github.com/desty2k/readonly-mcp-akamaicd readonly-mcp-akamaiuv sync --extra devuv run pytest --covuv run ruff check .uv run ruff format --check .

License

MIT — see LICENSE.

来源:README.md,提交 ed1bff1

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.2.1最新Nov 3, 2026
  2. v0.1.1Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分