Skip to main content
Glama

mcp-connector-for-akamai

Disclaimer: This is an independent, unofficial, community-driven project. It is not affiliated with, endorsed by, sponsored by, or in any way officially connected to Akamai Technologies, Inc. The name "Akamai" and any related trademarks, service marks, or logos are the property of their respective owners and are used here solely for descriptive purposes to indicate compatibility. Use of these names does not imply any affiliation or endorsement. This software is provided "as is", without warranty of any kind. The authors assume no liability for any damages arising from the use of this software.

An unofficial MCP (Model Context Protocol) server that connects AI assistants to Akamai APIs. Provides tools for edge diagnostics, debugging, and network analysis.

Link to NPM: https://npmjs.com/package/mcp-connector-for-akamai

Tools

Edge Diagnostics

Tool

Description

translate_error_string

Decode Akamai error reference codes into detailed error info

curl_from_edge

Fetch a URL from an Akamai edge server with debug headers

get_error_statistics

HTTP error statistics for a URL or CP code

verify_locate_ip

Verify if an IP is Akamai edge and get geolocation

locate_ip

Geolocate up to 10 IP addresses

dig_from_edge

DNS lookup from an Akamai edge server

mtr_from_edge

MTR traceroute from an Akamai edge server

grep_edge_logs

Search edge server logs by IP, time range, and filters

list_edge_locations

List available Akamai edge server locations

translate_akamaized_url

Decode an Akamaized URL (ARL) into components

verify_edge_ip

Verify up to 10 IPs as Akamai edge IPs

url_health_check

Comprehensive URL health check (cURL + dig + MTR)

connectivity_problems

Diagnose connectivity issues (GREP + cURL + MTR)

content_problems

Diagnose content/cache issues (edge vs origin comparison)

Related MCP server: mcp-browser-kit

Setup

Prerequisites

  • Node.js 18+ or Bun

  • Akamai API credentials with Edge Diagnostics API access

Build

bun install
bun run build

Environment Variables

Variable

Required

Description

AKAMAI_CLIENT_SECRET

Yes

Akamai EdgeGrid client secret

AKAMAI_CLIENT_TOKEN

Yes

Akamai EdgeGrid client token

AKAMAI_ACCESS_TOKEN

Yes

Akamai EdgeGrid access token

AKAMAI_HOST

Yes

Akamai API hostname (e.g. akab-xxx.luna.akamaiapis.net)

AKAMAI_ACCOUNT_SWITCH_KEY

No

Account switch key for multi-account setups

VS Code / Copilot Configuration

Add to your .vscode/mcp.json:

{
  "inputs": [
    { "id": "akamai-client-secret", "type": "promptString", "description": "Akamai EdgeGrid client secret", "password": true },
    { "id": "akamai-client-token", "type": "promptString", "description": "Akamai EdgeGrid client token", "password": true },
    { "id": "akamai-access-token", "type": "promptString", "description": "Akamai EdgeGrid access token", "password": true },
    { "id": "akamai-host", "type": "promptString", "description": "Akamai API hostname (e.g. akab-xxx.luna.akamaiapis.net)" }
  ],
  "servers": {
    "mcp-connector-for-akamai": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-connector-for-akamai"],
      "env": {
        "AKAMAI_CLIENT_SECRET": "${input:akamai-client-secret}",
        "AKAMAI_CLIENT_TOKEN": "${input:akamai-client-token}",
        "AKAMAI_ACCESS_TOKEN": "${input:akamai-access-token}",
        "AKAMAI_HOST": "${input:akamai-host}"
      }
    }
  }
}

Claude Desktop Configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-connector-for-akamai": {
      "command": "npx",
      "args": ["-y", "mcp-connector-for-akamai"],
      "env": {
        "AKAMAI_CLIENT_SECRET": "...",
        "AKAMAI_CLIENT_TOKEN": "...",
        "AKAMAI_ACCESS_TOKEN": "...",
        "AKAMAI_HOST": "..."
      }
    }
  }
}

Development

Adding new API tools

  1. Generate the API client: add the OpenAPI spec URL to generate-clients.sh (in the parent workspace) and run it

  2. Create a wrapper in src/akamai/apis/<api-name>/

  3. Add tool registration files under src/tools/<api-name>/

  4. Register the tools in src/tools/index.ts

Project structure

src/
├── index.ts                          # Entry point (McpServer + STDIO transport)
├── akamai/
│   ├── client.ts                     # Namespaced client hub (edgeDiagnostics, future APIs)
│   ├── customFetch.ts                # EdgeGrid-authenticated fetch
│   ├── generateAkamaiToken.ts        # EdgeGrid auth token generation
│   └── apis/
│       └── edge-diagnostics/
│           ├── index.ts              # Client factory & re-exports
│           └── v1/                   # Auto-generated API client
└── tools/
    ├── index.ts                      # Tool registration hub
    ├── utils.ts                      # Polling, formatting helpers
    └── edge-diagnostics/             # One file per tool or tool group

