Universidad de Palermo
Facultad de Derecho · Palermo E-Law / Innovation Hub

Referencia técnica

Documentación

Referencia funcional y técnica del Corpus Legal Argentino vía MCP: endpoints y versiones, tools, cobertura de cada corpus, arquitectura y garantías de fidelidad.

La versión actual#

El corpus se consume por una versión vigente: la v5.0 «El Cuartito», que incluye todas las fuentes y capacidades. Transporte Streamable HTTP, sin autenticación (datos públicos oficiales, solo lectura, límite de 120 requests/min por IP).

v5.0 · Versión actual

«El Cuartito»

El corpus completo y actual: todas las fuentes y capacidades, ahora con la jurisprudencia de la Suprema Corte de la Provincia de Buenos Aires (corpus JUBA: 166.102 fallos de la SCBA, cámaras y juzgados bonaerenses) y el prompt de preparación de alegatos.

https://mcp.bravo47.com/mcp

Documentación de la v5.0 →

https://mcp.bravo47.com/mcp es la única dirección y es siempre la última versión. Hoy sirve la v5.0 y va a servir cada versión nueva cuando salga. Las direcciones numeradas de antes (/v2/mcp a /v5/mcp) siguen funcionando como alias de /mcp: responden exactamente lo mismo, así que no hace falta cambiar una configuración existente, aunque conviene pasarla a /mcp.

Versiones anteriores

Salvo que necesites reproducir un comportamiento anterior, usá la v5.0. Cada versión conserva su página con el detalle de sus tools y su historia:

  • v4.2 «La Brigada» — red de precedentes, fallos relacionados por similitud semántica y comparación de textos; sin la jurisprudencia bonaerense. ficha. Retirada el 6 de noviembre de 2026: /v4/mcp es alias de /mcp y sirve la v5.0, que incluye todo lo de esta versión.
  • v3.3 «Los Andes» — cross-links, vigencia, análisis predictivo y boletines, sin la red de precedentes. ficha. Retirada el 6 de noviembre de 2026: /v3/mcp es alias de /mcp y sirve la v5.0, que incluye todo lo que ofrecía.
  • v2.0 «Lo de Osvaldo» — directorio judicial, derecho provincial (SAIJ) e índice del BORA. ficha. Retirada el 6 de noviembre de 2026: /v2/mcp es alias de /mcp y sirve la v5.0, que incluye todo lo que ofrecía.
  • v1.0 «El Mirasol» — la base: InfoLEG, CSJN y tratados. ficha. Su dirección, https://mcp.bravo47.com/mcp, es desde el 6 de noviembre de 2026 la única dirección del servidor y sirve siempre la última versión.

La referencia de tools, capacidades e historial vive en la página de cada versión — la de la v5.0 incluye todo. La v4.2 se puede seguir conectando en paralelo con la actual hasta su cierre.

Cómo conectar#

Alcanza con pegar la URL en cualquier cliente que admita servidores MCP remotos: Claude (claude.ai, Claude Desktop, Claude Code, Claude API), ChatGPT y Codex, Gemini CLI y Antigravity, GitHub Copilot y Copilot Studio, Cursor, Zed, JetBrains, Cline, Le Chat, Perplexity, Grok, LM Studio, Open WebUI, LibreChat y otros. Transporte Streamable HTTP, sin autenticación; los cinco canales se pueden conectar en paralelo como conectores separados.

Las instrucciones paso a paso para cada cliente — rutas de menú, archivos de configuración, planes que lo incluyen y problemas frecuentes — viven en una página propia: Cómo conectar →

El corpus: ocho fuentes#

El corpus espeja ocho fuentes oficiales. Cada una indica acá con qué tools se consulta; la referencia completa de cada tool está en la página de la v5.0, y la página de cada versión lista los suyos.

Normativa nacional (InfoLEG), jurisprudencia de la CSJN y tratados

