火山引擎AgentKit搭建智能体如何接入外部API
在AgentKit中接入外部API必须通过MCP服务封装,再作为工具集成到智能体;直接写requests会绕过鉴权、观测与限流,导致不可审计、无法熔断、频繁超时。

在AgentKit中接入外部API的核心路径
在火山引擎AgentKit中,若想让智能体调用外部HTTP API(如天气服务、支付网关、CRM接口等),就必须通过MCP服务对该API进行封装,然后将MCP服务作为工具集成到智能体中。这是因为直接在agent代码里编写requests请求,会绕过平台的鉴权、观测与限流机制,
【从而导致调用情况无法审计,无法进行熔断处理,上线后还会频繁出现超时问题】
创建MCP服务封装外部API
登录AgentKit控制台 → 进入「网关」→ 点击「MCP服务」→ 「创建MCP服务」。
选择「API一键转换」模式,填入目标API的完整URL(例如 https://api.example.com/v1/weather?city={city}),系统自动解析请求方法、参数位置与响应结构。
若API需Header认证(如 Authorization: Bearer xxx),必须在「更新入站身份认证」中勾选「Bearer Token」并填写Token字段名;若用API Key,则选「API Key」并指定Key所在Header名与值前缀(如 X-API-Key: abc123)。
这一步不能跳过:点击「调试MCP服务」,输入样例参数触发真实请求,确认返回状态码为200且JSON结构可被正确解析。若返回401或空响应,说明认证配置错误或网络策略未放行出向流量。
将MCP服务注册为工具并绑定到智能体
方法一:通过AgentKit CLI声明式绑定
在本地agent项目根目录的 agentkit.yaml 文件中,于
tools
```yaml
tools:
- type: mcp
id: weather_tool
config:
service_id: mcp-svc-abc123 # 在上一步创建MCP服务后获得的ID
```
方法二:在控制台运行时页面手动集成
进入「智能体运行时」→ 选择目标运行时 → 「配置」→ 「工具」→ 「添加工具」→ 类型选「MCP工具」→ 从下拉列表选择已创建的MCP服务 → 点击「确认添加」。
【注意:添加后必须点击右上角「发布运行时」才能生效,仅保存配置不触发更新】
在VeADK智能体代码中调用该工具
第一步:在agent主文件(如 app.py)顶部导入工具调用装饰器
from veadk.tools import use_tool
第二步:定义工具调用函数,参数名必须与MCP服务定义的路径参数/Query参数完全一致
@use_tool(name="weather_tool")
async def get_weather(city: str) -> str:
pass
第三步:在entrypoint函数中像普通异步函数一样调用
@app.entrypoint
async def run(payload: dict, headers: dict) -> str:
city = payload.get("prompt", "").replace("查天气", "").strip()
if city:
result = await get_weather(city)
return f"{city}的当前天气为:{result}"
return "请提供城市名称"
-
- 元宵节猜灯谜的祝福短信
- 角色扮演 |
-
- 关于柯南的沙雕网名有哪些
- 角色扮演 | 1
- 网名
-
- 最新中性名字男女通用网名有哪些
- 角色扮演 | 1
- 网名
-
- 关于蓝色说唱的网名有哪些
- 角色扮演 | 1
- 网名
-
- 我好喜欢你是什么梗?
- 角色扮演 |