Herramientas · Paquetería
Herramientas MCP del módulo Paquetería (coworking): registrar cartas y paquetes con foto, la cola, recogida, devolución, descarte, reapertura, eliminación y el "¿tengo algún paquete?" del miembro.
El módulo Paquetería con el asistente: registrar el paquete con foto y avisar al miembro, seguir la cola, tocar las fotos, marcar la recogida, devolver, descartar, reabrir y eliminar, y que el miembro pregunte si tiene algo esperando. Son 16 herramientas.
Cada herramienta lleva un sello: Solo consulta no cambia nada, Modifica crea o cambia algo al momento, y Pide confirmación solo actúa después de tu sí a un resumen. Consulta Dinero y confirmación.
En resumen
| Herramienta | Qué hace | Rol mínimo | Tipo |
|---|---|---|---|
get_parcels_overview | El espacio de un vistazo: la configuración y cuántos esperan | Cualquiera que vea el espacio | Solo consulta |
get_parcel | Un paquete, con las fotos | Cualquiera (el suyo); equipo (cualquiera) | Solo consulta |
do_i_have_parcels | Tus paquetes, pendientes e historial, con el lugar y el código | Cualquiera | Solo consulta |
mark_parcel_picked_up | Marca la recogida | Cualquiera (la suya); moderador o financiero (de otros) | Modifica |
search_parcel_recipients | Encuentra al destinatario por el nombre | Moderador o financiero | Solo consulta |
register_parcel | Registra el paquete y avisa al destinatario por correo | Moderador o financiero | Modifica |
list_pending_parcels | La cola de los que esperan recogida | Moderador o financiero | Solo consulta |
list_parcels | El historial, con cualquier situación | Moderador o financiero | Solo consulta |
update_parcel | Corrige los datos y el código del locker | Moderador o financiero (esperando); administrador (cerrado) | Modifica |
add_parcel_photo | Añade una foto | Moderador o financiero | Modifica |
replace_parcel_photo | Reemplaza una foto | Moderador o financiero | Modifica |
return_parcel | Devuelve al remitente | Moderador o financiero | Modifica |
remove_parcel_photo | Quita una foto para siempre | Moderador o financiero | Pide confirmación |
discard_parcel | Descarta un paquete no recogido | Administrador | Modifica |
reopen_parcel | Deshace un cierre | Administrador | Modifica |
delete_parcel | Elimina un registro hecho por error | Administrador | Pide confirmación |
El espacio se crea con create_space y module: "parcels", con el argumento parcels para la configuración; update_space cambia solo lo que envíes y mantiene el resto.
El equipo, aquí, es el propietario, el administrador, el moderador y el financiero. Los roles son los de las rutas: el asistente nunca hace más de lo que la persona conectada haría en la pantalla. El propietario y el administrador ven las 16 herramientas; el moderador y el financiero, 13 (sin descartar, reabrir ni eliminar); el miembro, 4 (get_parcels_overview, get_parcel, do_i_have_parcels y mark_parcel_picked_up, en sus propios paquetes).
El código del locker es un secreto. Ninguna respuesta del equipo lo trae, y queda oculto en el registro de auditoría del MCP; solo do_i_have_parcels y get_parcel lo muestran, al propio destinatario. Quien registra o corrige puede definir el código, nunca leerlo, y el asistente no lo repite.
La configuración del espacio
El argumento parcels de create_space y update_space acepta:
| Campo | Tipo | Descripción |
|---|---|---|
locker_mode | none o free | none: todo queda en la recepción; free: el equipo escribe dónde dejó cada paquete |
locker_pickup_code | verdadero o falso | El equipo puede definir un código de recogida por paquete; solo el destinatario lo ve |
email_includes_photo | verdadero o falso | El correo de aviso lleva una miniatura de la foto (por defecto: sí) |
require_staff_confirmation | verdadero o falso | Verdadero: solo el equipo marca la recogida. Falso (por defecto): el miembro también |
reminder_after_days, reminder_max_count | números, o null | Plazo de parada y tope de recordatorios. Ya se aceptan, pero el recordatorio aún no se ejecuta |
get_parcels_overview
Solo consulta
El espacio de un vistazo. La configuración (modo de locker y si el miembro confirma su propia recogida), cuántos paquetes te esperan (mine.pendingCount) y, para el equipo, cuántos están pendientes y parados. Rol mínimo: cualquiera que vea el espacio.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
space | id o enlace | Sí | El espacio de Paquetería |
Pídelo así: "¿Cuántos paquetes están parados en la Unidad Centro?"
get_parcel
Solo consulta
Un paquete. Con las fotos, en enlaces firmados que valen 1 hora. El equipo lee cualquier paquete de la comunidad, sin el código; el destinatario lee el suyo, con el lugar y el código mientras espera. Cualquier otra persona recibe "no encontrado". Rol mínimo: cualquiera.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
Pídelo así: "Enséñame el paquete de María."
do_i_have_parcels
Solo consulta
"¿Tengo algún paquete?" Solo los tuyos: los pendientes (todos) y el historial (los últimos), con dónde recoger, el código del locker mientras espera y las fotos (enlaces de 1 hora). Muestra el código solo a la propia persona. Rol mínimo: cualquiera.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
space | id o enlace | No | Un espacio concreto; sin él, todos |
history_limit | número | No | Cuántos del historial (1 a 100) |
Pídelo así: "¿Tengo algún paquete esperando?"
mark_parcel_picked_up
Modifica
Marcar la recogida. El equipo marca como STAFF (por defecto, con el nombre de quien vino en picked_up_by_name, que por defecto es el destinatario) o THIRD_PARTY (el nombre es obligatorio). El propio destinatario marca como SELF, solo si el espacio no exige la confirmación del equipo (si no, se rechaza). El código del locker se borra. Es idempotente: en un paquete ya cerrado, devuelve already_closed: true. Rol mínimo: cualquiera (la suya); moderador o financiero (de otros).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
method | STAFF, SELF o THIRD_PARTY | No | Cómo se recogió |
picked_up_by_name | texto | No | Quién vino a recogerlo (obligatorio en THIRD_PARTY) |
Pídelo así: "Marca como recogido el paquete de María." · "Ya he recogido mi paquete."
search_parcel_recipients
Solo consulta
Quién recibe. Los miembros del espacio cuyo nombre empieza por q (al menos 3 letras, hasta 8 resultados), solo con id, nombre e iniciales. El id es el recipient_profile_id de register_parcel. Rol mínimo: moderador (o financiero).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
space | id o enlace | Sí | El espacio de Paquetería |
q | texto | Sí | El comienzo del nombre |
Pídelo así: "Busca a María Souza para registrar un paquete."
register_parcel
Modifica
Registrar el paquete. Para un miembro con acceso al espacio. Envía al destinatario el correo de aviso (con la miniatura, si el espacio está así), en la zona horaria de la comunidad: el asistente lo dice. kind es LETTER, PACKAGE u OTHER (este pide kind_label). locker_label y locker_pickup_code (de 4 a 12 caracteres, un secreto) solo valen si el espacio lo permite. client_request_id hace que una llamada repetida devuelva el mismo paquete, sin segundo correo. El mismo destinatario, tipo y seguimiento en 24 horas se rechaza (409), a menos que force sea verdadero. Rol mínimo: moderador (o financiero).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
space | id o enlace | Sí | El espacio de Paquetería |
recipient_profile_id | id | Sí | De search_parcel_recipients |
kind | LETTER, PACKAGE u OTHER | Sí | El tipo |
kind_label | texto | Con OTHER | Hasta 60 caracteres |
sender_name, carrier, tracking_code | texto | No | Remitente, transportista y seguimiento |
notes | texto | No | Hasta 200 caracteres |
locker_label, locker_pickup_code | texto | No | Dónde quedó y el código |
photos | lista | No | Hasta 5, cada una con image_url o image_base64 |
client_request_id, force | texto, verdadero/falso | No | Idempotencia y registro de duplicado |
Pídelo así: "Ha llegado un paquete de Amazon para María Souza, en el armario 12. Foto: [enlace]."
list_pending_parcels
Solo consulta
La cola. Los que esperan recogida, del más nuevo al más antiguo, con destinatario, tipo, remitente, lugar, hace cuánto esperan y stalled_days cuando pasaron del plazo. Filtros: kind, q (destinatario, remitente, transportista o seguimiento), stalled, recipient_profile_id, from y to (AAAA-MM-DD, en la zona horaria de la comunidad). Nunca el código (solo has_locker_code). Rol mínimo: moderador (o financiero).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
space | id o enlace | Sí | El espacio de Paquetería |
kind, q, stalled, recipient_profile_id, from, to | varios | No | Los filtros |
page, limit | números | No | Paginación (hasta 100) |
Pídelo así: "¿Qué está parado en la recepción desde hace más de 3 días?"
list_parcels
Solo consulta
El historial. Igual que list_pending_parcels, pero con cualquier situación (RECEIVED, PICKED_UP, RETURNED, DISCARDED), filtrable por status. Rol mínimo: moderador (o financiero).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
space | id o enlace | Sí | El espacio de Paquetería |
status | situación | No | Filtra por la situación |
los filtros de list_pending_parcels | varios | No |
Pídelo así: "¿Qué paquetes se devolvieron este mes?"
update_parcel
Modifica
Corregir. Tipo, remitente, transportista, seguimiento, observación, lugar y código del locker (que se define de nuevo, nunca se lee) de un paquete que espera. Un paquete cerrado solo lo corrige el propietario o el administrador, y nunca el código. Cada corrección entra en el registro. Rol mínimo: moderador (o financiero).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
kind, kind_label, sender_name, carrier, tracking_code, notes, locker_label, locker_pickup_code | varios | No | Solo lo que cambie |
Pídelo así: "Corrige el seguimiento del paquete de María a BR123456789."
add_parcel_photo
Modifica
Añadir una foto. Hasta 5 por paquete, en almacenamiento privado. El equipo; en un paquete cerrado, solo el propietario y el administrador. Rol mínimo: moderador (o financiero).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
image_url o image_base64 (+ image_type) | texto | Sí | La foto: un enlace público o el archivo en base64. Queda en almacenamiento privado |
Pídelo así: "Adjunta esta foto al paquete de María."
replace_parcel_photo
Modifica
Reemplazar una foto. Cambia una foto por el archivo nuevo; el antiguo se borra. Rol mínimo: moderador (o financiero).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
photo_id | id | Sí | La foto (de get_parcel) |
image_url o image_base64 (+ image_type) | texto | Sí | La foto: un enlace público o el archivo en base64. Queda en almacenamiento privado |
Pídelo así: "Cambia la primera foto del paquete por esta."
return_parcel
Modifica
Devolver al remitente. Exige el motivo. No se borra nada: el paquete queda en el historial como RETURNED y el código del locker se borra. Un paquete ya cerrado responde 409. Rol mínimo: moderador (o financiero).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
reason | texto | Sí | El motivo, hasta 200 caracteres; queda en el registro |
Pídelo así: "Devuelve al remitente el paquete de María: rechazado."
remove_parcel_photo
Pide confirmación
Quitar una foto. El archivo se borra para siempre. En la primera llamada devuelve el resumen y el código de confirmación. Rol mínimo: moderador (o financiero).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
photo_id | id | Sí | La foto (de get_parcel) |
Pídelo así: "Quita la segunda foto del paquete; muestra la dirección."
discard_parcel
Modifica
Descartar. Para el que nadie recogió. Exige el motivo. No se borra nada: queda como DISCARDED en el historial, y reopen_parcel lo deshace. No pide confirmación, por ser reversible. Rol mínimo: administrador (propietario o administrador).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
reason | texto | Sí | El motivo, hasta 200 caracteres; queda en el registro |
Pídelo así: "Descarta el paquete de María: caducado sin recoger."
reopen_parcel
Modifica
Reabrir. Deshace una recogida, devolución o descarte por error: vuelve a RECEIVED, con el motivo. El código borrado no vuelve; define otro con update_parcel. Rol mínimo: administrador (propietario o administrador).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
reason | texto | Sí | El motivo, hasta 200 caracteres; queda en el registro |
Pídelo así: "Reabre el paquete de María: la recogida se marcó por error."
delete_parcel
Pide confirmación
Eliminar un registro hecho por error. Sale de las listas y las fotos se borran; el registro guarda quién y por qué. Para cerrar un paquete de verdad, usa mark_parcel_picked_up, return_parcel o discard_parcel. En la primera llamada devuelve el resumen y el código de confirmación. Rol mínimo: administrador (propietario o administrador).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
parcel_id | id | Sí | El paquete (de list_pending_parcels) |
reason | texto | Sí | El motivo, hasta 200 caracteres; queda en el registro |
Pídelo así: "Elimina el registro del paquete de Juan: lo registré para la persona equivocada."