La base del corpus, presente en todas las versiones: la legislación nacional espejada de InfoLEG — normas con sus metadatos, textos, índice de artículos y grafo de modificaciones —, la jurisprudencia de la Corte Suprema — fallos con sumarios y texto completo — y los tratados internacionales de Cancillería, con su ciclo de vida y su texto oficial. Todo verbatim y con proveniencia por documento. Tools: buscar_normas, obtener_norma, leer_articulos, buscar_articulos, modificaciones, buscar_fallos / obtener_fallo / leer_fallo y buscar_tratados / obtener_tratado / leer_tratado.

Directorio judicial

Metadata de los tribunales argentinos: la justicia federal y nacional (PJN) completa, las 24 cortes y superiores tribunales provinciales, y la primera instancia — juzgados, cámaras y tribunales — de 22 de las 24 jurisdicciones, con jueces, secretarios y contactos donde la fuente oficial los publica. Tools: buscar_tribunales, obtener_tribunal, buscar_funcionarios.

Constituciones y Códigos provinciales (SAIJ)

El derecho fundacional provincial: las 24 constituciones y los códigos vigentes (procesal penal, procesal civil y comercial, procesal del trabajo, procesal minero, contencioso administrativo, fiscal, tributario y contravencional) de las 24 jurisdicciones — 107 normas · 39.396 artículos con texto verbatim artículo por artículo. No son tools nuevos: buscar_normas, obtener_norma, leer_articulos y buscar_articulos ganan cobertura provincial pasando jurisdiccion="provincia_<slug>" (p. ej. provincia_cordoba); el estado_vigencia se atribuye a SAIJ (la base no determina vigencia).

Boletín Oficial nacional (BORA)

El flujo diario del Boletín Oficial (1ª sección — legislación — y 3ª — contrataciones y edictos) como puente de frescura: acceso a lo que se publicó hoy, antes de que aparezca en el dump mensual de InfoLEG, con cross-link a la norma consolidada cuando se incorpora. Se consulta con buscar_bora; obtener_norma suma el bloque publicado_en_bora cuando la norma ya salió publicada.

Al principio el corpus tenía solo el índice del Boletín — organismo, tipo, número — pero no el contenido de los avisos: buscar sobre él era buscar sobre un sumario que en la enorme mayoría de los casos estaba vacío. Hoy el crawler entra a la ficha de cada aviso y guarda su texto, la URL del documento (antes se apuntaba al listado de la sección) y la fecha de sanción. buscar_bora busca sobre ese texto y devuelve un fragmento con los términos resaltados; leer_aviso_bora entrega el aviso completo, verbatim y paginado.

Toda respuesta de buscar_bora trae además un bloque cobertura con el rango de ediciones espejadas y cuántas tienen texto. Es deliberado: una lista vacía significa que no hubo coincidencias en ese rango, no que no se haya publicado nada sobre el tema. El Boletín se espeja hacia adelante desde que se incorporó la fuente, así que el rango es acotado y conviene leerlo antes de sacar conclusiones de un resultado vacío.

Boletín Oficial de la Provincia de Buenos Aires

Corpus nuevo, distinto del BORA nacional: el espejo entra a los PDF oficiales de cada sección del Boletín de PBA (boletinoficial.gba.gob.ar) y los segmenta automáticamente en avisos individuales. A diferencia del Boletín nacional, acá no hay una ficha estructurada de origen por aviso: el texto, el rubro, el organismo y el tipo se derivan de la segmentación del PDF, así que pueden contener errores de extracción — la fuente citable final siempre es el PDF de la sección (fuente.url) y el rango de páginas, no solo el texto devuelto. buscar_boletin busca por texto libre con filtros de sección/rubro/organismo/fecha; leer_aviso_boletin entrega el aviso completo, paginado. Cuando el aviso cita una norma provincial ya espejada (vía Normas BA), la respuesta trae norma_relacionada con su id. Cada aviso indica su granularidad: aviso (segmentación exitosa) o seccion_fragmento (la sección no se pudo dividir en avisos individuales; el fragmento puede traer más de uno). Hoy cubre solo jurisdiccion="pba"; el mismo diseño admite sumar otras provincias sin cambiar la forma de los tools. En producción desde el 16/08/2026, con actualización diaria automática (junto con la normativa de Normas BA); la cobertura espejada arranca el 17/07/2026 — misma fecha de inicio que el espejo del BORA nacional — y el bloque cobertura de cada respuesta declara el rango y el volumen vigentes.

