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 consultas | Key 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
- 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.
- Pegá la URL
https://arca.api.com.ar/api/mcpy elegí autenticación OAuth. - 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
- Abrí Agregar conector personalizado en claude.ai. También lo encontrás en Configuración → Conectores → Agregar conector personalizado.
- Pegá la URL
https://arca.api.com.ar/api/mcp. - 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:
- En el dashboard, andá a API keys → Nueva API key.
- Elegí Permisos: Solo lectura (consulta).
- 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:
wsfe_preparar_comprobanterecibe el mismo body quePOST /api/wsfe/facturas(o las notas), incluidosclienteIdyproductoIdpara 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 unborradorIdque vence en 30 minutos.- El agente te muestra la vista previa. Si la confirmás, llama a
wsfe_emitir_comprobantecon eseborradorIdy nada más: no acepta cambios. Para corregir algo, el agente prepara otro borrador.
Detalles que conviene saber:
- El punto de venta sale del
ptoVtadel 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
borradorIddevuelve 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
produccioncada 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.
| Tool | Descripción | Cuota |
|---|---|---|
padron_a13 | Padrón A13 (datos registrales) por CUIT | Sí, en produccion |
padron_a10 | Padrón A10 (actividades) por CUIT | Sí, en produccion |
padron_constancia | Constancia de inscripción por CUIT | Sí, en produccion |
padron_documento | Consulta por número de documento | Sí, en produccion |
wsfe_ultimo_comprobante | Último comprobante autorizado (WSFEv1) | No |
wsfe_comprobante | Datos de un comprobante (WSFEv1) | No |
wsfe_comprobante_pdf | PDF de un comprobante emitido (WSFEv1), como contenido base64 | No |
wsfe_parametros | Tablas de parámetros (WSFEv1) | No |
wsfex_ultimo_comprobante | Último comprobante de exportación (WSFEX) | No |
wsfex_comprobante | Datos de un comprobante de exportación (WSFEX) | No |
wsfex_comprobante_pdf | PDF de un comprobante de exportación (WSFEX), como contenido base64 | No |
wsfex_parametros | Tablas de parámetros (WSFEX) | No |
wsfex_permiso | Verificació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.
| Tool | Descripción | Cuota |
|---|---|---|
wsfe_preparar_comprobante | Valida y calcula un comprobante WSFEv1 sin emitirlo; devuelve vista previa y borradorId | No |
wsfe_emitir_comprobante | Emite en ARCA el borrador indicado y devuelve el link público del comprobante; idempotente por borradorId | Sí, 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
environmentnirepresentada. 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 keyread_writeo una autorización Consultas y emisión; con una credencial de solo lectura responden403.
| Tool | Descripción | Scope |
|---|---|---|
clientes_listar | Lista los clientes de la cuenta | Cualquiera |
clientes_obtener | Obtiene un cliente por id | Cualquiera |
clientes_crear | Crea un cliente | read_write |
clientes_actualizar | Actualiza los campos presentes de un cliente | read_write |
clientes_eliminar | Da de baja un cliente (baja lógica) | read_write |
productos_listar | Lista el catálogo de productos y servicios | Cualquiera |
productos_obtener | Obtiene un producto por id | Cualquiera |
productos_crear | Crea un producto o servicio | read_write |
productos_actualizar | Actualiza los campos presentes de un producto | read_write |
productos_eliminar | Da 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.
| Tool | Descripción | Scope |
|---|---|---|
cuits_listar | Lista los CUITs de la cuenta, con filtros opcionales por environment y por estado (ej. ["por_vencer", "vencido"]) | Cualquiera |
cuits_obtener | Obtiene un CUIT por número (cuit) y environment | Cualquiera |
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.