Bexio MCP

Integración completa de contabilidad suiza para Bexio a través de MCP. Funciona con Claude Desktop, n8n y cualquier cliente MCP. 221 herramientas para facturas, contactos, proyectos y más.

Documentación

@promptpartner/bexio-mcp-server

Integración contable suiza completa para Bexio a través del Model Context Protocol (MCP). Funciona con Claude Desktop, n8n y cualquier cliente compatible con MCP.

Gestiona facturas, contactos, proyectos, seguimiento de tiempo y más de 300 herramientas adicionales mediante conversación con IA o automatización de flujos de trabajo.

⚠️ Software en versión preliminar

Este proyecto está en desarrollo activo. Aunque es funcional y ha sido probado, es posible que encuentres errores o comportamientos inesperados. Se seguirán añadiendo y mejorando funciones con el tiempo. ¡Por favor, informa de cualquier problema que encuentres!

Compatibilidad

ClienteTransporteEstado
Claude Desktopstdio✅ Totalmente compatible
n8nHTTP✅ Totalmente compatible
Otros clientes MCPstdio/HTTP✅ Debería funcionar

Inicio rápido

Para Claude Desktop

Opción A: Paquete MCPB (la más sencilla)

  1. Descarga el último archivo .mcpb desde GitHub Releases
  2. En Claude Desktop, ve a Configuración → Extensiones
  3. Instala la extensión usando uno de estos métodos:
    • Haz doble clic en el archivo .mcpb descargado, o
    • Arrastra y suelta el archivo sobre la ventana de Extensiones, o
    • Haz clic en Configuración avanzada → Instalar extensión y selecciona el archivo
  4. Introduce tu token de API de Bexio cuando se te solicite

Opción B: npm

Añade a claude_desktop_config.json:

{
  "mcpServers": {
    "bexio": {
      "command": "npx",
      "args": ["@promptpartner/bexio-mcp-server"],
      "env": {
        "BEXIO_API_TOKEN": "your-token-here"
      }
    }
  }
}

Ubicación de configuración:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Para n8n y otros clientes HTTP

Inicia el servidor en modo HTTP, con un token de portador:

BEXIO_API_TOKEN=your-token BEXIO_HTTP_TOKEN=$(openssl rand -hex 32) \
  npx @promptpartner/bexio-mcp-server --mode http --host 127.0.0.1 --port 8000

Los clientes envían entonces Authorization: Bearer <BEXIO_HTTP_TOKEN> en cada solicitud (GET /, la comprobación de salud, permanece abierta).

Seguridad: cada herramienta lee o modifica tus libros contables. Sin BEXIO_HTTP_TOKEN los endpoints HTTP no están autenticados: en 0.0.0.0 (el valor predeterminado), cualquiera que pueda alcanzar el puerto puede usarlos, y debido a que CORS permite cualquier origen, incluso un servidor de solo bucle local puede ser llamado por una página web abierta en tu navegador. El servidor advierte al inicio cuando no se ha establecido ningún token. Las rutas de archivo locales (upload_file file_path, download_file output_path) son rechazadas a través de HTTP a menos que BEXIO_FILE_DIR nombre un directorio para confinarlas.

El servidor expone MCP a través de HTTP en http://localhost:8000. Configura tu cliente MCP para conectarse a este endpoint.

Para otros clientes stdio

BEXIO_API_TOKEN=your-token npx @promptpartner/bexio-mcp-server

O compila desde el código fuente:

git clone https://github.com/promptpartner/bexio-mcp-server
cd bexio-mcp-server/src
npm install && npm run build
BEXIO_API_TOKEN=your-token node dist/index.js

Cómo obtener tu token de API de Bexio

  1. Ve a developer.bexio.com
  2. Inicia sesión con tu cuenta habitual de Bexio
  3. Navega a Tokens de acceso personal
  4. Haz clic en Crear nuevo token
  5. Copia el token y úsalo en tu configuración

Características

Este servidor MCP proporciona 315 herramientas en todos los dominios de Bexio:

Contactos y CRM

  • Crear, actualizar y buscar contactos
  • Grupos de contactos, sectores, tratamientos y títulos
  • Gestión de relaciones de contacto

Facturas y ventas

  • Ciclo de vida completo de la factura (crear, emitir, enviar, cancelar)
  • Presupuestos con flujos de aceptación/rechazo
  • Pedidos con gestión de entregas
  • Seguimiento de pagos entrantes
  • Vista previa interactiva de facturas (Claude Desktop)

Banca y pagos

  • Soporte de pago con factura QR suiza (QR-IBAN)
  • Pagos IBAN estándar (ISO 20022)
  • Gestión de divisas (CHF, EUR)
  • Gestión de cuentas bancarias

Proyectos y seguimiento de tiempo

  • Gestión de proyectos con tipos y estados
  • Hitos y paquetes de trabajo
  • Entradas de hoja de tiempos con seguimiento de duración
  • Actividades comerciales y tipos de comunicación

