ARCA {API}

Servidor MCP

Conectá ChatGPT, claude.ai, Claude Code, Cursor u otro agente de IA a tu cuenta arca.api para consultar padrón y comprobantes, emitir facturas con tu confirmación y administrar clientes y productos

arca.api expone un servidor MCP (Model Context Protocol) remoto sobre tu cuenta. Un asistente de IA —ChatGPT, claude.ai, Claude Code, Cursor, Claude Desktop— puede conectarse para consultar el padrón de ARCA, tus comprobantes y el estado de tus CUITs, administrar tu agenda de clientes y tu catálogo de productos y, si lo autorizás, preparar y emitir comprobantes con tu confirmación, sin que escribas código de integración.

  • Endpoint: https://arca.api.com.ar/api/mcp
  • Transporte: Streamable HTTP
  • Autenticación: una de dos, según el cliente:
    • OAuth — ChatGPT, claude.ai y cualquier cliente que implemente la autorización de MCP. Te logueás en arca.api y autorizás la conexión; no copiás ningún secreto.
    • API key — Claude Code, Cursor, Claude Desktop y cualquier cliente que acepte headers: Authorization: Bearer <api-key>, la misma API key que usa la REST API.

Qué puede hacer el agente

Lo decide la credencial. Una autorización OAuth se otorga con uno de dos alcances, que equivalen a los dos scopes de API key:

Key read_only o autorización Sólo consultasKey read_write o autorización Consultas y emisión
Consultar padrón, comprobantes, PDF y parámetros✅✅
Leer clientes, productos y CUITs✅✅
Crear, modificar y eliminar clientes y productos❌ 403✅
Preparar y emitir facturas, recibos y notas de crédito/débito (WSFEv1)❌ — las tools no aparecen✅ — con confirmación, ver Emitir desde el agente
Emitir comprobantes de exportación (WSFEX)❌ — no existe la tool❌ — no existe la tool
Anular o modificar un comprobante ya emitido❌ — no existe la tool❌ — no existe la tool
Dar de alta, modificar o dar de baja CUITs y certificados❌ — no existe la tool❌ — no existe la tool

Una credencial de escritura puede emitir comprobantes en ARCA, y un comprobante con CAE no se deshace: para corregirlo hay que emitir una nota de crédito. Si el agente sólo tiene que consultar, dale Sólo consultas o una key read_only.

Conectar desde ChatGPT o claude.ai (OAuth)

Estos clientes no aceptan API keys: se conectan por OAuth. Sólo necesitás la URL del servidor.

ChatGPT

  1. Abrí la pantalla de conectores de ChatGPT y agregá un conector personalizado (según tu plan puede requerir activar el modo desarrollador en las opciones avanzadas). También lo encontrás en Configuración → Apps y conectores.
  2. Pegá la URL https://arca.api.com.ar/api/mcp y elegí autenticación OAuth.
  3. ChatGPT te lleva a arca.api. Iniciá sesión y, en la pantalla Conectar ChatGPT, elegí el alcance y tocá Autorizar.

En un workspace de ChatGPT Business o Enterprise, es posible que un administrador del workspace tenga que habilitar los conectores personalizados antes de que puedas agregar uno.

claude.ai

  1. Abrí Agregar conector personalizado en claude.ai. También lo encontrás en Configuración → Conectores → Agregar conector personalizado.
  2. Pegá la URL https://arca.api.com.ar/api/mcp.
  3. Tocá Conectar: claude.ai te lleva a arca.api para iniciar sesión y autorizar.

La pantalla de autorización

  • Muestra el nombre de la aplicación y el dominio al que vuelve. El nombre lo declara la aplicación; si el dominio no es el que esperás (chatgpt.com, claude.ai), cancelá.
  • Sólo consultas viene preseleccionado. Elegí Consultas y emisión sólo si querés que el asistente emita comprobantes.
  • Podés iniciar sesión con correo y contraseña o con Google. Si entrás con Google vas a ver un paso intermedio de nuestro proveedor de autenticación antes de volver a arca.api.
  • Las aplicaciones conectadas no cuentan contra el límite de API keys de tu plan. Lo que emitan sí cuenta contra tu cuota, igual que cualquier emisión.

Desconectar una aplicación

En el dashboard, andá a API keys → Aplicaciones conectadas y tocá Desconectar. El corte es inmediato: la próxima llamada de esa aplicación al servidor MCP falla con 401, y para volver a usarla hay que autorizarla de nuevo.

Conectar con una API key

Usá una API key de solo lectura

