Akamai连接器

一个非官方的MCP服务器,用于将AI助手连接到Akamai API,提供边缘诊断、调试和网络分析工具。

  • by amankrokx
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 amankrokx/mcp-connector-for-akamai

使用说明

akamai的mcp连接器

免责声明: 这是一个独立的、非官方的、由社区驱动的项目。它是 不 隶属于、认可、赞助或以任何正式方式与Akamai Technologies,股份有限公司相关。“Akamai”名称和任何相关商标、服务标记或徽标是其各自所有者的财产,此处仅用于说明目的,以表明兼容性。使用这些名称并不意味着任何隶属关系或认可。本软件按“原样”提供,不提供任何形式的保修。作者对使用本软件造成的任何损害不承担任何责任。

将AI助手连接到Akamai API的非官方MCP(模型上下文协议)服务器。提供用于边缘诊断、调试和网络分析的工具。

链接到NPM: https://npmjs.com/package/mcp-connector-for-akamai

工具

边缘诊断

工具 说明
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工具

  1. 生成API客户端:将OpenAPI规范URL添加到 generate-clients.sh (在父工作区中)并运行它
  2. 在中创建包装 src/akamai/apis/<api-name>/
  3. 在下添加工具注册文件 src/tools/<api-name>/
  4. 在中注册工具 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