mcpField
A
arca-agro

arca-agro

Local
github.com/rje1974Legal & Government0Updated 6w ago

About arca-agro

arca-agro is a read-only MCP server for agents that need to query Argentina’s ARCA agricultural services, taxpayer registry, and receipts. It covers electronic waybills and deliberately excludes fiscal write operations.

Key features

  1. 01Look up electronic waybills by CTG
  2. 02List waybills received at a plant
  3. 03Check grain types and order numbers
  4. 04Query taxpayer registry details
  5. 05Retrieve issued receipt details
  6. 06Check ARCA service availability

Use cases

  1. 01Review a waybill’s grain, weights, status, and parties
  2. 02Summarize receipts at a plant over a date range
  3. 03Check a CUIT’s tax registration details
  4. 04Spot gaps in waybill numbering

MCP support

Exposes ARCA agricultural service, registry, receipt, and availability queries as tools for MCP clients. All operations are read-only.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"rje1974-arca-agro": {
"command": "npx",
"args": [
"-y",
"arca-agro-mcp"
],
"env": {
"ARCA_CERT": "<ARCA_CERT>",
"ARCA_KEY": "<ARCA_KEY>",
"ARCA_CUIT": "<ARCA_CUIT>",
"ARCA_ENV": "<ARCA_ENV>",
"ARCA_CACHE_DIR": "<ARCA_CACHE_DIR>"
}
}
}
}
Run commandnpx -y arca-agro-mcp
Environment variables to set
ARCA_CERTRuta al certificado X.509 otorgado por ARCA para tu CUIT
ARCA_KEYSecretRuta a la clave privada del certificado. Nunca se transmite, solo firma local
ARCA_CUITCUIT representado, 11 digitos sin guiones
ARCA_ENVAmbiente de ARCA: production (default) o testing
ARCA_CACHE_DIRDonde guardar los Tickets de Acceso. Default: ~/.cache/arca-agro

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmarca-agro-mcp1.2.1

Tools

7

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
nroCTGstringYesCTG number (Código de Trazabilidad de Granos) of the waybill

Details

From the project README

arca-agro-mcp

npm Registro MCP Node License

El primer servidor MCP que consulta cartas de porte electrónicas de ARCA. Los demás MCP argentinos del organismo se detienen en factura electrónica y padrón.

Servidor MCP para consultar los web services agropecuarios de ARCA (ex AFIP) desde un agente: cartas de porte electrónicas, padrón de contribuyentes y comprobantes.

Es de solo lectura, y eso no es una convención de este repo sino una decisión de diseño. Ninguna herramienta autoriza, confirma o anula documentos fiscales, y la librería que usa por debajo —arca-agro-client— tampoco implementa esas operaciones: no hay una bandera que las habilite. Una carta de porte anulada por error es un hecho irreversible ante el organismo, y un modelo de lenguaje no debería tener esa capacidad al alcance. Hay tests que fallan si aparece una herramienta con nombre de escritura.

Instalación

No hace falta instalar nada: se descarga solo al arrancar.

Claude Code
claude mcp add arca-agro \
  --env ARCA_CERT=/ruta/al/certificado.crt \
  --env ARCA_KEY=/ruta/a/la/clave.key \
  --env ARCA_CUIT=30123456789 \
  -- npx -y arca-agro-mcp
Claude Desktop u otro cliente con archivo de configuración
{
  "mcpServers": {
    "arca-agro": {
      "command": "npx",
      "args": ["-y", "arca-agro-mcp"],
      "env": {
        "ARCA_CERT": "/ruta/al/certificado.crt",
        "ARCA_KEY": "/ruta/a/la/clave.key",
        "ARCA_CUIT": "30123456789"
      }
    }
  }
}

Necesita Node 18+ y el comando openssl disponible, que se usa para firmar localmente el pedido de ticket.

