Plur-e
Servidores MCP

Flujos móviles de Business Central

Haz todo lo que hace Plur-e Mobile — recepciones, put-away, picks, license plates, bins, inventarios, compras, transferencias, ventas, hojas de tiempo, pagos — desde Claude vía el MCP de Plur-e: skills por sección, códigos desde fotos y captura sin login.

Respuesta rápida

El servidor de Business Central expone los 262 ProcessMethod que llama Plur-e Mobile como 16 herramientas de sección (bc_wms_receipts, bc_sales, …), cada una documentada por una skill que sirve el propio servidor (bc_get_skill, recursos y prompts MCP). Los códigos de las etiquetas se leen desde una imagen con bc_decode_barcodes y se tipifican con bc_resolve_codes; el escaneo con cámara, las firmas y las fotos se hacen en una página de un solo uso de Plur-e Web abierta con bc_handoff_start. Las herramientas de sección son read por defecto; las escrituras se activan por rol y los métodos que registran pueden requerir aprobación.

Cómo se corresponde con Plur-e Mobile

Plur-e Mobile habla con Business Central a través de un único endpoint de Plure API (erp/processrequest) y una bound action de AL, pasando el nombre de un ProcessMethod y un array Parameters. El servidor MCP hace exactamente lo mismo, con la misma identidad que usaría la app: la cuenta del Admin Center se asocia por email a un usuario de Plur-e Mobile y sus módulos WMS / Sales aportan el WarehouseEmployee y el SalesPerson que Business Central espera. Los tenants sin usuarios móviles definen valores por defecto en AI & MCP → Scopes → Identidad ERP.

SecciónHerramientaMétodosMódulo de Plur-e Mobile
Configuración y catálogosbc_setup11Login, almacenes, usuarios
Artículos y seguimientobc_items_tracking18Ficha de artículo, lotes/series, contenido de bins
Diarios de productobc_item_journals11Ajustes positivos/negativos, reclasificación
Recepciones de almacénbc_wms_receipts26WMS Receive
Put-awaybc_wms_put_away9WMS Put-away
Picks y envíosbc_wms_picks_shipments27WMS Pick, Ship
License platesbc_wms_license_plates30WMS License plates
Bins y movimientosbc_wms_bins_movements13WMS Move, consulta de bins
Inventarios físicosbc_wms_inventory_counts22WMS Physical inventory
Pedidos de comprabc_purchase_orders8WMS Basic receive
Pedidos de transferenciabc_transfer_orders13WMS Basic transfers
Envío de pedidos de ventabc_sales_order_shipment14WMS Basic ship
Clasificación de artículosbc_item_classification10Clasificación con evidencia
Hojas de tiempobc_time_sheets22Time sheets
Ventasbc_sales19Sales (clientes, pedidos, adjuntos)
Pagosbc_payments9Payments (lado Business Central)

Todas las herramientas de sección reciben los mismos argumentos:

{
  "name": "bc_wms_receipts",
  "arguments": {
    "method": "GetWarehouseReceipt",
    "parameters": { "WsheDocumentNo": "WHSE REC-000123" }
  }
}

parameters es un objeto (se envía como array de un elemento, igual que la app) o un array cuando la skill indica que el array es el payload (líneas de recuento, de pick, de diario). La herramienta valida que el método pertenece a la sección, inyecta las claves de identidad cuando el método las necesita y devuelve la respuesta de Business Central como JSON. Los PDF y Excel en base64 vuelven como recurso embebido; las listas de más de 500 filas se truncan con truncated y totalCount.

Skills

El plugin no incluye nada: todas las skills viven en el servidor y se filtran por la licencia del tenant y los ámbitos del rol.

SkillLéela cuando
indexPrimer contacto — lista todo lo de abajo
guides/connect-and-identityEl servidor responde erp_user_not_mapped o necesitas saber a quién verá Business Central
guides/process-requestQuieres el contrato de petición/respuesta y las formas de error
guides/paging-and-limitsListas paginadas (Limit/Offset), el tope de 500 filas, resultados binarios
guides/writes-and-approvalsAntes de cualquier escritura; explica scope_denied, aprobaciones y avisos de registro
guides/scanning-and-codesTodo lo que empieza en una etiqueta: GS1, bins, license plates, series, documentos
guides/handoffCaptura con cámara, firma, foto o archivo en el móvil del usuario
guides/printingEtiquetas de LP, códigos de barras de artículo y etiquetas de caja a través de la cola de impresión de Plur-e
sections/<slug> (16)Cada método de una sección: parámetros, forma de la respuesta, efecto, particularidades (claves mal escritas incluidas)
flows/receive-purchase-order, pick-and-ship, physical-inventory, count-bins-from-photo, license-plate-lifecycle, sales-order-mobile, item-classification, time-sheet-weekProcedimientos completos que cruzan secciones

Tres formas de leerlas: la herramienta bc_get_skill ({ "name": "sections/wms-receipts" }), el recurso MCP plure-bc://skills/sections/wms-receipts o el prompt skill_bc_wms_receipts. bc_list_methods lista los métodos de una sección o busca en el catálogo por texto.

Editar skills en el Admin Center