Jurisprudencia de la Provincia de Buenos Aires (JUBA)

Fuente nueva en la v5.0, separada de la jurisprudencia de la CSJN: el espejo de JUBA, el buscador de jurisprudencia de la Suprema Corte bonaerense — 166.102 fallos de la SCBA, de las cámaras de apelación de los departamentos judiciales y de juzgados de la provincia (1916 – agosto 2026), 95.200 con la sentencia completa. Cada fallo trae su bloque fuente con el sha256 del HTML oficial capturado y la URL del registro. Cerca de la mitad de los registros son metadata sola (JUBA no expone sus sumarios por el endpoint espejado), la cobertura por tribunal es desigual porque cada departamento judicial carga lo suyo, y los registros marcados privados por la fuente quedan fuera del corpus; todo eso se declara en cada respuesta. Actualización diaria automática. Tools: buscar_fallos_scba, obtener_fallo_scba, leer_fallo_scba; verificar_cita y el directorio judicial la cubren también. Detalle en la página de la v5.0.

Frescura por fuente#

Las fuentes no se actualizan todas igual. La tabla dice cómo entra cada una y con qué cadencia; hasta qué fecha llega el contenido hoy no figura acá, porque cambia todos los días: lo informa el tool estado_corpus, que lo calcula a partir de los datos.

FuenteCómo entraCadencia
InfoLEG — legislación nacionalDump oficial de datos.jus.gob.ar, cargado y procesado por el equipoMensual, con la publicación del dump
CSJN — jurisprudenciaCrawler automático del portal de la Corte; relee el año en curso y el anterior porque el portal publica con semanas de demoraDiaria
Cancillería — tratadosCarga puntualSin actualización automática
Directorios judicialesCapturas puntuales de las páginas oficiales; cada respuesta indica su fecha de capturaSin actualización automática
SAIJ — constituciones y códigos provincialesCarga puntual del 19/07/2026; cada norma indica su fecha de capturaSin actualización automática
BORA — Boletín Oficial nacionalCrawler de la 1ª y la 3ª sección, en los días de ediciónDiaria
Boletín Oficial de la Provincia de Buenos Aires y Normas BACrawler de los PDF oficiales y de la normativa provincialDiaria
JUBA — jurisprudencia de la SCBACrawler del buscador oficialDiaria

Cuatro fechas que no hay que confundir. La fecha de captura es cuándo el servidor copió el documento de la fuente oficial. La fecha del documento es la que el propio documento declara (sanción, publicación, sentencia). La fecha hasta la que llega la fuente es el límite del contenido espejado, y se consulta con estado_corpus. La vigencia jurídica no es una fecha de este servicio: la base no la determina, y lo que muestra es análisis, no un dato.

Proveniencia y fidelidad#

Cada texto se devuelve textual — el servidor jamás resume ni parafrasea — acompañado de un bloque fuente con el hash SHA-256 del documento oficial capturado, la fecha de captura y la URL de origen. El tool verificar_cita permite auditar cualquier cita contra el corpus: confirma si existe literalmente y, si solo hay una coincidencia aproximada, muestra el diff contra el texto real.

Las garantías que sostienen eso:

  • El servidor se conecta a la base con un rol de solo lectura.
  • Los tools devuelven texto verbatim; el servidor jamás resume.
  • La base no determina vigencia: expone el grafo de modificaciones y las observaciones de InfoLEG; el análisis jurídico es del profesional.

Este servicio no constituye asesoramiento jurídico. El corpus espeja fuentes oficiales públicas y cada fuente se actualiza con su propia cadencia (ver Frescura por fuente).

Arquitectura#

