akamai的mcp连接器
免责声明: 这是一个独立的、非官方的、由社区驱动的项目。它是 不 隶属于、认可、赞助或以任何正式方式与Akamai Technologies,股份有限公司相关。“Akamai”名称和任何相关商标、服务标记或徽标是其各自所有者的财产,此处仅用于说明目的,以表明兼容性。使用这些名称并不意味着任何隶属关系或认可。本软件按“原样”提供,不提供任何形式的保修。作者对使用本软件造成的任何损害不承担任何责任。
将AI助手连接到Akamai API的非官方MCP(模型上下文协议)服务器。提供用于边缘诊断、调试和网络分析的工具。
链接到NPM:
工具
边缘诊断
| 工具 | 说明 |
|---|---|
translate_error_string | 将Akamai错误参考代码解码为详细的错误信息 |
curl_from_edge | 从Akamai边缘服务器获取带有调试标头的URL |
get_error_statistics | URL或CP代码的HTTP错误统计信息 |
verify_locate_ip | 验证IP是否为Akamai边缘,并获取地理位置 |
locate_ip | 地理定位最多10个IP地址 |
dig_from_edge | 从Akamai边缘服务器进行DNS查找 |
mtr_from_edge | 来自Akamai边缘服务器的MTR跟踪路由 |
grep_edge_logs | 按IP、时间范围和筛选器搜索边缘服务器日志 |
list_edge_locations | 列出可用的Akamai边缘服务器位置 |
translate_akamaized_url | 将Akamaied URL(ARL)解码为组件 |
verify_edge_ip | 最多验证10个IP作为Akamai边缘IP |
url_health_check | 全面的URL健康检查(cURL+dig+MTR) |
connectivity_problems | 诊断连接问题(GREP+cURL+MTR) |
content_problems | 诊断内容/缓存问题(边缘与源比较) |
设置
先决条件
- Node.js 18+或Bun
- 具有Edge Diagnostics API访问权限的Akamai API证书
构建
bun install
bun run build环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
AKAMAI_CLIENT_SECRET | 是 | Akamai EdgeGrid客户端机密 |
AKAMAI_CLIENT_TOKEN | 是 | Akamai EdgeGrid客户端令牌 |
AKAMAI_ACCESS_TOKEN | 是 | Akamai EdgeGrid访问令牌 |
AKAMAI_HOST | 是 | Akamai API主机名(例如。 akab-xxx.luna.akamaiapis.net) |
AKAMAI_ACCOUNT_SWITCH_KEY | 否 | 多帐户设置的帐户切换键 |
VS代码/副驾驶配置
添加到您的 .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桌面配置
添加 ~/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": "..."
}
}
}
}发展
添加新的API工具
- 生成API客户端:将OpenAPI规范URL添加到
generate-clients.sh(在父工作区中)并运行它 - 在中创建包装
src/akamai/apis// - 在下添加工具注册文件
src/tools// - 在中注册工具
src/tools/index.ts
项目结构
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