首页 > 教程攻略 > ai资讯 >火山引擎AgentKit搭建智能体如何接入外部API

火山引擎AgentKit搭建智能体如何接入外部API

来源:互联网 时间:2026-08-24 13:27:42

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

火山引擎AgentKit搭建智能体如何接入外部API

在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 "请提供城市名称"