MCP 服务调用
大约 2 分钟开放接口开发指南
MCP 开放调用
MCP 开放接口提供工具发现和模型辅助的工具调用。它调用已配置的 MCP 服务;浏览器对话的 SSE 响应与 MCP 服务自身的 HTTP Stream 传输分别处理。
一、工具发现
POST /v1/mcp/tools
curl "$AI_API_BASE/v1/mcp/tools" \
-H "Authorization: Bearer $AI_API_KEY" \
-H 'Content-Type: application/json' \
--data '{"server":"DOCS_演示工具"}'请求使用服务名称 server;需要多个服务时使用 servers 数组。两者同时传入时优先采用非空的 servers。
开放工具目录返回名称与描述,当前响应不包含工具输入参数 Schema。结构示例如下:
{
"code": 200,
"success": true,
"data": [{"name": "docs_status", "description": "查询演示服务状态"}],
"msg": "操作成功"
}固定参数与约束在 MCP 工作区的工具调试面板中查看;调用前先核对目标服务及工具是否存在。
二、模型辅助调用
POST /v1/mcp/call
curl "$AI_API_BASE/v1/mcp/call" \
-H "Authorization: Bearer $AI_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"server":"DOCS_演示工具",
"model":"deepseek-chat",
"prompt":"使用已连接的工具查询示例服务状态。",
"stream":true
}' -N| 字段 | 类型 | 说明 |
|---|---|---|
server | string | 单个服务名称,与 servers 二选一 |
servers | string[] | 多个服务名称,非空时优先 |
prompt | string | 需要模型执行的任务 |
model | string | 支持该工具调用链路的对话模型名称 |
stream | boolean | true 为 SSE,其余为同步 |
该接口接收任务描述与模型,由模型结合所选服务的工具完成调用。按固定参数调试单个工具时,使用 MCP 工作区的工具调试面板。
同步调用返回回答文本;流式调用逐帧返回 BladeChatResponse。工具列表使用统一 R 响应,调用接口直接返回回答文本或对话帧。流式解析可复用 响应协议与异常处理 中 SSE 客户端的 chat 模式。
三、执行条件
HTTP Stream 服务须能从后端访问;STDIO 服务的命令、参数和环境变量须在后端运行环境有效。工具列表可读取但调用失败时,继续检查工具参数、服务授权与工具执行结果。
工具动作
对外投递、数据库修改和文件操作由具体工具执行。将工具用于应用前,先以测试数据核对其作用范围与结果。
配置教程见 MCP 服务。