Contabilidad

  • Plan contable
  • Asientos de diario manuales, incl. asientos de grupo (Sammelbuchung: un comprobante, muchos asientos)
  • Diario por rango de fechas y cuenta; saldos de cuenta calculados (Saldenliste)
  • Ejercicios fiscales y períodos de IVA
  • Grupos de cuentas

Compras y gastos

  • Facturas (facturas de acreedores)
  • Gastos y órdenes de compra
  • Pagos salientes

Archivos y documentos

  • Carga/descarga de documentos; carga directamente desde una ruta de archivo local (sin base64 a través del chat)
  • Gestión de archivos

Nóminas (requiere el módulo de Nóminas de Bexio)

  • Gestión de empleados
  • Seguimiento de ausencias
  • Documentos de nómina

Ejemplos

Aquí tienes algunos ejemplos reales de uso del servidor MCP de Bexio con Claude:

Ejemplo 1: Encontrar facturas vencidas

Solicitud:

"Muéstrame todas las facturas vencidas"

Qué sucede: Claude usa la herramienta get_overdue_invoices para consultar a Bexio todas las facturas cuya fecha de vencimiento ha pasado.

Respuesta:

Se encontraron 3 facturas vencidas:

Factura n.ºClienteImporteFecha de vencimientoDías de retraso
INV-2024-001Acme AGCHF 2.450,002024-01-1518 días
INV-2024-003Tech GmbHCHF 890,502024-01-2013 días
INV-2024-007Swiss CorpCHF 5.200,002024-01-258 días

Total vencido: CHF 8.540,00


Ejemplo 2: Crear una factura

Solicitud:

"Crea una factura para el contacto 'Sunrise AG' con dos partidas: 10 horas de consultoría a CHF 150/hora y una licencia de software por CHF 500"

Qué sucede: Claude usa find_contact_by_name para localizar al cliente y luego create_invoice con las partidas especificadas.

Respuesta:

Factura INV-2024-015 creada para Sunrise AG:

  • 10x Horas de consultoría @ CHF 150,00 = CHF 1.500,00
  • 1x Licencia de software @ CHF 500,00 = CHF 500,00

Subtotal: CHF 2.000,00 IVA (8,1%): CHF 162,00 Total: CHF 2.162,00

La factura está en estado de borrador. Di "emitir factura INV-2024-015" para finalizarla.


Ejemplo 3: Resumen de tiempo de proyecto

Solicitud:

"¿Cuánto tiempo se registró en el proyecto 'Rediseño del sitio web' este mes?"

Qué sucede: Claude usa search_projects para encontrar el proyecto y luego search_timesheets para obtener las entradas de tiempo filtradas por proyecto y rango de fechas.

Respuesta:

Tiempo registrado en "Rediseño del sitio web" (enero de 2024):

Miembro del equipoHorasActividades
Anna M.24:30Diseño, Reuniones
Marco K.18:15Desarrollo
Lisa B.8:00Redacción de contenido

Total: 50 horas 45 minutos

Presupuesto utilizado: 50,75 de 80 horas (63%)


Ejemplo 4: Informe de ingresos por cliente

Solicitud:

"¿Cuáles son mis ingresos de 'Tech Solutions GmbH' este año?"

Qué sucede: Claude usa find_contact_by_name para identificar al cliente y luego get_customer_revenue_report para calcular los ingresos totales de las facturas pagadas.

Respuesta:

Ingresos de Tech Solutions GmbH (2024):

  • T1: CHF 12.450,00 (3 facturas)
  • T2: CHF 8.200,00 (2 facturas)
  • T3: CHF 15.800,00 (4 facturas)
  • T4: CHF 6.500,00 (2 facturas, 1 pendiente)

Total pagado: CHF 42.950,00 Pendiente: CHF 3.200,00

Variables de entorno

VariableObligatoriaPredeterminadoDescripción
BEXIO_API_TOKENSí*-Tu token de API de Bexio (empresa única)
BEXIO_API_TOKENSSí*-Varias empresas — consulta Varias empresas
BEXIO_DEFAULT_COMPANYNoprimeraQué empresa está activa al inicio
BEXIO_BASE_URLNohttps://api.bexio.com/2.0URL del endpoint de API
BEXIO_ENABLED_CATEGORIESNo(todas)Lista blanca de categorías de herramientas separadas por comas — ver más abajo
BEXIO_HTTP_TOKENRecomendada para HTTP-Token de portador requerido en cada endpoint HTTP excepto GET /
BEXIO_FILE_DIRNo-Directorio al que se confinan upload_file file_path / download_file output_path. Obligatorio para rutas locales a través de HTTP; confinamiento adicional opcional a través de stdio
BEXIO_DOWNLOAD_INLINE_MAX_BYTESNo64000download_file devuelve archivos de hasta este tamaño en línea como base64; los más grandes se escriben en disco

* Proporciona BEXIO_API_TOKEN (una empresa) o BEXIO_API_TOKENS (varias).

Reducción del presupuesto de tokens — Lista blanca de categorías

Todas las herramientas están registradas por defecto. Para flujos de trabajo centrados o modelos más pequeños, registrar solo un subconjunto reduce el coste de tokens del mensaje del sistema. Establece BEXIO_ENABLED_CATEGORIES a una lista separada por comas:

