Referencia de herramientas MCP

Referencia completa de las 14 herramientas dureach.* de MCP: argumentos, límites, ámbitos, niveles de riesgo, salidas y ejemplos.

Dureach expone 14 herramientas MCP denominadas dureach.<action>. Cada herramienta valida estrictamente los campos desconocidos: los campos adicionales devuelven un error de validación. Respete los límites exactos siguientes; los valores fuera de rango devuelven invalid_arguments.

¿Qué herramientas están disponibles?

HerramientaRiesgoÁmbito requeridoPropósito
dureach.workspace.contextR0workspace:readDevuelve ID del espacio de trabajo, nombre, rol del llamante y ámbitos concedidos.
dureach.workspace.capabilitiesR0workspace:readLista las acciones disponibles para esta conexión.
dureach.companies.searchR1companies:readBusca registros de empresas por palabra clave.
dureach.companies.readR1companies:readLee una empresa por UUID.
dureach.trade.searchR1trade:readBusca registros de actividad comercial.
dureach.trade.queryR1trade:readEjecuta una consulta SQL de solo lectura en la vista de envíos.
dureach.contacts.searchR1contacts:readBusca registros de contactos por palabra clave.
dureach.contacts.queryR1contacts:readEjecuta una consulta SQL de solo lectura en la vista de contactos.
dureach.leads.listR1leads:readLista leads del espacio de trabajo con paginación.
dureach.leads.createR2leads:createCrea un lead; admite simulación (dry_run) y clave de idempotencia (idempotency_key).
dureach.campaigns.listR1campaigns:readLista campañas con paginación.
dureach.campaigns.draftR2campaigns:createRedacta una campaña; admite simulación (dry_run) y clave de idempotencia (idempotency_key).
dureach.email.sendR3emails:sendEnvía mediante una política permanente revisada por el propietario; requiere un policy_id activo y admite simulaciones (dry_run) y claves de idempotencia.
dureach.sms.sendR3sms:sendEnvía mediante una política permanente revisada por el propietario; mismas reglas que el envío de correo.

Use tools/list para descubrir las herramientas disponibles para su conexión. La disponibilidad depende de los permisos concedidos y del acceso del espacio de trabajo. Empiece con permisos de lectura; pida a un administrador que revise el acceso que falta en lugar de solicitar permisos amplios.

¿Qué argumentos acepta cada herramienta?

workspace.context y workspace.capabilities

Sin argumentos. Envíe {}.

{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
 "params": {"name": "dureach.workspace.capabilities", "arguments": {}}}

companies.search

CampoTipoLímitesPredeterminado
querystring1–200 caracteres, no en blancoobligatorio
pageinteger1–201
limitinteger1–5025
{"query": "industrial valves", "page": 1, "limit": 10}

companies.read

CampoTipoDetalles
company_idUUIDobligatorio

Los ID desconocidos devuelven company_not_found.

trade.search

CampoTipoLímitesPredeterminado
querystring3–100 caracteresobligatorio
datasetenumall, imports, exports, shipmentsall
pageinteger1–201
limitinteger1–5025

contacts.search

CampoTipoLímitesPredeterminado
querystring3–100 caracteresobligatorio
pageinteger1–401
limitinteger1–2525

Las consultas cortas de menos de 3 caracteres devuelven un error de validación. Utilice contacts.query cuando la búsqueda por palabra clave no sea lo bastante selectiva.

contacts.query y trade.query

CampoTipoLímitesPredeterminado
sqlstringcomo máximo 16 KiB UTF-8, gramática de solo lecturaobligatorio
pageinteger1–201
limitinteger1–5025

No incluya LIMIT/OFFSET de SQL; utilice page/limit en su lugar. La página 2 y superiores requieren ORDER BY. Consulte los detalles gramaticales en el Lector SQL de MCP.

leads.list y campaigns.list

CampoTipoLímitesPredeterminado
pageinteger1–201
limitinteger1–5025

leads.create

CampoTipoDetalles
emailemailobligatorio, como máximo 254 caracteres
first_namestringopcional, como máximo 255 caracteres
last_namestringopcional, como máximo 255 caracteres
company_namestringopcional, como máximo 255 caracteres
idempotency_keyUUIDObligatorio para escribir o enviar realmente; reutilice el mismo UUID al reintentar la misma acción sin cambiar los argumentos.
dry_runbooleanopcional, valor predeterminado false; true genera una vista previa sin escribir

campaigns.draft

CampoTipoDetalles
namestringobligatorio, como máximo 255 caracteres
idempotency_keyUUIDObligatorio para escribir o enviar realmente; reutilice el mismo UUID al reintentar la misma acción sin cambiar los argumentos.
dry_runbooleanopcional, predeterminado false

email.send y sms.send

CampoTipoDetalles
policy_idUUIDobligatorio; política de envío permanente que autoriza el envío
recipientstringobligatorio, como máximo 255 caracteres
idempotency_keyUUIDObligatorio para escribir o enviar realmente; reutilice el mismo UUID al reintentar la misma acción sin cambiar los argumentos.
dry_runbooleanopcional, predeterminado false

Los envíos sin una política activa devuelven policy_not_found o policy_not_authorized. Los errores de presupuesto, supresión y cuota devuelven policy_budget_exceeded, policy_daily_cap_exceeded, recipient_suppressed, recipient_already_attempted o send_quota_exceeded. Nunca reintente un envío con una clave de idempotencia nueva; reutilice la clave original.

¿Cómo se estructuran los resultados y los errores?

El éxito devuelve un elemento de texto con JSON más un objeto structuredContent correspondiente, validado según el contrato de salida de la herramienta. Los resultados mayores de 1 MiB devuelven result_too_large en lugar de datos parciales.

Los errores devuelven isError: true:

{"error": {"code": "invalid_arguments", "details": {"field": "limit"}},
 "request_id": "REQ_ID"}

Códigos habituales: unknown_action (utilice un nombre de la tabla con el prefijo dureach.), invalid_arguments, scope_required, plan_capability_required, quota_exceeded (con limit_type, reset_at, retry_after), company_not_found, policy_not_found, policy_not_authorized, result_too_large, action_internal_error.

Páginas relacionadas