Qué hace falta antes

  1. Un certificado X.509 emitido por ARCA para tu CUIT, con su clave privada. Se tramita en el portal, en Administración de Certificados Digitales.
  2. Tener habilitado cada servicio en el Administrador de Relaciones. WSCPE, padrón y comprobantes se habilitan por separado.

La clave privada nunca sale de tu máquina: se usa para firmar el pedido de ticket y nada más. Aun así, es una credencial fiscal — tratala como tal y no la pongas en un archivo de configuración compartido.

Herramientas

HerramientaQué hace
consultar_cpeDatos de una carta de porte por su CTG: grano, pesos, estado, CUIT que intervienen.
cpes_recibidas_en_plantaCartas de porte que llegaron a una planta propia en un rango. Es la consulta del que recibe.
tipos_de_granoCódigos de grano que ARCA reconoce hoy, consultados en vivo.
ultimo_nro_ordenÚltimo número de orden emitido, para detectar saltos de numeración.
consultar_padronRazón social, estado de clave, domicilio, régimen e impuestos de un CUIT.
consultar_comprobanteDetalle de un comprobante emitido: importes, IVA, CAE.
estado_serviciosSi los servidores de ARCA responden. No usa el certificado.

Preguntas que contesta bien:

  • ¿Qué dice la carta de porte con CTG 12345678901?
  • ¿Cuántas toneladas de soja entraron a la planta 22397 entre marzo y mayo?
  • ¿Quién es el CUIT 30500120882 y qué régimen tiene?
  • ¿Hay algún salto en la numeración de mis cartas de porte?
  • ¿ARCA está caído o es problema de mis credenciales?
Sobre el volumen de datos

cpes_recibidas_en_planta devuelve por defecto un resumen: totales por grano más las 20 cartas más recientes. Una campaña entera son cientos de cartas y volcarlas todas llena la ventana de contexto sin que nadie las lea. Con detalle: true se listan completas — conviene solo para rangos cortos.

El PDF de la carta de porte tampoco viaja: pesa cientos de KB y no le sirve a un modelo. Si hace falta el archivo, se baja con la librería.

Qué hay abajo

Todo el trabajo sucio lo hace arca-agro-client, donde además están documentados los quirks que cuesta descubrir: por qué el Ticket de Acceso hay que cachearlo en disco, por qué el SOAPAction de WSCPE no coincide con el nombre del elemento raíz, y por qué los comprobantes no conectan con fetch.

Lo que ARCA no deja hacer

No hay forma de listar por web service las cartas de porte que uno despacha. consultarCPEPorDestino lista lo que llega a una planta propia y exige su número. Un productor que solo despacha no tiene con qué: ese listado solo se consigue por el portal. Conviene saberlo antes de perder una tarde buscando el parámetro correcto.

Qué no cubre

WSLPG (liquidación primaria de granos) no está: el servicio no permite listar por CUIT ni devuelve el PDF, así que no resuelve el caso de uso real, que es conciliar todo lo recibido.

Tampoco los remitos electrónicos ni las liquidaciones sectoriales (tabaco, lechería, pecuario). Se pueden agregar.

Desarrollo

npm install
npm run check
npm test
npx @modelcontextprotocol/inspector node server.js

Aviso

Proyecto independiente, sin relación con ARCA. Verificá contra la fuente oficial antes de tomar una decisión fiscal o comercial.

Privacidad

Corre en tu máquina, con tus credenciales, y habla solo con el organismo. No recolecta nada ni manda nada a ningún lado. El detalle, en PRIVACY.md.

Soporte

Esto se publica tal cual está. Las consultas van por los issues del repo, sin plazo de respuesta: lo contesto cuando puedo. No hay soporte por correo ni por teléfono.

Las APIs de terceros cambian sin avisar y pueden romperlo. No es asesoramiento profesional — el uso es responsabilidad de quien lo usa.

Si te sirvió

⭐ Dejame una estrella en el repo o invitame un cafecito.

(O escribime y charlamos, también vale.)

Licencia

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.