Servidor MCP
Conectá Claude, ChatGPT o cualquier agente de IA compatible con MCP a tu cuenta de YoFacturo y operá tu negocio de forma conversacional: consultá ventas, creá clientes, emití presupuestos, registrá gastos y mucho más.
¿Qué es MCP?
Model Context Protocol (MCP) es un estándar abierto que conecta modelos de IA con herramientas externas. El servidor MCP de YoFacturo expone las mismas operaciones que el asistente de IA integrado en el panel, accesibles desde cualquier cliente MCP: Claude Desktop, Claude Code, claude.ai, Cursor, VS Code, ChatGPT (vía conectores) o tu propio agente.
No lo confundas con los API tokens (yf_live_…), que son una funcionalidad exclusiva del plan Premium para integraciones REST personalizadas — ver Autenticación. El servidor MCP es más accesible: está disponible desde el plan Básico (las cuentas en período de prueba también tienen acceso).
Cómo conectar tu cliente MCP
URL del servidor:
https://api.yo-facturo.com/api/v1/mcp
- Transporte: Streamable HTTP (JSON-RPC 2.0).
- Autenticación: OAuth 2.1 con PKCE (S256) y Registro Dinámico de Clientes (Dynamic Client Registration, RFC 7591) — tu cliente MCP se registra solo, no hace falta crear nada a mano.
- Versión del protocolo: 2025-06-18 (también negocia 2025-03-26 y 2024-11-05 para clientes más viejos).
Agregá esa URL como servidor MCP remoto en tu cliente. La primera vez que te conectás:
- El cliente abre tu navegador en YoFacturo.
- Iniciás sesión con tu cuenta (si todavía no lo hiciste).
- Revisás los permisos (scopes) solicitados y autorizás la conexión.
- El cliente recibe sus credenciales y queda conectado — no hay tokens para copiar ni pegar.
Claude Code
claude mcp add --transport http yofacturo https://api.yo-facturo.com/api/v1/mcp
Al primer uso, Claude Code abre el navegador para que autorices la conexión.
Claude Desktop / claude.ai
Agregá un conector / servidor MCP remoto apuntando a la URL de arriba. El cliente detecta automáticamente que el servidor requiere OAuth (vía los documentos de discovery en /.well-known/) y dispara el flujo de autorización en el navegador.
Clientes MCP genéricos
Cualquier cliente MCP que soporte transporte HTTP remoto con OAuth 2.1 puede conectarse. El formato exacto de configuración varía según el cliente; un ejemplo típico:
curl -X POST https://api.yo-facturo.com/api/v1/mcp \
-H "Authorization: Bearer TU_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Permisos (scopes)
Durante la autorización se muestran los permisos que el cliente solicita. Podés conceder solo lectura, o lectura + escritura.
| Scope | Permite |
|---|---|
yofacturo:read | Consultar tu información: clientes, productos, ventas, presupuestos, reportes, etc. |
yofacturo:write | Crear y modificar datos: clientes, productos, ventas, gastos, presupuestos, etc. |
Si conectás en modo solo lectura, el cliente puede consultar datos pero nunca modificarlos: el servidor rechaza cualquier herramienta de escritura con un error explícito.
Herramientas disponibles
El servidor expone 76 herramientas — el mismo conjunto que usa el asistente de IA integrado en el panel. Qué herramientas ve cada conexión depende de dos cosas:
- Tu plan y los módulos habilitados en tu cuenta: solo aparecen las herramientas de las funciones que tenés activas (por ejemplo, sin el módulo de Alquileres no vas a ver esas herramientas).
- El scope concedido: las herramientas que crean o modifican datos (columna «Tipo» = Escritura) solo están disponibles si concediste
yofacturo:write.
Las herramientas de escritura le piden al asistente que confirme los datos con vos antes de ejecutarse — el servidor nunca crea ni modifica algo sin que lo veas primero.
General y clientes
| Herramienta | Tipo | Descripción |
|---|---|---|
search_customers | Lectura | Buscar clientes por nombre, email, teléfono o CUIT/RUT. Devuelve una lista paginada. |
get_customer | Lectura | Obtener datos completos de un cliente por su ID. |
create_customer | Escritura | Crear un nuevo cliente. |
update_customer | Escritura | Actualizar datos de un cliente existente. |
list_payment_methods | Lectura | Listar métodos de pago configurados (efectivo, tarjeta, transferencia, etc.). |
create_payment_method | Escritura | Crear un nuevo método de pago. |
update_payment_method | Escritura | Actualizar un método de pago existente. |
get_dashboard_stats | Lectura | Estadísticas del negocio: total de ventas, gastos, balance, top productos vendidos y evolución por período. |
navigate_to | Lectura | Sugerir al usuario navegar a una sección de la app para acciones que el servidor no puede hacer directamente (facturación AFIP, punto de venta, imprimir comprobantes, configuración, etc.). |
list_notifications | Lectura | Listar notificaciones recientes del usuario. Solo lectura. |
list_tickets | Lectura | Listar los tickets de soporte del usuario. Solo lectura. |
create_ticket | Escritura | Crear un ticket de soporte. |
search_kb | Lectura | Buscar artículos en la base de conocimiento / centro de ayuda. |
list_integrations_status | Lectura | Listar el estado de las integraciones configuradas (MercadoPago, MercadoLibre, envíos, etc.). Solo lectura. |
Catálogo: productos, servicios y alquileres
| Herramienta | Tipo | Descripción |
|---|---|---|
search_products | Lectura | Buscar productos por nombre, SKU o descripción. |
get_product | Lectura | Obtener datos completos de un producto, incluyendo variantes, stock y precio. |
create_product | Escritura | Crear un nuevo producto, con variantes opcionales (talles, colores, etc.). |
update_product | Escritura | Actualizar datos de un producto existente (nombre, precio, stock, etc.). |
search_services | Lectura | Buscar servicios ofrecidos por nombre o descripción. |
create_service | Escritura | Crear un nuevo servicio ofrecido. |
update_service | Escritura | Actualizar datos de un servicio existente. |
search_rentals | Lectura | Buscar alquileres disponibles por nombre o descripción. |
create_rental | Escritura | Crear un nuevo alquiler (objetos o propiedades). |
update_rental | Escritura | Actualizar datos de un alquiler existente. |
list_categories | Lectura | Listar categorías de productos/servicios. |
create_category | Escritura | Crear una nueva categoría para productos o servicios. |
update_category | Escritura | Actualizar una categoría existente. |
prepare_stock_changes | Lectura | Preparar cambios de stock y/o precio de productos existentes (no para crear) y dejarlos precargados en el Carrito de Cambios, para revisar y confirmar. Acepta varios productos a la vez. |
list_promotions | Lectura | Listar promociones y descuentos. |
create_promotion | Escritura | Crear una nueva promoción o descuento. |
update_promotion | Escritura | Actualizar una promoción existente. |
list_rental_contracts | Lectura | Listar contratos de alquiler. |
get_rental_contract | Lectura | Obtener el detalle completo de un contrato de alquiler. |
create_rental_contract | Escritura | Crear un nuevo contrato de alquiler. |
list_subscription_plans | Lectura | Listar planes de suscripción creados por el negocio. |
create_subscription_plan | Escritura | Crear un nuevo plan de suscripción. |
update_subscription_plan | Escritura | Actualizar un plan de suscripción existente. |
Ventas y presupuestos
| Herramienta | Tipo | Descripción |
|---|---|---|
list_sales | Lectura | Listar ventas/facturas con filtros opcionales por fecha, estado o texto. |
get_sale | Lectura | Obtener el detalle completo de una venta/factura (ítems, cliente, totales y pagos). |
create_sale | Escritura | Crear una nueva venta/factura. |
update_sale | Escritura | Actualizar una venta/factura existente (estado, ítems, etc.). |
list_budgets | Lectura | Listar presupuestos/cotizaciones. |
create_budget | Escritura | Crear un nuevo presupuesto/cotización. |
update_budget | Escritura | Actualizar un presupuesto/cotización existente. |
convert_budget_to_sale | Escritura | Convertir un presupuesto aprobado en una venta/factura. |
get_pos_summary | Lectura | Resumen de operaciones del punto de venta (caja) del día o de un rango de fechas. Solo lectura. |
Compras, gastos, cuenta corriente y RRHH
| Herramienta | Tipo | Descripción |
|---|---|---|
list_expenses | Lectura | Listar gastos con filtros opcionales por fecha, categoría o estado. |
create_expense | Escritura | Registrar un nuevo gasto. |
update_expense | Escritura | Actualizar un gasto existente. |
list_suppliers | Lectura | Listar proveedores con búsqueda opcional. |
create_supplier | Escritura | Crear un nuevo proveedor. |
update_supplier | Escritura | Actualizar datos de un proveedor existente. |
list_orders | Lectura | Listar órdenes de compra a proveedores. |
get_order | Lectura | Obtener el detalle completo de una orden de compra. |
create_order | Escritura | Crear una nueva orden de compra a un proveedor. |
update_order | Escritura | Actualizar una orden de compra existente (estado, ítems, etc.). |
get_account_balance | Lectura | Obtener balance y estado de la cuenta corriente de un cliente o proveedor. |
list_accounts | Lectura | Listar cuentas corrientes, con filtro opcional por tipo (cliente/proveedor) y estado. |
get_account_statement | Lectura | Obtener el extracto de movimientos de una cuenta corriente (facturas, pagos, débitos, créditos). |
register_payment | Escritura | Registrar un pago en la cuenta corriente de un cliente o proveedor. |
list_bills | Lectura | Listar facturas de compra recibidas de proveedores. |
create_bill | Escritura | Registrar una factura de compra de un proveedor. |
get_iva_report | Lectura | Resumen del libro IVA ventas/compras para un período. Solo lectura. |
list_team_members | Lectura | Listar empleados/miembros del equipo. Solo lectura. |
get_employee | Lectura | Ver el detalle de un empleado (datos personales, puesto, estado). Solo lectura. |
get_org_chart | Lectura | Ver el organigrama de la empresa y los conteos de empleados por estado. Solo lectura. |
get_attendance_today | Lectura | Resumen de asistencia/fichajes del día. Solo lectura. |
get_attendance_alerts | Lectura | Alertas de asistencia del día: empleados tarde, ausentes o en licencia. Solo lectura. |
get_employee_attendance | Lectura | Reporte de asistencia de un empleado en un rango de fechas (presentes/ausentes/tarde, horas). Solo lectura. |
list_leaves | Lectura | Listar licencias/ausencias/vacaciones de empleados. Solo lectura. |
list_payroll_periods | Lectura | Listar períodos de liquidación de sueldos con su estado (borrador, calculado, aprobado, pagado, cerrado). Solo lectura. |
get_payroll_period_summary | Lectura | Resumen de un período de liquidación: totales y desglose por empleado. Solo lectura. |
list_payroll_receipts | Lectura | Listar recibos de sueldo de un período o de un empleado. Solo lectura. |
get_employee_salary | Lectura | Ver el perfil salarial de un empleado (sueldo base, categoría, convenio). Información sensible, solo lectura. |
get_audit_log | Lectura | Consultar el log de auditoría: quién hizo qué cambio y cuándo. Solo lectura. |
Alertas de cobranza
| Herramienta | Tipo | Descripción |
|---|---|---|
get_collection_alerts | Lectura | Listar alertas de cobranza: clientes con pagos vencidos o próximos a vencer. Solo lectura. |
Seguridad
- OAuth 2.1 + PKCE (S256): flujo de autorización estándar, vinculado a tu cuenta. El servidor rechaza el transform
plainde PKCE. - Tokens de acceso de corta duración (1 hora), renovables con un refresh token rotativo: cada renovación invalida el refresh token anterior.
- Revocación inmediata: al revocar una conexión desde el panel, el acceso se corta de inmediato — el servidor verifica la revocación en cada llamada, independientemente del token.
- Toda conexión queda vinculada a tu cuenta y a tu empresa: el servidor MCP nunca da acceso fuera del alcance de tu cuenta.
- El servidor re-verifica tu plan y tu suscripción en cada resolución de contexto: si tu suscripción vence o bajás de plan, las conexiones existentes dejan de funcionar.
- Los
redirect_urise validan por coincidencia exacta contra los registrados por el cliente (sin comodines) y solo se aceptan esquemas https, esquemas de app nativa (cursor://,vscode://, etc.) o http en loopback (localhost,127.0.0.1).
Límites de uso
Cada conexión MCP tiene límites de frecuencia por ventana, para evitar abusos:
| Ventana | Máximo |
|---|---|
| Por segundo | 8 |
| Por minuto | 120 |
| Por hora | 3.000 |
| Por día | 20.000 |
Superar cualquier ventana devuelve un error 429 temporal con el header Retry-After. Más detalle sobre el manejo de errores en Manejo de errores.
Gestionar tus conexiones
Desde Configuración → Integraciones → Servidor MCP podés ver todas las conexiones vinculadas a tu cuenta (cliente, fecha de conexión, última actividad) y revocar cualquiera de ellas — el acceso se corta de inmediato, sin afectar a las demás. Cada cuenta puede tener hasta 25 conexiones activas.
Ver mis conexiones MCPTroubleshooting
| Error | Causa y solución |
|---|---|
401 unauthorized / invalid_token | No mandaste un access token, o venció (dura 1 hora). Volvé a autenticarte o usá el refresh token para renovarlo. |
403 connection_revoked | Revocaste esta conexión desde Configuración → Integraciones. Conectá el cliente de nuevo para generar una conexión nueva. |
403 plan_required | Tu cuenta no tiene un plan que habilite MCP (se requiere plan Básico o superior, o estar en período de prueba). |
403 subscription_inactive | Tu suscripción venció o está inactiva. Regularizá el pago para que las conexiones vuelvan a funcionar. |
429 rate_limited | Superaste un límite de frecuencia de la conexión. Esperá el tiempo indicado en Retry-After y reintentá. |
invalid_redirect_uri | El redirect_uri de tu cliente no está registrado o no coincide exactamente. Volvé a registrar el cliente (Dynamic Client Registration) desde cero. |
invalid_request (PKCE) | Falta code_challenge o no usa S256 (el transform plain no está soportado). Verificá que tu cliente MCP implemente PKCE correctamente. |
La herramienta no aparece | O el módulo correspondiente no está habilitado en tu plan/cuenta, o la conexión solo tiene el scope yofacturo:read (las herramientas de escritura no aparecen sin yofacturo:write). |
¿Necesitás integrar por REST en vez de MCP? Mirá la Autenticación con API tokens y los Recursos y scopes disponibles.