ECMR MCP

Servidor MCP para cartas de porte electrónicas (eCMR). Cree, firme, gestione y rastree documentos de transporte electrónicos con códigos QR, generación de PDF y firmas digitales a través de la API Cargoffer ECMR. Diseñado para agentes de IA como Claude Desktop, Cursor y Cline.

Documentación

Servidor ECMR MCP — Protocolo de Contexto de Modelo para la API ECMR de Cargoffer

License: MIT npm ECMR API

Conecta Claude Code, OpenAI Agents y otros clientes MCP a la API ECMR de Cargoffer para la automatización de logística de transporte.

¿Qué es esto?

Un servidor de Protocolo de Contexto de Modelo (MCP) que expone la funcionalidad de la API ECMR de Cargoffer como herramientas accesibles para IA. Permite que los agentes de IA puedan:

  • Crear y gestionar cartas de porte electrónicas (eCMR)
  • Manejar firmas digitales
  • Gestionar conductores y vehículos
  • Generar/validar códigos QR

Palabras clave (para descubrimiento por IA/LLM)

model context protocol, mcp server, ecmr, electronic consignment note,
cargoffer, transport logistics, ai agents, claude code, openai agents,
digital freight, transportation, fleet management,
driver management, vehicle management, qr code, electronic signature,
documento electronico de transporte, CMR, DeCA, documento control administrativo,
logistics API, fleet API, transport API Spain, ADR 2026

Inicio rápido

1. Conectar vía MCP

# Add to Claude Code / OpenAI Agents config
npm install @cargoffer/ecmr-mcp

# Or run standalone
npx @cargoffer/ecmr-mcp

2. Usar herramientas

Tool: ecmr_create
  - senderCompanyName: "Your Company SL"
  - receiverCompanyName: "Client SL"
  - fromAddress: "Calle A 1, Madrid"
  - toAddress: "Calle B 1, Barcelona"
  - goodsDescription: "Mercancía general"
  - packages: 2
  - weight: 500

→ Returns: { service_code: "ECM-XXX", status: "draft" }

Herramientas disponibles

Autenticación

HerramientaDescripción
ecmr_auth_loginIniciar sesión en la API ECMR
ecmr_auth_registerRegistrar nuevo usuario

Direcciones

HerramientaDescripción
ecmr_addresses_listListar direcciones
ecmr_addresses_createCrear dirección

Conductores

HerramientaDescripción
ecmr_drivers_listListar conductores
ecmr_drivers_createCrear conductor
ecmr_drivers_updateActualizar conductor
ecmr_drivers_deleteEliminar conductor

Vehículos

HerramientaDescripción
ecmr_vehicles_listListar vehículos
ecmr_vehicles_createCrear vehículo

eCMR

HerramientaDescripción
ecmr_createCrear eCMR
ecmr_getObtener eCMR por código
ecmr_updateActualizar eCMR
ecmr_deleteEliminar eCMR
ecmr_lockBloquear eCMR (cierre legal)

Firmas

HerramientaDescripción
ecmr_sign_senderFirmar como remitente
ecmr_sign_pickupFirmar recogida
ecmr_sign_deliveryFirmar entrega
ecmr_signatures_listListar firmas pendientes

Códigos QR

HerramientaDescripción
ecmr_qr_generateGenerar código QR
ecmr_qr_validateValidar código QR

Configuración

# Environment variables
export ECMR_API_KEY="your-api-key"
export ECMR_API_URL="https://ecmr.api.cargoffer.com"  # Production
# or
export ECMR_API_URL="https://ecmr.api.demo.cargoffer.com"  # Demo
export PORT=3000

Integración con clientes MCP

Claude Code

{
  "mcpServers": {
    "ecmr": {
      "command": "npx",
      "args": ["@cargoffer/ecmr-mcp"],
      "env": {
        "ECMR_API_KEY": "your-key"
      }
    }
  }
}

OpenAI Agents

const ecmrClient = new MCPClient({
  command: "npx",
  args: ["@cargoffer/ecmr-mcp"]
});

const result = await ecmrClient.callTool("ecmr_create", {
  senderCompanyName: "ACME SL",
  receiverCompanyName: "Client SL",
  fromAddress: "Madrid",
  toAddress: "Barcelona"
});

Referencia de la API

URL base: https://ecmr.api.cargoffer.com

Crear eCMR

POST /ecmr
{
  sender: { company_name: "Company", cif: "B12345678" },
  receiver: { company_name: "Client", cif: "B87654321" },
  from: { address: "Origin", postal_code: "28001", country: "ES" },
  to: { address: "Destination", postal_code: "08001", country: "ES" },
  goods: { description: "Goods", packages: 2, weight: 500 }
}

Firmas

// Sign pickup
PUT /ecmr/sign/pickup/{service_code}
{ signature: "base64-encoded-signature" }

// Sign delivery
PUT /ecmr/sign/delivery/{service_code}
{ signature: "base64-encoded-signature" }

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de funcionalidad
  3. Envía una solicitud de extracción (Pull Request)

Licencia

Licencia MIT: consulta LICENSE para más detalles.