Arquitectura del Corpus Legal Argentino vía MCP Diagrama de tres niveles, de arriba hacia abajo. Un cliente MCP (Claude, ChatGPT, Gemini, Copilot, editores u otros) se conecta por HTTPS con Streamable HTTP a un servidor MCP de solo lectura, que expone entre 13 y 31 herramientas según la versión y se conecta en modo lectura a una base PostgreSQL con pgvector donde viven los corpus espejados de las fuentes oficiales. Cliente MCP Claude · ChatGPT · Gemini · Copilot · IDEs · otros HTTPS · Streamable HTTP (MCP) Servidor MCP · solo lectura 13 tools en la v1.0 · 17 en la v2.0 · 25 en la v3.3 · 28 en la v4.2 · 31 en la v5.0 •Modelo de embeddings multilingüe codifica la consulta; corre en nuestro servidor •Grafo de citas fallo↔fallo (red_precedentes, v4.0) rebuild diario minando texto de fallos y sumarios; el tool solo lee aristas ya resueltas •Similitud semántica entre fallos (fallos_relacionados, v4.2) consulta los embeddings de sumarios ya indexados; no genera vectores nuevos online •Diff determinístico de artículos (comparar_textos, v4.2) difflib sobre texto literal; sin LLM ni embeddings •Conexión de solo lectura a la base conexión de solo lectura PostgreSQL + pgvector •Corpus nacional: normas, artículos, fallos, tratados •Corpus provincial: constituciones y códigos (SAIJ) y normativa diaria bonaerense (Normas BA) •Jurisprudencia SCBA (corpus JUBA, v5.0) •Boletines oficiales: BORA y Boletín de PBA •Directorio judicial •1,73 M de embeddings nacionales + provinciales (HNSW) Todo es espejo de fuentes oficiales, con hash y URL de cada documento capturado.
De arriba hacia abajo: el cliente MCP consulta al servidor y el servidor lee la base. Las versiones anteriores exponen menos herramientas; la v5.0 las incluye todas.
Descripción del diagrama en texto
  1. Cliente MCP (Claude, ChatGPT, Gemini, Copilot, IDEs y otros) se conecta por HTTPS con Streamable HTTP (MCP).
  2. Servidor MCP, solo lectura: 13 tools en la v1.0, 17 en la v2.0, 25 en la v3.3, 28 en la v4.2 y 31 en la v5.0. Incluye:
    • un modelo de embeddings multilingüe que codifica la consulta y corre en nuestro servidor;
    • el grafo de citas fallo↔fallo (red_precedentes, v4.0), con rebuild diario minando texto de fallos y sumarios; el tool solo lee aristas ya resueltas;
    • la similitud semántica entre fallos (fallos_relacionados, v4.2), que consulta los embeddings de sumarios ya indexados y no genera vectores nuevos online;
    • el diff determinístico de artículos (comparar_textos, v4.2), con difflib sobre texto literal, sin LLM ni embeddings;
    • una conexión de solo lectura a la base.
  3. PostgreSQL + pgvector: corpus nacional (normas, artículos, fallos, tratados); corpus provincial (constituciones y códigos de SAIJ, y normativa diaria bonaerense de Normas BA); jurisprudencia SCBA (corpus JUBA, v5.0); boletines oficiales (BORA y Boletín de PBA); directorio judicial; y 1,73 M de embeddings nacionales y provinciales (HNSW). Todo es espejo de fuentes oficiales, con hash y URL de cada documento capturado.

Cómo responde una consulta:

  • Lectura directa (p. ej. leer_articulos): el servidor consulta la base y devuelve el texto tal como fue capturado del documento oficial, junto con su bloque fuente.
  • Búsqueda híbrida (buscar_articulos, buscar_fallos): la consulta se convierte en un vector con un modelo de embeddings que corre en nuestra propia infraestructura; pgvector busca los pasajes semánticamente más cercanos sobre índices HNSW y, en paralelo, corre una búsqueda full-text. Los resultados se combinan y cada uno viaja con su proveniencia.
  • Verificación de citas (verificar_cita): busca la cita literal en el corpus; si solo existe un pasaje parecido, devuelve el diff contra el texto real en lugar de darla por buena.

El corpus se actualiza a partir de las fuentes oficiales, con una cadencia propia por fuente (ver Frescura por fuente). Las consultas se procesan en memoria y no se almacenan.