AI & MCP → Skills lista todos los documentos incluidos en la build de los dos servidores (Business Central y CRM). Un administrador del tenant puede personalizar uno (el texto original se conserva como revisión 0 y cada guardado añade una revisión, así que siempre se puede restablecer), restringirlo a roles web, desactivarlo, exportarlo como Markdown, importar un archivo .md o añadir skills propias del tenant (flows/…, sections/… o una guía en la raíz). El servidor MCP sirve el documento efectivo — copia del tenant, luego una sobrescritura global de Plur-e, luego la build — a través de bc_get_skill, los recursos y los prompts, en unos 15 segundos tras el cambio.

Escaneo: códigos desde una imagen

Las etiquetas de una estantería, un palé o un albarán se pueden leer desde una foto en lugar de escanear una a una.

  • bc_decode_barcodes({ image: { base64 | url | handoffId }, hints? }) encuentra todos los códigos de la imagen (EAN/UPC, Code 128, GS1-128, QR, Data Matrix, PDF417…), conserva su posición y los devuelve en orden de estantería (arriba-abajo, izquierda-derecha) con los identificadores de aplicación GS1 ya separados (01 GTIN, 10 lote, 21 serie, 00 SSCC, 17 caducidad). Las URL se limitan a la lista permitida del tenant (SharePoint, Azure Blob, plur-e.com por defecto) y las imágenes a 4 MB.
  • bc_resolve_codes({ codes, locationCode? }) convierte cada cadena en una referencia tipada — bin, item, serial, licensePlate, document (recepción, pick, put-away, transferencia, pedido de venta o compra por prefijo) o unknown — preguntando a Business Central igual que la app (GetBinByLocation, IsItemOrSerial, GetItemIdentifier, GetLicencesPlate).

Un recuento típico: foto de la estantería → bc_decode_barcodesbc_resolve_codes → ya se conocen el bin y los artículos → bc_wms_inventory_counts escribe las líneas. La skill flows/count-bins-from-photo lo recorre paso a paso.

Handoff: cámara, firma, foto y archivo sin login

Cuando el usuario está en la estantería o con el cliente, el servidor abre una página de un solo uso de Plur-e Web (https://app.plur-e.com/h/<token>): válida 15 minutos, un solo uso, sin login, ligada al tenant y al usuario que llama. No muestra nada de Business Central.

kindEl usuarioLo que recibe Claude
scanEscanea etiquetas de forma continua con la cámara del móvil (o sube una foto, o teclea)codes[]bc_resolve_codes
photoHace fotosassets[]bc_decode_barcodes({ handoffId }) o adjuntar a un documento
signatureFirma en pantallasignature.png + signedByUploadICEvidence, AttachDocuments*
fileElige un archivo (PDF o imagen, 5 MB)assets[]

Los clientes que soportan elicitación por URL (Claude Desktop, Claude Code) abren la página y la herramienta espera a Listo; el resto recibe el enlace y llama después a bc_handoff_result(handoffId). Los archivos se guardan en la base de datos del tenant 24 horas y solo el servidor MCP puede leerlos: en cualquier array FileInfo, { "HandoffId": "…", "AssetId": "…" } sustituye al base64 y el servidor lo rellena.

Pagos

Los cobros de clientes se registran en Business Central con bc_payments (PaymentOrder, GetCustomerPayments, …). No se ofrecen pagos con tarjeta vía Stripe: ningún tenant de Plur-e los procesa a través de Plur-e, así que el tipo de handoff payment queda reservado y no se sirve.

Ámbitos, aprobaciones y auditoría

  • Las herramientas de sección se declaran write pero por defecto son read para todos los roles: un rol con el ámbito por defecto solo puede llamar métodos de lectura y recibe scope_denied en las escrituras.
  • Conceder write a un rol activa los métodos de escritura de esa sección; la opción Aprobaciones del tenant decide si las escrituras se ejecutan de inmediato, tras una elicitación en el cliente o tras aprobación en el Admin Center. Los métodos marcados como posting en las skills (registrar recepción, registrar pick, registrar recuento, registrar diario, enviar pedido) no se pueden deshacer en Business Central.
  • Cada llamada queda auditada con el método y un resumen de los parámetros (sin los base64) en AI & MCP → Registro de auditoría.
  • Los errores llevan un código legible por máquina: invalid_method (con sugerencia), invalid_arguments, erp_user_not_mapped, bc_error (el mensaje de Business Central), handoff_pending, handoff_expired.

Impresión de etiquetas

bc_list_printers devuelve las impresoras del tenant (cola de impresión de Plur-e) y las plantillas con los campos que necesita cada una; bc_print_document(printer, template, documentNo, fields) encola la etiqueta — etiquetas de LP (ZPL LPS), códigos de barras de artículo (BarCode) y etiquetas de caja / dirección — igual que Plur-e Mobile, y el agente Plur-e Print del puesto la imprime. Es una herramienta de escritura (ámbito None hasta que se concede). Las listas de empaque, recibos y vouchers son renderizados PDF que solo producen Plur-e Web y Mobile; la herramienta rechaza esas plantillas.

Fuera de alcance

Los vouchers offline, los envíos de paquetes por transportista y la pantalla de pago con Stripe de Plur-e Mobile no tocan Business Central y no se exponen.

To be validated

El tools/list del servidor y la skill index son el catálogo autoritativo; los conteos de arriba salen del _catalog.json generado en la build del servidor.

Relacionado: Herramientas de Business Central · Conectar Claude · Modelo de seguridad

¿Te ha sido útil esta página?

On this page