BEXIO_ENABLED_CATEGORIES=contacts,invoices,purchase,banking,quotes,projects

Categorías disponibles: reference, company, banking, projects, timetracking, accounting, purchase, files, payroll, contacts, invoices, orders, quotes, payments, reminders, deliveries, items, reports, users, misc, notes, tasks, stock, docs, positions. Los nombres desconocidos se ignoran (se registran en stderr); vacío/sin establecer = todas habilitadas (compatible con versiones anteriores).

Varias empresas (mandatos)

Bexio vincula cada token de API a una empresa única (mandato) — no existe un token que abarque varias empresas. Para trabajar con varias empresas, genera un token por empresa (cambia a esa empresa en Bexio primero, luego Configuración → Tokens de API) y configúralos todos en una única instancia del servidor. Dos nuevas herramientas — list_companies y select_company — te permiten cambiar la empresa activa en la conversación ("en Globex, lista las facturas abiertas"). Esto evita ejecutar un servidor por empresa y el contexto de herramientas duplicado que conlleva.

Establece BEXIO_API_TOKENS en lugar de (o junto a) BEXIO_API_TOKEN, como una lista separada por comas de pares label:token (o un objeto JSON). BEXIO_DEFAULT_COMPANY elige la empresa activa al inicio (por defecto, la primera):

{
  "mcpServers": {
    "bexio": {
      "command": "npx",
      "args": ["@promptpartner/bexio-mcp-server"],
      "env": {
        "BEXIO_API_TOKENS": "Acme:token-for-acme,Globex:token-for-globex",
        "BEXIO_DEFAULT_COMPANY": "Acme"
      }
    }
  }
}

Luego solo pide a Claude cosas como "cambia a Globex y muestra las facturas de este mes." list_companies muestra las empresas configuradas y cuál está activa; en modo multiempresa, cada respuesta también indica el active_company para que siempre quede claro de qué empresa proviene un resultado. Los tokens nunca se registran ni se devuelven. Las dos herramientas de control aparecen solo cuando BEXIO_API_TOKENS está establecido, por lo que las configuraciones de empresa única no cambian.

Nota HTTP/n8n: la empresa activa es global al proceso. Para despliegues HTTP multitenedor concurrentes, ejecuta una instancia por empresa en su lugar.

Opciones de línea de comandos

npx @promptpartner/bexio-mcp-server [options]

Options:
  --mode <stdio|http>  Transport mode (default: stdio)
  --host <address>     HTTP host (default: 0.0.0.0)
  --port <number>      HTTP port (default: 8000)

Solución de problemas

Error de "token de API no válido"

  • Verifica tu token en developer.bexio.com > Tokens de acceso personal
  • Asegúrate de que el token no haya caducado
  • Comprueba que el token tenga los permisos necesarios

Error de "conexión rechazada"

Las herramientas de nóminas devuelven "módulo no disponible"

  • Las herramientas de nóminas requieren la suscripción al módulo de Nóminas de Bexio
  • Contacta con el soporte de Bexio para activar el módulo

Claude Desktop no ve el servidor

  • Reinicia Claude Desktop después de los cambios de configuración
  • Verifica que la ruta del archivo de configuración sea correcta para tu sistema operativo
  • Revisa los registros de Claude Desktop para ver mensajes de error

Política de privacidad

Este servidor MCP actúa como un intermediario hacia la API de Bexio y no almacena ningún dato. Para más detalles, consulta nuestra Política de privacidad.

Tus datos se procesan según la Política de privacidad de Bexio.

Soporte

Apoya el proyecto

Si este proyecto te ahorra tiempo o ayuda a tu negocio, ¡considera invitarme a un café! ☕

Buy Me A Coffee

¡Tu apoyo ayuda a mantener este proyecto en desarrollo y mejora continua!

Autor

Creado por Lukas Hertig de PromptPartner.ai

Agradecimientos

Este proyecto se basa en el servidor MCP original de Bexio creado por Sebastian Bryner de bryner.tech. Su implementación v1.0 proporcionó la arquitectura fundacional y las 83 herramientas iniciales que hicieron posible esta versión ampliada v2.0.

Herramientas de desarrollo

La expansión de 83 a 314 herramientas se desarrolló utilizando:

  • Marco GSD - El marco de planificación "Get Shit Done" para flujos de trabajo de desarrollo estructurados asistidos por IA

Estas herramientas ayudaron a transformar un proyecto estimado en 4 semanas en una realidad de 2 días, demostrando el potencial del desarrollo de software aumentado por IA.

Aviso legal

Este es un proyecto independiente, impulsado por la comunidad y no está afiliado, respaldado ni conectado oficialmente con Bexio AG de ninguna manera. "Bexio" es una marca comercial de Bexio AG. Este proyecto simplemente proporciona una capa de integración con la API pública de Bexio.

El uso de este software es bajo su propio riesgo. Los autores no son responsables de ningún problema que surja de su uso con su cuenta de Bexio.

Licencia

MIT - Consulte LICENSE para obtener más detalles.

Historial de estrellas

Star History Chart

Enlaces