Available Tools

14 tools
connectivity_problemsConnectivity Problems ScenarioA

Runs Akamai connectivity diagnostics for a URL — simultaneously executes GREP (edge logs), cURL (content fetch), and MTR (traceroute). Useful for diagnosing slow downloads and high response times. This is an async operation.

Inputs: url (required), port, clientIp, ipVersion, +5 more.

content_problemsContent Problems ScenarioA

Runs Akamai content problem diagnostics for a URL — fetches content via cURL from both edge and origin to compare responses. Useful for diagnosing cache inconsistencies, stale content, and origin errors. This is an async operation.

Inputs: url (required), ipVersion, spoofEdgeIp, edgeLocationId, +2 more.

curl_from_edgecURL from Akamai EdgeA

Fetches a URL from an Akamai edge server, returning full HTTP response headers (including Akamai debug/Pragma headers) and body. Useful for debugging what the edge is serving, cache status, and response timing.

Inputs: url (required), edgeIp, ipVersion, spoofEdgeIp, +3 more.

dig_from_edgeDNS Dig from Akamai EdgeA

Runs a DNS dig command from an Akamai edge server, returning DNS records for a hostname. Useful for debugging DNS resolution and propagation issues.

Inputs: hostname (required), queryType (required), edgeIp, isGtmHostname, +1 more.

get_error_statisticsGet Akamai Error StatisticsA

Returns HTTP error statistics (status code distribution, error percentages) for a URL or CP code. Shows edge errors and/or origin errors over the last 24-48 hours.

Inputs: url, cpCode, delivery, errorType.

grep_edge_logsGrep Akamai Edge LogsA

Searches edge server logs by edge IP, time range, and filters (CP codes, hostnames, status codes, client IPs, user agents). This is an async operation that polls until logs are available.

Inputs: end (required), start (required), edgeIp (required), logType (required), +5 more.

list_edge_locationsList Akamai Edge LocationsA

Lists available Akamai edge server locations. Returns location IDs that can be used as edgeLocationId in other tools (curl, dig, MTR, etc.).

Inputs: no named parameters.

locate_ipLocate IP AddressesA

Locates up to 10 IP addresses, returning geolocation data for each (city, country, region, ASN, network).

Inputs: ipAddresses (required).

mtr_from_edgeMTR from Akamai EdgeA

Runs an MTR (My Traceroute) network diagnostic from an Akamai edge server to a destination IP or hostname. Shows network path, latency per hop, and packet loss. Useful for diagnosing connectivity issues.

Inputs: packetType (required), destination (required), destinationType (required), port, +6 more.

translate_akamaized_urlTranslate Akamaized URLA

Translates an Akamaized URL (ARL) into its component parts: CP code, serial number, TTL, origin server, and other cache key metadata.

Inputs: url (required).

translate_error_stringTranslate Akamai Error StringA

Translates an Akamai error reference code (e.g. "9.6f64d440.1318965461.2f2b078") into human-readable error details including logs, HTTP status codes, and request/response metadata. This is an async operation that polls until complete.

Inputs: errorCode (required), traceForwardLogs.

url_health_checkURL Health CheckA

Runs a comprehensive health check on a URL from the Akamai edge, combining cURL, dig, and optionally MTR. This is an async operation that polls until complete.

Inputs: url (required), port, ipVersion, queryType, +6 more.

verify_edge_ipVerify Akamai Edge IPsB

Verifies whether up to 10 IP addresses belong to the Akamai edge network.

Inputs: ipAddresses (required).

verify_locate_ipVerify and Locate IPA

Verifies whether an IP address belongs to the Akamai edge network and returns its geolocation details (city, country, region, ASN, network).

Inputs: ipAddress (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 14 tools

    Disambiguation3/5

    Several diagnostic tools overlap: url_health_check, connectivity_problems, and content_problems all perform edge-side diagnostics with cURL/dig/MTR, though they target different symptoms. Additionally, verify_edge_ip and verify_locate_ip serve similar verification purposes. However, descriptions are detailed enough to differentiate most tools.

    Naming Consistency3/5

    Names follow a mix of verb_noun (list_edge_locations, translate_error_string) and noun phrases (url_health_check, connectivity_problems). The verb_from_edge pattern for curl, dig, mtr is consistent for those tools, but overall the set lacks a uniform naming convention.

    Tool Count5/5

    With 14 tools, the set is appropriately sized for an Akamai diagnostics server. Each tool addresses a specific network or content debugging need without excessive redundancy.

    Completeness4/5

    The server covers core diagnostic workflows: URL translation, IP verification/location, edge commands, error stats, log search, and problem detection. Missing is a location details getter and maybe a direct 'get_edge_location' but most operations are covered. Minor gaps only.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    Appeared in Searches