Dureach 提供 14 个名为 dureach.<action> 的 MCP 工具。每个工具均严格校验未知字段:多余字段返回校验错误。请使用下述准确边界;超出范围的值返回 invalid_arguments。
有哪些可用工具?
| 工具 | 风险等级 | 所需范围 | 用途 |
|---|---|---|---|
dureach.workspace.context | R0 | workspace:read | 返回工作区 ID、名称、调用方角色与已授权范围。 |
dureach.workspace.capabilities | R0 | workspace:read | 列出此连接可用的操作。 |
dureach.companies.search | R1 | companies:read | 按关键词搜索公司记录。 |
dureach.companies.read | R1 | companies:read | 按 UUID 读取单个公司。 |
dureach.trade.search | R1 | trade:read | 搜索贸易活动记录。 |
dureach.trade.query | R1 | trade:read | 对货运视图运行只读 SQL 查询。 |
dureach.contacts.search | R1 | contacts:read | 按关键词搜索联系人记录。 |
dureach.contacts.query | R1 | contacts:read | 对联系人视图运行只读 SQL 查询。 |
dureach.leads.list | R1 | leads:read | 分页列出工作区线索。 |
dureach.leads.create | R2 | leads:create | 创建线索;支持 dry_run 与 idempotency_key。 |
dureach.campaigns.list | R1 | campaigns:read | 分页列出营销活动。 |
dureach.campaigns.draft | R2 | campaigns:create | 起草营销活动;支持 dry_run 与 idempotency_key。 |
dureach.email.send | R3 | emails:send | 经所有者复核的常设策略发送;需要有效的 policy_id,支持 dry_run 预览与幂等键。 |
dureach.sms.send | R3 | sms:send | 经所有者复核的常设策略发送;规则与邮件发送相同。 |
使用 tools/list 查看此连接可用的工具。可用范围取决于已授予的权限和工作区访问资格。先授予读取权限;若缺少访问权限,请工作区管理员审核,不要申请宽泛权限。
每个工具接受哪些参数?
workspace.context 与 workspace.capabilities
无参数。发送 {}。
{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "dureach.workspace.capabilities", "arguments": {}}}companies.search
| 字段 | 类型 | 边界 | 默认值 |
|---|---|---|---|
query | string | 1–200 个字符,非空 | 必填 |
page | integer | 1–20 | 1 |
limit | integer | 1–50 | 25 |
{"query": "industrial valves", "page": 1, "limit": 10}companies.read
| 字段 | 类型 | 说明 |
|---|---|---|
company_id | UUID | 必填 |
未知 ID 返回 company_not_found。
trade.search
| 字段 | 类型 | 边界 | 默认值 |
|---|---|---|---|
query | string | 3–100 个字符 | 必填 |
dataset | enum | all、imports、exports、shipments | all |
page | integer | 1–20 | 1 |
limit | integer | 1–50 | 25 |
contacts.search
| 字段 | 类型 | 边界 | 默认值 |
|---|---|---|---|
query | string | 3–100 个字符 | 必填 |
page | integer | 1–40 | 1 |
limit | integer | 1–25 | 25 |
不足 3 个字符的短查询返回校验错误。当关键词搜索区分度不足时,请使用 contacts.query。
contacts.query 与 trade.query
| 字段 | 类型 | 边界 | 默认值 |
|---|---|---|---|
sql | string | 至多 16 KiB UTF-8,只读语法 | 必填 |
page | integer | 1–20 | 1 |
limit | integer | 1–50 | 25 |
请勿包含 SQL LIMIT/OFFSET;请改用 page/limit。第 2 页及更高页需要 ORDER BY。语法细节请参阅《MCP SQL 读取器》。
leads.list 与 campaigns.list
| 字段 | 类型 | 边界 | 默认值 |
|---|---|---|---|
page | integer | 1–20 | 1 |
limit | integer | 1–50 | 25 |
leads.create
| 字段 | 类型 | 说明 |
|---|---|---|
email | 必填,至多 254 个字符 | |
first_name | string | 可选,至多 255 个字符 |
last_name | string | 可选,至多 255 个字符 |
company_name | string | 可选,至多 255 个字符 |
idempotency_key | UUID | 实际写入或发送时必填;重试同一操作且参数不变时复用同一个 UUID。 |
dry_run | boolean | 可选,默认为 false;true 表示仅预览而不写入 |
campaigns.draft
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 必填,至多 255 个字符 |
idempotency_key | UUID | 实际写入或发送时必填;重试同一操作且参数不变时复用同一个 UUID。 |
dry_run | boolean | 可选,默认为 false |
email.send 与 sms.send
| 字段 | 类型 | 说明 |
|---|---|---|
policy_id | UUID | 必填;授权发送的常设发送策略 |
recipient | string | 必填,至多 255 个字符 |
idempotency_key | UUID | 实际写入或发送时必填;重试同一操作且参数不变时复用同一个 UUID。 |
dry_run | boolean | 可选,默认为 false |
未关联有效策略的发送返回 policy_not_found 或 policy_not_authorized。预算、抑制与配额失败返回 policy_budget_exceeded、policy_daily_cap_exceeded、recipient_suppressed、recipient_already_attempted 或 send_quota_exceeded。重试发送时切勿生成新的幂等键;请重复使用原始键。
结果与错误的结构是怎样的?
成功时返回一个含 JSON 的文本条目,以及与工具输出契约校验一致的 structuredContent 对象。大于 1 MiB 的结果返回 result_too_large,而不返回部分数据。
失败时返回 isError: true:
{"error": {"code": "invalid_arguments", "details": {"field": "limit"}},
"request_id": "REQ_ID"}常见代码:unknown_action(请使用表格中带 dureach. 前缀的名称)、invalid_arguments、scope_required、plan_capability_required、quota_exceeded(附带 limit_type、reset_at、retry_after)、company_not_found、policy_not_found、policy_not_authorized、result_too_large、action_internal_error。