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
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม 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": "ใส่ค่าของคุณ",
"AKAMAI_CLIENT_TOKEN": "ใส่ค่าของคุณ",
"AKAMAI_CLIENT_SECRET": "ใส่ค่าของคุณ",
"AKAMAI_ACCESS_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add akamai --env AKAMAI_HOST='ใส่ค่าของคุณ' --env AKAMAI_CLIENT_TOKEN='ใส่ค่าของคุณ' --env AKAMAI_CLIENT_SECRET='ใส่ค่าของคุณ' --env AKAMAI_ACCESS_TOKEN='ใส่ค่าของคุณ' -- uvx readonly-mcp-akamaiเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"akamai": {
"command": "uvx",
"args": [
"readonly-mcp-akamai"
],
"env": {
"AKAMAI_HOST": "ใส่ค่าของคุณ",
"AKAMAI_CLIENT_TOKEN": "ใส่ค่าของคุณ",
"AKAMAI_CLIENT_SECRET": "ใส่ค่าของคุณ",
"AKAMAI_ACCESS_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"akamai": {
"type": "stdio",
"command": "uvx",
"args": [
"readonly-mcp-akamai"
],
"env": {
"AKAMAI_HOST": "ใส่ค่าของคุณ",
"AKAMAI_CLIENT_TOKEN": "ใส่ค่าของคุณ",
"AKAMAI_CLIENT_SECRET": "ใส่ค่าของคุณ",
"AKAMAI_ACCESS_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub desty2k ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: AKAMAI_HOST, AKAMAI_CLIENT_TOKEN, AKAMAI_CLIENT_SECRET, AKAMAI_ACCESS_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.1) เข้า registry 4 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Microsoft Exchange Online MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Exchange Online admin for MSPs: forwarding audits, EWS posture and offboarding, no PowerShell
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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.