Aunque cualquier API key válida puede autenticar el servidor MCP, te recomendamos generar una key nueva con permisos de solo lectura para el agente, en vez de reusar una key existente de acceso completo:

  1. En el dashboard, andá a API keys → Nueva API key.
  2. Elegí Permisos: Solo lectura (consulta).
  3. Copiá el secreto (se muestra una sola vez) y usalo en la config del cliente MCP.

Una key de solo lectura autentica todas las consultas del servidor MCP, pero no puede emitir comprobantes por ningún camino —ni por MCP ni por la REST API—: las tools de emisión ni aparecen y un POST a un endpoint de emisión con esa key responde 403. Tampoco puede tocar tu agenda ni tu catálogo: las tools clientes_crear/_actualizar/_eliminar y productos_crear/_actualizar/_eliminar responden 403 con esa key.

Si le das una key read_write, en cambio, el agente puede crear, modificar y eliminar clientes y productos, y emitir comprobantes en ARCA con las tools de emisión. Esa misma key además sirve para emitir por la REST API: dársela a un agente equivale a darle acceso completo a tu cuenta.

El scope se fija al crear la key y no se puede cambiar después. Ver Scopes de API key.

El token queda en texto plano en el archivo de configuración del cliente MCP, en tu máquina. Tratalo como cualquier otro secreto: no lo compartas ni lo subas a un repositorio. Si se filtra, revocá la key desde el dashboard.

Claude Code

claude mcp add --transport http arca-api https://arca.api.com.ar/api/mcp \
  --header "Authorization: Bearer arcaapi_TuSecretoAqui"

O agregá el server a mano en tu .mcp.json:

{
  "mcpServers": {
    "arca-api": {
      "type": "http",
      "url": "https://arca.api.com.ar/api/mcp",
      "headers": {
        "Authorization": "Bearer arcaapi_TuSecretoAqui"
      }
    }
  }
}

Cursor

Agregá el server en .cursor/mcp.json (por proyecto) o en la config global de Cursor:

{
  "mcpServers": {
    "arca-api": {
      "url": "https://arca.api.com.ar/api/mcp",
      "headers": {
        "Authorization": "Bearer arcaapi_TuSecretoAqui"
      }
    }
  }
}

Claude Desktop

Claude Desktop se conecta a servidores HTTP remotos con headers custom a través de mcp-remote. Editá claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "arca-api": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://arca.api.com.ar/api/mcp",
        "--header",
        "Authorization: Bearer arcaapi_TuSecretoAqui"
      ]
    }
  }
}

Reiniciá Claude Desktop para que tome la configuración.

Emitir desde el agente

Con una credencial de escritura, el agente emite comprobantes de WSFEv1 —facturas, recibos, notas de crédito y notas de débito— en dos pasos, para que lo que confirmás y lo que se emite sean exactamente lo mismo:

  1. wsfe_preparar_comprobante recibe el mismo body que POST /api/wsfe/facturas (o las notas), incluidos clienteId y productoId para usar tu agenda y tu catálogo. Valida igual que la REST, resuelve el cliente, los productos y el punto de venta, y calcula los importes, sin llamar a ARCA ni consumir cuota. Devuelve una vista previa y un borradorId que vence en 30 minutos.
  2. El agente te muestra la vista previa. Si la confirmás, llama a wsfe_emitir_comprobante con ese borradorId y nada más: no acepta cambios. Para corregir algo, el agente prepara otro borrador.

Detalles que conviene saber:

  • El punto de venta sale del ptoVta del pedido o del punto de venta preferido del CUIT. Si el CUIT no tiene uno configurado, el agente te va a pedir en cuál emitir.
  • El link para compartir. Si ARCA aprueba el comprobante, la respuesta trae comprobanteUrl: la página pública del comprobante, la misma que se comparte desde el dashboard, lista para mandarle a tu cliente.
  • Reintentar es seguro. Emitir dos veces el mismo borradorId devuelve el comprobante ya emitido —mismo número y CAE—, sin emitir otro ni volver a llamar a ARCA.
  • Cuota y rechazos funcionan igual que en la REST: en produccion cada comprobante con CAE descuenta una emisión de tu plan, un rechazo de ARCA no descuenta y vuelve con su motivo, y se aplica el mismo tope de rechazos por hora.
  • La tool de emitir se declara destructiva, así que los clientes MCP piden confirmación antes de ejecutarla. No reemplaza tu revisión: leé la vista previa.

Probá primero en homologación. Pedile al agente que emita con environment: "homologacion" hasta que veas que arma los comprobantes como esperás. En homologación no hay CAE real ni consumo de cuota.

Tools disponibles

Son 27 tools con una credencial de escritura y 25 con una de solo lectura (las dos de emisión no se exponen), en cuatro familias que se comportan distinto.

