基于 JSON-RPC 2.0 的 24 个 AI 智能体能力调用协议。
天枢统一 Key 认证,一个 Key 通四系统。
格式:tk-ai- + 22字符随机串。一个 Key 同时接入天枢、中枢、知微、灵枢四个系统。
管理页面:https://x.kddauto.com/mcp
curl -X POST https://aaf.kddauto.com/api/v1/mcp/validate \
-H "Content-Type: application/json" \
-d '{"key":"tk-ai-YOUR-KEY-HERE"}'
# 成功响应:
{"valid":true,"agent_id":"your-agent","name":"你的Agent名"}
# 失败响应:
{"valid":false}
获取全部 24 个 Agent 的名称、能力、工具、输入输出。无需认证即可访问。
curl https://aaf.kddauto.com/api/v1/mcp/registry | python3 -m json.tool
# 响应: {success:true, data:{agents:[...], auth:{...}}}
Agent 间的能力依赖关系(谁提供什么、谁需要什么),含强度评分。
curl https://aaf.kddauto.com/api/v1/mcp/depgraph
# 响应: {nodes:[...], edges:[{source,target,label,strength}]}
向任意 Agent 发起能力调用。支持 Header 或 Body 中传统一 Key。
curl -X POST https://aaf.kddauto.com/api/v1/mcp/call \
-H "Content-Type: application/json" \
-H "X-API-Key: tk-ai-YOUR-KEY" \
-d '{
"source":"my-ai-app",
"target":"xuanji",
"tool":"analyze",
"args":{"question":"评估这个方案的架构风险"}
}'
# 也可在 Body 中传 key:
-d '{"source":"...","target":"xuanji","tool":"analyze","key":"tk-ai-xxx"}'
校验 tk-ai-* 格式的 Key 是否有效(内置缓存 60 秒,不必重复验证)。
curl -X POST https://aaf.kddauto.com/api/v1/mcp/validate \
-H "Content-Type: application/json" \
-d '{"key":"tk-ai-YOUR-KEY"}'
| 方式 | 示例 | 优先级 |
|---|---|---|
| HTTP Header | X-API-Key: tk-ai-xxx 或 Authorization: Bearer tk-ai-xxx | 最高 |
| Request Body | {"key":"tk-ai-xxx", ...}(仅 /mcp/call 支持) | 次之 |
1. 请求到达灵枢 MCP 中间件 → 识别 tk-ai-* 前缀
2. 转发至天枢 POST x.kddauto.com/api/v3/mcp/validate 验证
3. 验证通过 → 缓存 60 秒,后续请求直接读缓存
4. 验证失败 → 继续处理请求(旧 Key 兼容模式,不拦截)
完整清单(含 B 级 11 个 Agent):GET /api/v1/mcp/registry
import requests import os MCP_BASE = "https://aaf.kddauto.com/api/v1/mcp" KEY = os.getenv("MCP_UNIFIED_KEY") # tk-ai-xxx # 1. 获取可用 Agent 列表 r = requests.get(f"{MCP_BASE}/registry") agents = r.json()["data"]["agents"] print(f"可用 Agent: {len(agents)} 个") # 2. 调用 Agent 能力 r = requests.post( f"{MCP_BASE}/call", json={ "source": "my-app", "target": "xuanji", # Agent ID 或中文名 "tool": "analyze", "args": {"question": "评估架构风险"} }, headers={"X-API-Key": KEY} ) print(r.json())
const MCP_BASE = 'https://aaf.kddauto.com/api/v1/mcp'; const KEY = process.env.MCP_UNIFIED_KEY; // 获取 Agent 列表 + 调用 const reg = await fetch(`${MCP_BASE}/registry`); const { data } = await reg.json(); console.log(`Agent: ${data.agents.length}个`); const res = await fetch(`${MCP_BASE}/call`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-API-Key': KEY }, body: JSON.stringify({ source:'app', target:'xuanji', tool:'analyze', args:{question:'...'} }) }); console.log(await res.json());
package main import ( "bytes" "encoding/json" "net/http" ) func callAgent(key, target, tool, question string) { body, _ := json.Marshal(map[string]interface{}{ "source": "go-app", "target": target, "tool": tool, "args": map[string]string{"question": question}, }) req, _ := http.NewRequest("POST", "https://aaf.kddauto.com/api/v1/mcp/call", bytes.NewReader(body)) req.Header.Set("Content-Type", "application/json") req.Header.Set("X-API-Key", key) http.DefaultClient.Do(req) }
# 查询 Agent 列表(无需 Key) curl https://aaf.kddauto.com/api/v1/mcp/registry | python3 -m json.tool # 调用 Agent 能力(需要 Key) curl -X POST https://aaf.kddauto.com/api/v1/mcp/call \ -H "Content-Type: application/json" \ -H "X-API-Key: tk-ai-YOUR-KEY" \ -d '{"source":"test","target":"xuanji","tool":"analyze","args":{"question":"hello"}}' # 验证 Key curl -X POST https://aaf.kddauto.com/api/v1/mcp/validate \ -H "Content-Type: application/json" \ -d '{"key":"tk-ai-YOUR-KEY"}'
| 错误 | 原因 | 解决 |
|---|---|---|
HTTP 404 | Agent 名称或 ID 不在注册表中 | 先调 registry 确认 agent.id |
HTTP 401 auth_failed | 统一 Key 验证失败 | 用 /mcp/validate 校验 Key |
ECONNREFUSED | 目标 Agent 容器未运行或端口不对 | 联系运维检查 Agent 状态 |
success:false fallback:true | Agent 响应超时或格式错误 | 重试或换用其他 Agent |
| Key 格式错误 | 非 tk-ai-* 前缀 | 使用天枢签发的统一 Key |