更新工具

部分更新当前工作区中的平台工具。工具在当前工作区不存在时不会创建新工具。

PATCH https://moi.matrixorigin.cn/newmoi/workspaces/{workspace_id}/tools/{tool_id}

调用前准备

查询工具详情确认要更新的工具。准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和工具 ID。

下方示例使用:

  • $AI_STUDIO_API_KEY:实际个人访问令牌,通过 X-API-Key Header 传递。

  • $WORKSPACE_ID:目标工作区 ID,通过 X-Workspace-ID Header 传递。

  • $TOOL_ID:要更新的工具 ID。

路径参数

参数

类型

是否必填

说明

workspace_id

string

当前工作区 ID。

tool_id

string

要更新的工具 ID。

查询参数

参数

类型

是否必填

说明

tool_workspace_id

string

工具所属工作区;仅可为当前工作区或 system。指定 system 时系统工具为只读,更新会被拒绝。

请求体

请求体中的字段均为可选;未提供的字段保持原值。

字段

类型

是否必填

说明

name

string

工具名称、描述、状态、类别和展示信息。状态可为 draftactivedisabledarchived

description

string

工具名称、描述、状态、类别和展示信息。状态可为 draftactivedisabledarchived

status

string

工具名称、描述、状态、类别和展示信息。状态可为 draftactivedisabledarchived

kind

string

工具名称、描述、状态、类别和展示信息。状态可为 draftactivedisabledarchived

category

string

工具名称、描述、状态、类别和展示信息。状态可为 draftactivedisabledarchived

icon_ref

string

工具名称、描述、状态、类别和展示信息。状态可为 draftactivedisabledarchived

phase

string

工具名称、描述、状态、类别和展示信息。状态可为 draftactivedisabledarchived

tags

string(字符串数组)

工具标签;提供该字段会替换原有标签。仅更新 tags 时不会递增资源版本。

source_ref

object

来源;可包含 typeiduriversionconfig

input_schema

object

输入和输出 JSON Schema。

output_schema

object

输入和输出 JSON Schema。

side_effect_class

string

副作用分类:readwriteexternal_effect

credential_ref

string

凭据、审批和脱敏策略引用。

approval_policy_ref

string

凭据、审批和脱敏策略引用。

redaction_policy_ref

string

凭据、审批和脱敏策略引用。

sync

object

同步状态,可包含 statuslast_sync_atlast_sync_error

market_metadata

object

市场元数据、标签、注释和扩展元数据。

labels

object

市场元数据、标签、注释和扩展元数据。

annotations

object

市场元数据、标签、注释和扩展元数据。

metadata

object

市场元数据、标签、注释和扩展元数据。

MCP 工具不能通过此接口修改 kindsource_refcredential_ref;也不能将普通工具更新为 MCP 工具。

请求示例

curl -X PATCH "https://moi.matrixorigin.cn/newmoi/workspaces/$WORKSPACE_ID/tools/$TOOL_ID" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "description": "更新后的说明",
    "status": "active"
  }'

成功响应

成功时返回 200 和更新后的工具。除仅更新 tags 外,资源版本会递增。

{
  "code": 0,
  "data": {
    "id": "tool_01",
    "workspace_id": "ws_01",
    "name": "查询工具",
    "description": "更新后的说明",
    "status": "active",
    "kind": "http_api",
    "side_effect_class": "read",
    "version": 2,
    "bindable": true,
    "supported_runtimes": [],
    "created_at": "2026-01-02T15:04:05Z",
    "updated_at": "2026-01-02T15:04:05Z"
  }
}

响应字段如下。

字段

类型

说明

code

integer

成功时为 0

data.id

string

工具 ID 和所属工作区。

data.workspace_id

string

工具 ID 和所属工作区。

data.name

string

更新后的基本定义。

data.description

string

更新后的基本定义。

data.status

string

更新后的基本定义。

data.kind

string

更新后的基本定义。

data.side_effect_class

string

副作用分类和当前资源版本。

data.version

integer

副作用分类和当前资源版本。

data.bindable

boolean

当前绑定能力、不可绑定原因和支持的运行环境。

data.bindability_reason

string

当前绑定能力、不可绑定原因和支持的运行环境。

data.supported_runtimes

string(字符串数组)

当前绑定能力、不可绑定原因和支持的运行环境。

data.updated_at

string

最近更新时间,使用 RFC 3339 格式。

错误响应

{
  "code": 2,
  "message": "<错误信息>"
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

2INVALID_ARGUMENT

路径、请求字段或 MCP 工具更新范围无效。

检查工具 ID、字段值和工具类别限制。

401

6UNAUTHENTICATED

缺少有效身份凭据。

检查 API Key。

403

5PERMISSION_DENIED

当前身份没有更新工具的权限。

检查工作区授权。

403

7FORBIDDEN

指定的系统工具为只读。

不要修改系统工具;在当前工作区创建或更新自己的工具。

404

3NOT_FOUND

指定工作区中不存在该工具。

检查工具 ID 和 tool_workspace_id

503

15UNAVAILABLE

工具资源服务或授权依赖暂不可用。

稍后重试。

后续操作

用同一资源标识查询工具详情确认更新结果。

最后更新于