Dureach cung cấp 14 công cụ MCP có tên dureach.<action>. Mọi công cụ kiểm tra nghiêm ngặt các trường không xác định: trường thừa trả về lỗi kiểm tra. Sử dụng đúng các giới hạn dưới đây; giá trị ngoài phạm vi trả về invalid_arguments.
Những công cụ nào khả dụng?
| Công cụ | Bậc rủi ro | Scope yêu cầu | Mục đích |
|---|---|---|---|
dureach.workspace.context | R0 | workspace:read | Trả về ID workspace, tên, vai trò người gọi và các scope được cấp. |
dureach.workspace.capabilities | R0 | workspace:read | Liệt kê thao tác khả dụng cho kết nối này. |
dureach.companies.search | R1 | companies:read | Tìm kiếm bản ghi công ty theo từ khóa. |
dureach.companies.read | R1 | companies:read | Đọc một công ty theo UUID. |
dureach.trade.search | R1 | trade:read | Tìm kiếm bản ghi hoạt động thương mại. |
dureach.trade.query | R1 | trade:read | Chạy truy vấn SQL chỉ đọc trên khung nhìn lô hàng. |
dureach.contacts.search | R1 | contacts:read | Tìm kiếm bản ghi liên hệ theo từ khóa. |
dureach.contacts.query | R1 | contacts:read | Chạy truy vấn SQL chỉ đọc trên khung nhìn liên hệ. |
dureach.leads.list | R1 | leads:read | Liệt kê lead của workspace kèm phân trang. |
dureach.leads.create | R2 | leads:create | Tạo lead; hỗ trợ dry_run và idempotency_key. |
dureach.campaigns.list | R1 | campaigns:read | Liệt kê chiến dịch kèm phân trang. |
dureach.campaigns.draft | R2 | campaigns:create | Soạn thảo chiến dịch; hỗ trợ dry_run và idempotency_key. |
dureach.email.send | R3 | emails:send | Gửi qua chính sách thường trực đã được chủ sở hữu xem xét; yêu cầu policy_id đang ở trạng thái ACTIVE, hỗ trợ xem trước dry_run và khóa idempotency. |
dureach.sms.send | R3 | sms:send | Gửi qua chính sách thường trực đã được chủ sở hữu xem xét; cùng quy tắc như gửi email. |
Dùng tools/list để xem các công cụ khả dụng cho kết nối. Phạm vi sử dụng phụ thuộc vào quyền đã cấp và quyền truy cập của không gian làm việc. Bắt đầu với quyền đọc; nhờ quản trị viên xem xét quyền còn thiếu thay vì yêu cầu quyền rộng.
Mỗi công cụ chấp nhận những tham số nào?
workspace.context và workspace.capabilities
Không có tham số. Gửi {}.
{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "dureach.workspace.capabilities", "arguments": {}}}companies.search
| Trường | Kiểu | Giới hạn | Mặc định |
|---|---|---|---|
query | string | 1–200 ký tự, không để trống | bắt buộc |
page | integer | 1–20 | 1 |
limit | integer | 1–50 | 25 |
{"query": "industrial valves", "page": 1, "limit": 10}companies.read
| Trường | Kiểu | Chi tiết |
|---|---|---|
company_id | UUID | bắt buộc |
ID không xác định trả về company_not_found.
trade.search
| Trường | Kiểu | Giới hạn | Mặc định |
|---|---|---|---|
query | string | 3–100 ký tự | bắt buộc |
dataset | enum | all, imports, exports, shipments | all |
page | integer | 1–20 | 1 |
limit | integer | 1–50 | 25 |
contacts.search
| Trường | Kiểu | Giới hạn | Mặc định |
|---|---|---|---|
query | string | 3–100 ký tự | bắt buộc |
page | integer | 1–40 | 1 |
limit | integer | 1–25 | 25 |
Truy vấn ngắn dưới 3 ký tự trả về lỗi kiểm tra. Dùng contacts.query khi tìm kiếm từ khóa chưa đủ khả năng lọc.
contacts.query và trade.query
| Trường | Kiểu | Giới hạn | Mặc định |
|---|---|---|---|
sql | string | tối đa 16 KiB UTF-8, ngữ pháp chỉ đọc | bắt buộc |
page | integer | 1–20 | 1 |
limit | integer | 1–50 | 25 |
Không đưa LIMIT/OFFSET của SQL vào; dùng page/limit thay thế. Trang 2 trở đi yêu cầu ORDER BY. Chi tiết ngữ pháp có trong Trình đọc SQL qua MCP.
leads.list và campaigns.list
| Trường | Kiểu | Giới hạn | Mặc định |
|---|---|---|---|
page | integer | 1–20 | 1 |
limit | integer | 1–50 | 25 |
leads.create
| Trường | Kiểu | Chi tiết |
|---|---|---|
email | bắt buộc, tối đa 254 ký tự | |
first_name | string | tùy chọn, tối đa 255 ký tự |
last_name | string | tùy chọn, tối đa 255 ký tự |
company_name | string | tùy chọn, tối đa 255 ký tự |
idempotency_key | UUID | Bắt buộc khi ghi hoặc gửi thật; dùng lại cùng UUID khi thử lại cùng thao tác với tham số không đổi. |
dry_run | boolean | tùy chọn, mặc định false; true chỉ xem trước mà không ghi |
campaigns.draft
| Trường | Kiểu | Chi tiết |
|---|---|---|
name | string | bắt buộc, tối đa 255 ký tự |
idempotency_key | UUID | Bắt buộc khi ghi hoặc gửi thật; dùng lại cùng UUID khi thử lại cùng thao tác với tham số không đổi. |
dry_run | boolean | tùy chọn, mặc định false |
email.send và sms.send
| Trường | Kiểu | Chi tiết |
|---|---|---|
policy_id | UUID | bắt buộc; chính sách gửi thường trực cho phép lượt gửi |
recipient | string | bắt buộc, tối đa 255 ký tự |
idempotency_key | UUID | Bắt buộc khi ghi hoặc gửi thật; dùng lại cùng UUID khi thử lại cùng thao tác với tham số không đổi. |
dry_run | boolean | tùy chọn, mặc định false |
Lượt gửi thiếu chính sách đang ACTIVE trả về policy_not_found hoặc policy_not_authorized. Lỗi ngân sách, trạng thái chặn và hạn mức trả về policy_budget_exceeded, policy_daily_cap_exceeded, recipient_suppressed, recipient_already_attempted hoặc send_quota_exceeded. Không bao giờ thử lại lượt gửi bằng khóa idempotency mới; tái sử dụng khóa gốc.
Kết quả và lỗi có cấu trúc như thế nào?
Kết quả thành công trả về một mục văn bản chứa JSON cùng đối tượng structuredContent tương ứng đã được xác thực theo hợp đồng đầu ra của công cụ. Kết quả lớn hơn 1 MiB trả về result_too_large thay vì dữ liệu một phần.
Lỗi trả về isError: true:
{"error": {"code": "invalid_arguments", "details": {"field": "limit"}},
"request_id": "REQ_ID"}Các mã phổ biến: unknown_action (dùng tên trong bảng kèm tiền tố dureach.), invalid_arguments, scope_required, plan_capability_required, quota_exceeded (kèm limit_type, reset_at, retry_after), company_not_found, policy_not_found, policy_not_authorized, result_too_large, action_internal_error.