mirror of
https://github.com/samanhappy/mcphub.git
synced 2025-12-24 10:49:35 -05:00
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: samanhappy <2755122+samanhappy@users.noreply.github.com>
87 lines
2.0 KiB
Plaintext
87 lines
2.0 KiB
Plaintext
---
|
||
title: "工具"
|
||
description: "以编程方式执行 MCP 工具。"
|
||
---
|
||
|
||
import { Card, Cards } from 'mintlify';
|
||
|
||
<Card
|
||
title="POST /api/tools/call/:server"
|
||
href="#call-a-tool"
|
||
>
|
||
在 MCP 服务器上调用特定工具。
|
||
</Card>
|
||
|
||
---
|
||
|
||
### 调用工具
|
||
|
||
使用给定参数在 MCP 服务器上执行特定工具。
|
||
|
||
- **端点**: `/api/tools/call/:server`
|
||
- **方法**: `POST`
|
||
- **参数**:
|
||
- `:server` (字符串, 必需): MCP 服务器的名称。
|
||
- **请求正文**:
|
||
```json
|
||
{
|
||
"toolName": "tool-name",
|
||
"arguments": {
|
||
"param1": "value1",
|
||
"param2": "value2"
|
||
}
|
||
}
|
||
```
|
||
- `toolName` (字符串, 必需): 要执行的工具名称。
|
||
- `arguments` (对象, 可选): 传递给工具的参数。默认为空对象。
|
||
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"success": true,
|
||
"data": {
|
||
"content": [
|
||
{
|
||
"type": "text",
|
||
"text": "工具执行结果"
|
||
}
|
||
],
|
||
"toolName": "tool-name",
|
||
"arguments": {
|
||
"param1": "value1",
|
||
"param2": "value2"
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
**请求示例:**
|
||
|
||
```bash
|
||
curl -X POST "http://localhost:3000/api/tools/call/amap" \
|
||
-H "Content-Type: application/json" \
|
||
-H "Authorization: Bearer YOUR_TOKEN" \
|
||
-d '{
|
||
"toolName": "amap-maps_weather",
|
||
"arguments": {
|
||
"city": "Beijing"
|
||
}
|
||
}'
|
||
```
|
||
|
||
**注意事项:**
|
||
- 工具参数会根据工具的输入模式自动转换为适当的类型。
|
||
- 如果需要,可以使用 `x-session-id` 请求头在多个工具调用之间维护会话状态。
|
||
- 此端点需要身份验证。
|
||
|
||
---
|
||
|
||
### 替代方案:OpenAPI 工具执行
|
||
|
||
有关无需身份验证的 OpenAPI 兼容工具执行,请参阅 [OpenAPI 集成](/api-reference/openapi#tool-execution) 文档。OpenAPI 端点提供:
|
||
|
||
- **GET** `/api/tools/:serverName/:toolName` - 用于带查询参数的简单工具
|
||
- **POST** `/api/tools/:serverName/:toolName` - 用于带 JSON 正文的复杂工具
|
||
|
||
这些端点专为与 OpenWebUI 和其他 OpenAPI 兼容系统集成而设计。
|