Read-only MCP server for Akamai CDN — properties, EdgeWorkers, DNS, network lists
Read-only MCP server for Akamai CDN. Search properties, browse EdgeWorker code, query DNS zones, inspect network lists, and translate error codes.
Read-only by design. This server can only read data. It cannot create, modify, delete, activate, deactivate, or purge anything. See blog.wentland.io for the rationale.
| Tool | Description |
|---|---|
search_properties | Fuzzy search CDN properties by name. Uses a preloaded in-memory index refreshed every 5 minutes. |
get_property_details | Get property versions, hostnames, and activation status. |
get_property_rules | Get the rule tree for a property version — the full CDN configuration. |
get_property_activations | List deployment history for a property. |
| Tool | Description |
|---|---|
list_dns_zones | List all DNS zones, optionally filtered by name or type. |
search_dns_records | Search DNS records within a zone by name or record type. |
| Tool | Description |
|---|---|
list_edgeworkers | List all EdgeWorker IDs with names and descriptions. |
list_edgeworker_versions | List versions for an EdgeWorker. |
get_edgeworker_files | Download a version's code bundle and list all files. Cached in memory. |
get_edgeworker_file | Read a specific file from a cached bundle with line-range support. |
search_edgeworker_code | Regex search across all files in a cached bundle. |
| Tool | Description |
|---|---|
search_network_lists | Search network lists (IP allowlists, blocklists, geo lists) by name. |
get_network_list | Get the full contents of a network list. |
| Tool | Description |
|---|---|
list_groups | List account groups in the Akamai hierarchy. |
list_cp_codes | List CP codes (billing/reporting identifiers) for a contract and group. |
translate_error_code | Translate Akamai reference error codes to human-readable descriptions. |
# With uv (recommended)
uv pip install readonly-mcp-akamai
# With pip
pip install readonly-mcp-akamai
docker run -e AKAMAI_HOST=... -e AKAMAI_CLIENT_TOKEN=... \
-e AKAMAI_CLIENT_SECRET=... -e AKAMAI_ACCESS_TOKEN=... \
ghcr.io/desty2k/readonly-mcp-akamai
All settings are via environment variables with the AKAMAI_ prefix.
| Variable | Required | Default | Description |
|---|---|---|---|
AKAMAI_HOST | Yes | — | Akamai API hostname (e.g., akab-xxxx.luna.akamaiapis.net) |
AKAMAI_CLIENT_TOKEN | Yes | — | EdgeGrid client token |
AKAMAI_CLIENT_SECRET | Yes | — | EdgeGrid client secret |
AKAMAI_ACCESS_TOKEN | Yes | — | EdgeGrid access token |
AKAMAI_TRANSPORT | No | stdio | Transport: stdio, http, or sse |
AKAMAI_HTTP_PORT | No | 8080 | Port for HTTP/SSE transport |
AKAMAI_LOG_FORMAT | No | json | Log format: json or text |
AKAMAI_LOG_LEVEL | No | INFO | Log level: DEBUG, INFO, WARNING, ERROR |
AKAMAI_INDEX_REFRESH_INTERVAL | No | 300 | Property index refresh interval in seconds |
Get credentials from Akamai Control Center > Identity & Access Management > API Clients.
Add to ~/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 mcp add akamai -- readonly-mcp-akamai
Set the AKAMAI_* environment variables before starting Claude Code.
An agent with this server can answer:
setResponseHeader in EdgeWorker 42"# 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
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx readonly-mcp-akamaiMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-desty2k-akamai": {
"command": "uvx",
"args": [
"readonly-mcp-akamai"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencereadonly-mcp-akamaipypiAkamai CDN works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.