Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Read-only MCP server for Akamai CDN — properties, EdgeWorkers, DNS, network lists
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
AKAMAI_HOST, AKAMAI_CLIENT_TOKEN, AKAMAI_CLIENT_SECRET, AKAMAI_ACCESS_TOKEN「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"akamai": {
"command": "uvx",
"args": [
"readonly-mcp-akamai"
],
"env": {
"AKAMAI_HOST": "your-value",
"AKAMAI_CLIENT_TOKEN": "your-value",
"AKAMAI_CLIENT_SECRET": "your-value",
"AKAMAI_ACCESS_TOKEN": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add akamai --env AKAMAI_HOST=your-value --env AKAMAI_CLIENT_TOKEN=your-value --env AKAMAI_CLIENT_SECRET=your-value --env AKAMAI_ACCESS_TOKEN=your-value -- uvx readonly-mcp-akamai動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"akamai": {
"command": "uvx",
"args": [
"readonly-mcp-akamai"
],
"env": {
"AKAMAI_HOST": "your-value",
"AKAMAI_CLIENT_TOKEN": "your-value",
"AKAMAI_CLIENT_SECRET": "your-value",
"AKAMAI_ACCESS_TOKEN": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"akamai": {
"type": "stdio",
"command": "uvx",
"args": [
"readonly-mcp-akamai"
],
"env": {
"AKAMAI_HOST": "your-value",
"AKAMAI_CLIENT_TOKEN": "your-value",
"AKAMAI_CLIENT_SECRET": "your-value",
"AKAMAI_ACCESS_TOKEN": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント desty2k で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:AKAMAI_HOST, AKAMAI_CLIENT_TOKEN, AKAMAI_CLIENT_SECRET, AKAMAI_ACCESS_TOKEN
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.1)がレジストリに届いたのは4 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Signoff
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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.
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
POSTto Akamai's error translator, which takes an error reference
and returns what it means without changing anything. The client refuses a
POSTto 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
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:
| API | Used by |
|---|---|
| Property Manager (PAPI) | properties, groups, CP codes |
| Edge DNS | DNS tools |
| EdgeWorkers | EdgeWorker tools |
| Network Lists | network list tools |
| Edge Diagnostics | translate_error_code |
The client's host, client_token, client_secret and access_token map to the four AKAMAI_* variables below.
| Tool | Description |
|---|---|
search_properties | Fuzzy 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_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. Returns at most 500 records. |
| 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 (bundles up to 16 MB, 128 MB in total). |
get_edgeworker_file | Read 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_code | Regex search across all files in a cached bundle. Returns at most 200 matches. |
| Tool | Description |
|---|---|
search_network_lists | Search network lists (IP allowlists, blocklists, geo lists) by name. |
get_network_list | Get the contents of a network list, at most 5,000 entries. |
| 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. |
uv tool install readonly-mcp-akamai # or: pip install readonly-mcp-akamai
Not needed for the Quick start, which runs it with uvx.
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.
All settings are 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_HOST | No | 127.0.0.1 | Address the HTTP/SSE transport listens on |
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 |
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
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" } } } }
See Quick start.
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.
An agent with this server can answer:
setResponseHeader in EdgeWorker 42"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 .
MIT — see LICENSE.