Back to Browse

Readonly Mcp Akamai MCP Server

Developer ToolsModerate5.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

5.0
Moderate5.0Moderate Risk

Valid MCP server (0 strong, 4 medium validity signals). 5 known CVEs in dependencies (1 critical, 2 high severity) Package registry verified. Imported from the Official MCP Registry.

10 files analyzed · 6 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

Akamai EdgeGrid API hostname (e.g., akab-xxxx.luna.akamaiapis.net)Optional

Environment variable: AKAMAI_HOST

Akamai EdgeGrid client tokenRequired

Environment variable: AKAMAI_CLIENT_TOKEN

Akamai EdgeGrid client secretRequired

Environment variable: AKAMAI_CLIENT_SECRET

Akamai EdgeGrid access tokenRequired

Environment variable: AKAMAI_ACCESS_TOKEN

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-desty2k-akamai": {
      "env": {
        "AKAMAI_HOST": "your-akamai-host-here",
        "AKAMAI_ACCESS_TOKEN": "your-akamai-access-token-here",
        "AKAMAI_CLIENT_TOKEN": "your-akamai-client-token-here",
        "AKAMAI_CLIENT_SECRET": "your-akamai-client-secret-here"
      },
      "args": [
        "readonly-mcp-akamai"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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:

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

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

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

Docker

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:

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):

{
  "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

git clone https://github.com/desty2k/readonly-mcp-akamai
cd readonly-mcp-akamai
uv sync --extra dev
uv run pytest --cov
uv run ruff check .
uv run ruff format --check .

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!