Consultas a ARCA (13 tools)

Todas reciben environment (homologacion o produccion) y representada (el CUIT de 11 dígitos del emisor ya registrado en tu cuenta). Son equivalentes 1:1 a las rutas de consulta de la REST API.

ToolDescripciónCuota
padron_a13Padrón A13 (datos registrales) por CUITSí, en produccion
padron_a10Padrón A10 (actividades) por CUITSí, en produccion
padron_constanciaConstancia de inscripción por CUITSí, en produccion
padron_documentoConsulta por número de documentoSí, en produccion
wsfe_ultimo_comprobanteÚltimo comprobante autorizado (WSFEv1)No
wsfe_comprobanteDatos de un comprobante (WSFEv1)No
wsfe_comprobante_pdfPDF de un comprobante emitido (WSFEv1), como contenido base64No
wsfe_parametrosTablas de parámetros (WSFEv1)No
wsfex_ultimo_comprobanteÚltimo comprobante de exportación (WSFEX)No
wsfex_comprobanteDatos de un comprobante de exportación (WSFEX)No
wsfex_comprobante_pdfPDF de un comprobante de exportación (WSFEX), como contenido base64No
wsfex_parametrosTablas de parámetros (WSFEX)No
wsfex_permisoVerificación de permiso de embarque (WSFEX)No

El consumo de estas tools cuenta contra la misma cuota que la REST API y aparece en el dashboard de uso (identificado con el prefijo mcp.). Las consultas al padrón en produccion consumen cuota igual que POST /api/padron/*; las consultas de comprobantes no consumen cuota.

Emisión de comprobantes (2 tools, sólo con credencial de escritura)

Reciben environment y representada dentro del comprobante. Ver Emitir desde el agente.

ToolDescripciónCuota
wsfe_preparar_comprobanteValida y calcula un comprobante WSFEv1 sin emitirlo; devuelve vista previa y borradorIdNo
wsfe_emitir_comprobanteEmite en ARCA el borrador indicado y devuelve el link público del comprobante; idempotente por borradorIdSí, en produccion y sólo con CAE

Metadata de la cuenta (10 tools)

Operan sobre tu propia base —la agenda de clientes y el catálogo de productos—, no sobre ARCA. Por eso:

  • No reciben environment ni representada. Un cliente o un producto no pertenece a un entorno ni a una representada: es de la cuenta.
  • No consumen cuota y no cuentan como consumo en el dashboard.
  • Las de escritura (_crear, _actualizar, _eliminar) requieren una key read_write o una autorización Consultas y emisión; con una credencial de solo lectura responden 403.
ToolDescripciónScope
clientes_listarLista los clientes de la cuentaCualquiera
clientes_obtenerObtiene un cliente por idCualquiera
clientes_crearCrea un clienteread_write
clientes_actualizarActualiza los campos presentes de un clienteread_write
clientes_eliminarDa de baja un cliente (baja lógica)read_write
productos_listarLista el catálogo de productos y serviciosCualquiera
productos_obtenerObtiene un producto por idCualquiera
productos_crearCrea un producto o servicioread_write
productos_actualizarActualiza los campos presentes de un productoread_write
productos_eliminarDa de baja un producto (baja lógica)read_write

Los campos de cada recurso son los mismos que en la REST API: ver Clientes y Productos.

CUITs de la cuenta (2 tools)

Consultan los CUITs que tenés dados de alta, con su certificado, su CSR pendiente, su estado y los pasos pendientes para que puedan emitir sin avisos. Devuelven exactamente la misma representación que GET /api/cuits.

  • Son de solo lectura y funcionan con cualquier credencial. Dar de alta un CUIT, generar el CSR, cargar el certificado o dar de baja se hace por la REST API: no hay tools para eso.
  • No consumen cuota y no cuentan como consumo en el dashboard.
ToolDescripciónScope
cuits_listarLista los CUITs de la cuenta, con filtros opcionales por environment y por estado (ej. ["por_vencer", "vencido"])Cualquiera
cuits_obtenerObtiene un CUIT por número (cuit) y environmentCualquiera

Sin credencial válida

Si el header Authorization falta, la key es inexistente o está revocada, o el token OAuth venció o pertenece a una aplicación desconectada, el servidor responde 401 y no expone ninguna tool. La respuesta lleva el header WWW-Authenticate: Bearer resource_metadata="https://arca.api.com.ar/.well-known/oauth-protected-resource/api/mcp", que es lo que usan los clientes OAuth para descubrir cómo autorizarse.

Los tokens OAuth sólo valen para el servidor MCP: la REST API los rechaza con 401 y sigue autenticándose únicamente con API keys.

En esta página