saij-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@saij-mcpBuscá jurisprudencia sobre phishing bancario en Argentina"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
saij-mcp
Servidor MCP para buscar en SAIJ (Sistema Argentino de Información Jurídica), la base de datos jurídica oficial de Argentina.
Permite que cualquier cliente de IA (Claude Desktop, Cursor, Windsurf, VS Code, Claude Code, etc.) busque y recupere fallos, legislación, sumarios y doctrina argentina.
Instalación rápida
Hacé click en el botón de tu editor:
Claude Desktop (extensión .mcpb)
Descargá saij-0.1.0.mcpb y abrilo — Claude Desktop lo instala automáticamente.
Claude Code
claude mcp add saij -- uvx saij-mcpClaude Desktop
Agregar a claude_desktop_config.json:
{
"mcpServers": {
"saij": {
"command": "uvx",
"args": ["saij-mcp"]
}
}
}Windsurf
Agregar a ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"saij": {
"command": "uvx",
"args": ["saij-mcp"]
}
}
}Claude Cowork
Desde el chat:
/plugin marketplace add hernan-cc/claude-plugins
/plugin install saij@hernan-ccChatGPT
ChatGPT solo soporta MCP servers remotos (HTTP), no locales. saij-mcp hoy corre en modo stdio (local). Para usarlo con ChatGPT necesitás exponerlo como servidor HTTP con un túnel (ej. ngrok) o desplegarlo en un servidor propio. Estamos trabajando en una versión remota.
pip / uvx
pip install saij-mcp # instalar globalmente
uvx saij-mcp # ejecutar sin instalarRequiere uv para
uvx, o Python 3.10+ parapip.
Related MCP server: bora-mcp
Herramientas
Herramienta | Descripción |
| Buscar por palabras clave en fallos, sumarios, legislación, doctrina |
| Obtener metadatos completos de un documento por ID SAIJ (ej. |
| Obtener todos los sumarios vinculados a un fallo |
Ejemplos de uso
Una vez configurado, tu cliente de IA puede:
"Buscame jurisprudencia sobre phishing bancario" — busca sumarios con descriptores del tesauro jurídico
"Qué dice el fallo FA20000057?" — recupera metadatos completos: tribunal, fecha, magistrados
"Dame los sumarios del fallo FA20000057" — devuelve todos los principios jurídicos extraídos del fallo
"Buscá leyes sobre defensa del consumidor" — busca legislación por título
Campos de búsqueda
Campo | Funciona con | Descripción |
| Todo | Busca por título del documento (default) |
| Solo sumarios | Búsqueda en el cuerpo del sumario |
Tipos de documento
Tipo | Descripción |
| Sentencias y resoluciones judiciales (default) |
| Resúmenes con descriptores del tesauro |
| Fallos y sumarios |
| Toda la legislación |
| Leyes |
| Decretos |
| Doctrina y artículos jurídicos |
| Dictámenes |
| Todos los tipos |
Cómo funciona
SAIJ expone una API JSON pública (sin autenticación). Este servidor la envuelve con descripciones de herramientas MCP para que los clientes de IA puedan buscar de forma efectiva.
La API usa sintaxis de consulta tipo Lucene internamente. El servidor se encarga de construir las queries, filtrar por facetas y parsear las respuestas.
Los sumarios son particularmente útiles: contienen principios jurídicos extraídos de los fallos, etiquetados con un tesauro jerárquico de descriptores. Estos descriptores permiten búsqueda semántica legal incluso sin embeddings.
Limitaciones
El texto completo de los fallos es solo PDF — la API devuelve metadatos y sumarios vinculados, pero el texto de la sentencia está en un PDF adjunto. Usá
pdf_urldesaij_get_documentpara descargarlo.El campo
textosolo busca en sumarios — para fallos, buscá portitulo(carátula).No se detectó rate limiting, pero usá con moderación.
Licencia
MIT
Available Tools
3 toolssaij_get_documentA
Get a full document from SAIJ by its ID.
Retrieves complete metadata for a court decision, law, or other legal
document, including tribunal, date, jurisdiction, magistrates, and
related sumarios. For fallos, includes PDF download URL.
Args:
identifier: Either a SAIJ id-infojus (e.g. "FA20000057" for a fallo,
"LNS0007682" for a law) or the full document UUID.
Returns:
JSON with complete document metadata. For fallos: tribunal, date,
case caption (caratula), magistrates, jurisdiction, related sumario
IDs, and PDF URL. For sumarios: summary text, thesaurus descriptors.
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by specifying what data is returned (metadata, PDF URL for fallos, summary text for sumarios) and the types of documents supported (court decisions, laws, legal documents). It doesn't mention rate limits, authentication needs, or error conditions, but provides substantial behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement, followed by detailed parameter and return value explanations. Every sentence adds value: the first states the action, the second elaborates scope, and the Args/Returns sections provide essential implementation details without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, no annotations, but with an output schema, the description provides excellent completeness. It explains the single parameter thoroughly, details what information is returned for different document types, and mentions the JSON return format. The output schema likely covers structure, so the description focuses appropriately on semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and only one parameter, the description fully compensates by explaining the 'identifier' parameter in detail: it specifies the two possible formats (SAIJ id-infojus examples like 'FA20000057' or full UUID) and what they represent. This adds crucial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get a full document'), target resource ('from SAIJ by its ID'), and scope ('complete metadata for a court decision, law, or other legal document'). It distinguishes from sibling tools by focusing on retrieval by ID rather than search or sumario-specific operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying it retrieves documents by ID, suggesting it should be used when you have a specific identifier rather than searching broadly. However, it doesn't explicitly state when NOT to use it or name alternatives, though the sibling tool names suggest potential alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
saij_get_sumariosA
Get all legal summaries (sumarios) linked to a court decision.
Each sumario contains a legal principle extracted from the decision,
tagged with thesaurus descriptors. Useful for understanding the key
legal holdings of a case.
Args:
fallo_id: The fallo's id-infojus (e.g. "FA20000057"). The "FA"
prefix is added automatically if missing.
Returns:
JSON with the fallo ID, total count, and array of sumarios, each
with: summary text, thesaurus descriptors (legal topic tags),
tribunal, date, and jurisdiction.
| Name | Required | Description | Default |
|---|---|---|---|
| fallo_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by explaining what the tool returns (JSON structure with specific fields), the automatic prefix handling for fallo_id, and the nature of the data (legal principles with descriptors). It doesn't mention rate limits or authentication needs, but provides solid behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured and front-loaded: purpose first, then what sumarios contain, then Args and Returns sections. Every sentence earns its place with no wasted words, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, no annotations, and the presence of an output schema, the description provides complete context. It explains purpose, usage, parameter behavior, and return structure, making the output schema documentation of the return format sufficient without needing duplication in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% description coverage. It explains what fallo_id represents, provides an example format ('FA20000057'), and documents the automatic prefix handling behavior that isn't captured in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb ('Get') and resource ('all legal summaries linked to a court decision'), and distinguishes it from siblings by focusing on summaries rather than documents or search functionality. It explains what sumarios contain and their utility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('for understanding the key legal holdings of a case'), but doesn't explicitly state when not to use it or name specific alternatives among the sibling tools (saij_get_document, saij_search).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
saij_searchA
Search Argentine legal documents in SAIJ.
Use this tool to find court decisions (fallos), legal summaries (sumarios),
legislation (leyes, decretos), doctrine, and dictámenes from Argentina's
official legal database.
Args:
query: Search terms (e.g. "consumidor", "phishing bancario").
doc_type: Type of document to search. Options:
- "fallo": Court decisions (default)
- "sumario": Case summaries with thesaurus tags
- "jurisprudencia": Both fallos and sumarios
- "legislacion": All legislation
- "ley": Laws only
- "decreto": Decrees only
- "doctrina": Legal doctrine/articles
- "dictamen": Official opinions
- "todo": All document types
field: Search field. "titulo" works with all types. "texto" only
works with sumarios (searches the summary text body).
limit: Maximum results to return (1-25, default 10).
offset: Pagination offset for fetching more results.
Returns:
JSON with total count, results array, and facet breakdowns
(by jurisdiction, tribunal, year).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| doc_type | No | fallo | |
| field | No | titulo | |
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by explaining the search scope, document types, default behaviors, pagination, and return format. It discloses that 'texto' field only works with sumarios and provides practical examples. However, it doesn't mention rate limits, authentication needs, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, usage, args, returns) and every sentence adds value. It could be slightly more front-loaded by moving the 'Args' section details into the initial description, but overall it's appropriately sized and organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a 5-parameter search tool with no annotations but with output schema, the description is complete enough. It explains the tool's purpose, parameters, usage, and return format. The output schema existence means the description doesn't need to detail return values, and it covers all necessary context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing detailed parameter explanations beyond the bare schema. It explains what each parameter does, provides examples for 'query', enumerates all 'doc_type' options with descriptions, clarifies field limitations, and specifies valid ranges for 'limit'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Argentine legal documents in SAIJ, listing specific document types (court decisions, legal summaries, legislation, doctrine, dictámenes). It distinguishes from sibling tools by focusing on search functionality rather than document retrieval (saij_get_document) or specific summary access (saij_get_sumarios).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('Search Argentine legal documents in SAIJ'), but doesn't explicitly mention when NOT to use it or directly compare to sibling tools. It implies usage through the document type examples but lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.2.0- First observed
saij_get_document - First observed
saij_get_sumarios - First observed
saij_search
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: saij_get_document retrieves a specific document by ID, saij_get_sumarios fetches summaries linked to a court decision, and saij_search performs broad queries across the legal database. There is no overlap in functionality, making tool selection straightforward for an agent.
All tool names follow a consistent snake_case pattern with the prefix 'saij_' and a clear verb_noun structure (get_document, get_sumarios, search). This uniformity aids predictability and readability across the tool set.
With 3 tools, the server is slightly lean but reasonable for its purpose of accessing Argentine legal documents. It covers key operations (retrieve, fetch related summaries, search), though a few more tools might enhance coverage without being necessary.
The tools provide good coverage for querying and retrieving legal documents, including metadata and summaries. Minor gaps exist, such as lacking explicit update or delete operations, but these are likely unnecessary for a read-only legal database, and agents can work effectively with the provided tools.
Maintenance
Related MCP Connectors
Case law search, court decisions and súmulas, across indexed public sources (STF, STJ, TST, state co
Search U.S. case law, fetch opinions, and ask matter-aware legal questions over your documents.
Resolve, search and verify legal citations against the official sources, with provenance.
Busca e verifica jurisprudência brasileira real (+400 mil julgados) — anti-alucinação para IA.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceProvides access to Argentina's official legal database (SAIJ) to search and retrieve judgments, legislation, summaries, and legal doctrine. It allows AI clients to query Argentine legal information and access metadata for various legal documents.26 PyPI6MIT
- AlicenseAqualityCmaintenanceMCP server for searching and extracting official announcements, decrees, and resolutions from the Argentine Official Gazette (Boletín Oficial de la República Argentina). It enables LLMs to perform real-time searches and retrieve verbatim legal text with complete juridical fidelity.1419 npm3MIT
- AlicenseAqualityDmaintenanceEnables interaction with the Argentine judiciary system (SAC - Justicia Cordoba) via Claude Desktop, supporting case searches, notifications, and procedural deadlines.12MIT
- FlicenseAqualityBmaintenanceMCP server that provides access to Argentine legal documents (legislation, CSJN jurisprudence, international treaties) with verifiable provenance including SHA256 hashes and source URLs, enabling legal professionals to search and verify citations.13-