Skip to main content
Glama
DeHor-Labs

mcp-juridico-brasil

by DeHor-Labs

O que é

mcp-juridico-brasil conecta assistentes de IA, escritórios de advocacia e sistemas de gestão processual ao DataJud CNJ - a base unificada de dados judiciais do Conselho Nacional de Justiça - com cobertura de 91 tribunais brasileiros em todas as justiças (Federal, Estadual, do Trabalho, Militar, Eleitoral e Superior).

O servidor não é um catálogo genérico de dados públicos. A proposta é ser uma vertical processual: transformar consultas judiciais fragmentadas em tools seguras, componíveis e prontas para agentes - com cálculo de prazos em dias úteis conforme o CPC, monitoramento de andamentos e snapshots persistentes de processos.


Related MCP server: Advogado PT MCP Server

Ferramentas disponíveis

Tools de Fase 1 e Fase 2, prontas para uso imediato.

Consulta e monitoramento de processos

Ferramenta

Descrição

Fonte

buscar_processo_por_numero

Consulta completa de processo pelo número CNJ (NNNNNNN-DD.AAAA.J.TT.OOOO)

DataJud CNJ

listar_movimentacoes

Histórico de andamentos processuais com filtro por data

DataJud CNJ

resumir_andamento

Dados do processo mais instrução de resumo para o modelo de linguagem

DataJud CNJ

monitorar_processo

Verifica atualizações desde uma data (polling com snapshot em memória)

DataJud CNJ

listar_processos_monitorados

Lista processos com snapshot salvo na sessão atual

Memória local

Cálculo de prazos processuais

Ferramenta

Descrição

Referência

calcular_proximo_prazo

Cálculo de prazo em dias úteis com calendário forense nacional e estadual (art. 219, 220 e 224 CPC)

Offline

Referência de tribunais

Ferramenta

Descrição

Fonte

listar_tribunais

Lista todas as 91 siglas suportadas (Portaria CNJ 160/2020)

Offline

Resource MCP

Resource

Descrição

processo://{numero}/snapshot

Último snapshot capturado de um processo monitorado


Instalação

A forma mais simples, sem instalar nada permanentemente:

uvx mcp-juridico-brasil

O que é uvx? É o gerenciador de ferramentas do uv, que baixa e executa pacotes Python em ambiente isolado, sem poluir seu sistema. Se ainda não tem o uv: curl -LsSf https://astral.sh/uv/install.sh | sh

Mantendo atualizado: use uvx mcp-juridico-brasil@latest ou uvx --refresh mcp-juridico-brasil para forçar a versão mais recente do PyPI.

Instalação permanente (alternativa)

# via pip
pip install mcp-juridico-brasil

# via uv (recomendado para projetos Python)
uv add mcp-juridico-brasil

A partir do código-fonte

git clone https://github.com/DeHor-Labs/mcp-juridico-brasil.git
cd mcp-juridico-brasil
uv sync

Configuração por cliente MCP

Cole o trecho abaixo no arquivo de configuração do seu cliente. A variável DATAJUD_API_KEY é necessária para consultas ao DataJud CNJ - solicite em datajud-wiki.cnj.jus.br.

Claude Desktop

Edite ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "juridico-brasil": {
      "command": "uvx",
      "args": ["mcp-juridico-brasil"],
      "env": {
        "DATAJUD_API_KEY": "sua-chave-aqui"
      }
    }
  }
}

Reinicie o Claude Desktop. As ferramentas jurídicas aparecem automaticamente.

Claude Code (CLI)

claude mcp add juridico-brasil -- uvx mcp-juridico-brasil

Para incluir a chave de API:

DATAJUD_API_KEY=sua-chave-aqui claude mcp add juridico-brasil -- uvx mcp-juridico-brasil

Cursor / .mcp.json

Crie ou edite .cursor/mcp.json (ou .mcp.json na raiz do projeto):

{
  "mcpServers": {
    "juridico-brasil": {
      "command": "uvx",
      "args": ["mcp-juridico-brasil"],
      "env": {
        "DATAJUD_API_KEY": "sua-chave-aqui"
      }
    }
  }
}

VS Code + Continue

Adicione ao settings.json:

{
  "continue.mcpServers": {
    "juridico-brasil": {
      "command": "uvx",
      "args": ["mcp-juridico-brasil"],
      "env": {
        "DATAJUD_API_KEY": "sua-chave-aqui"
      }
    }
  }
}

Variáveis de ambiente

Variável

Descrição

Padrão

DATAJUD_API_KEY

Chave de acesso ao DataJud CNJ (necessária para consultas)

-

MCP_JURIDICO_LOG_LEVEL

Nível de log: DEBUG, INFO, WARNING

INFO

JURIDICO_SNAPSHOT_DIR

Diretório para persistência de snapshots em arquivo (opcional)

memória

HTTP_TIMEOUT

Timeout em segundos para chamadas HTTP ao DataJud

30


Arquitetura

Claude / GPT / Cursor / qualquer cliente MCP
              |
              | Model Context Protocol (stdio)
              v
    mcp-juridico-brasil
              |
    +---------+---------+-----------+----------+
    |         |         |           |          |
 Processos  Movim.   Resumo    Monitoram.  Prazos
    |         |         |           |          |
    v         v         v           v          v
 DataJud   DataJud   DataJud   Snapshot   Calendario
  CNJ        CNJ       CNJ     mem/disco   forense
                                           offline
              |
              v
       91 tribunais
  (Federal, Estadual, Trabalho,
   Militar, Eleitoral, Superior)

Fontes de dados:

  • DataJud CNJ - base unificada de dados judiciais (Portaria CNJ 160/2020)

  • Calendário forense nacional e estadual - processado offline para cálculo de prazos (CPC art. 219/220/224)


Roadmap

  • v0.1.x - Busca de processo, listagem de movimentações, resumo de andamento e listagem de tribunais

  • v0.2.x - Monitoramento com snapshot, cálculo de prazos em dias úteis (CPC), resource MCP por processo

  • v0.3.x - Webhook push de atualizações, persistência em banco de dados e alertas por prazo

  • v0.4.x - Intimações via Domicílio Judicial Eletrônico (DJe), parsing de publicações e extração estruturada

  • v1.0.0 - Suite processual completa com auditoria LGPD, contratos de API estáveis e cobertura ampliada


Privacidade e LGPD

Atenção: o mcp-juridico-brasil acessa exclusivamente dados públicos disponibilizados pelo DataJud CNJ (Resolução CNJ 331/2020). Processos em segredo de justiça não são retornados pela API e não são acessados por este servidor. Nenhum dado processual é armazenado fora do ambiente local do usuário - exceto quando JURIDICO_SNAPSHOT_DIR é configurado explicitamente. O uso das ferramentas é de responsabilidade do profissional habilitado, em conformidade com a LGPD (Lei 13.709/2018), a Resolução CNJ 647/2025 e a OAB Recomendação 001/2024. Estas ferramentas não constituem consultoria jurídica.


Contribuindo

Contribuições são bem-vindas!

# 1. Clone o repositório ou seu fork
git clone https://github.com/DeHor-Labs/mcp-juridico-brasil.git
cd mcp-juridico-brasil

# 2. Instale as dependências de desenvolvimento
uv sync

# 3. Crie sua branch
git checkout -b feature/meu-recurso

# 4. Implemente, teste e verifique
pytest
ruff check src/
mypy src/

# 5. Abra um Pull Request

Veja as issues abertas - especialmente as marcadas com good first issue.

Cada módulo segue o padrão client.py + schemas.py + tools.py, tornando simples adicionar novos módulos processuais.


Projeto irmão

Este servidor faz par com o MCP Fiscal Brasil, que conecta IAs ao sistema fiscal brasileiro (NF-e, SPED, CNPJ, Simples Nacional, Reforma Tributária 2026):

github.com/DeHor-Labs/mcp-fiscal-brasil


Licença

MIT - veja LICENSE para detalhes.


Available Tools

9 tools
buscar_processo_por_numeroA

Busca os dados de um processo judicial pelo número CNJ.

Consulta a API pública DataJud (CNJ) e retorna metadados do processo, classe, assuntos, órgão julgador, partes e histórico de movimentações.

Cobertura: 91 tribunais (STF, STJ, TST, TSE, STM, TRF1-6, TRTs, TJs estaduais, TREs e militares estaduais).

ParametersJSON Schema
NameRequiredDescriptionDefault
tribunalNoSigla do tribunal (ex: 'TJSP', 'TRF4', 'STJ'). Se omitida, o sistema tenta localizar o processo em todos os tribunais (operação mais lenta).
numero_processoYesNúmero no formato CNJ (ex: '0001234-56.2023.8.26.0100') ou sem formatação (20 dígitos).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral burden. It adds meaningful context by revealing the tool consults the public DataJud API, covers 91 tribunals, and becomes slower when no tribunal is specified. It does not disclose potential failure modes, rate limits, or authentication expectations, but for a read-style public API lookup the disclosed context is reasonably helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded. The first sentence states the purpose, the second describes the data source and return contents, and the third gives relevant scope coverage. Every sentence contributes useful information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists and the input schema fully documents both parameters, the description is largely complete for direct invocation. It covers data source, scope, and return categories, though it does not provide explicit sibling-routing guidance or failure/error expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description reinforces the CNJ-number concept but adds no parameter-level meaning beyond what the schema provides, such as format requirements or the performance implication of omitting tribunal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Busca os dados de um processo judicial pelo número CNJ' and enumerates the returned data (metadados, classe, assuntos, órgão julgador, partes, movimentações). It is clear, but it does not explicitly differentiate this tool from closely related siblings such as listar_movimentacoes, which may also expose movement data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to look up process data by CNJ number and provides useful operational guidance about the slower search when tribunal is omitted. However, it never states when to prefer this tool over alternatives like listar_movimentacoes or resumir_andamento, nor does it mention exclusions or complementary use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calcular_proximo_prazoA

Calcula o próximo prazo processual em dias úteis com calendário forense.

Implementa art. 219 (dias úteis), art. 224 (termo inicial no dia seguinte) e art. 220 CPC (suspensão no recesso forense 20/dez a 20/jan).

ParametersJSON Schema
NameRequiredDescriptionDefault
ufNoSigla da UF para incluir feriados estaduais no cálculo (ex: 'SP', 'RJ', 'MG'). Se omitida, usa apenas feriados nacionais.
tipo_atoNoTipo do ato processual para selecionar prazo CPC (ex: 'Contestacao', 'Embargos de Declaracao'). Se omitido, usa prazo padrão de 15 dias úteis.
tribunalYesSigla do tribunal (ex: 'TJSP', 'TRF1').
numero_processoYesNúmero no formato CNJ (NNNNNNN-DD.AAAA.J.TT.OOOO).
data_intimacao_isoNoData de intimação/publicação em ISO 8601 (ex: '2025-01-15'). Se omitida, usa a data da última movimentação disponível no DataJud.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full behavioral burden. It discloses the key calculation behavior: business days, next-day start term, and judicial recess suspension from 20 Dec to 20 Jan. It does not describe fallback behavior or errors, but the core behavior is explicit and non-destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core purpose front-loaded and the legal details compactly presented. Every phrase contributes value and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for a calculation tool: it states the legal rules, the calendar scope, and the calculation behavior. The input schema thoroughly documents all parameters, and an output schema exists, so return values do not need to be explained in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds legal context but does not provide parameter-level semantics beyond what the schema already documents for uf, tipo_ato, tribunal, and data_intimacao_iso.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and object: 'Calcula o próximo prazo processual em dias úteis com calendário forense.' It also cites the exact CPC articles implemented, clearly distinguishing it from sibling tools such as buscar_processo_por_numero and listar_movimentacoes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the intended use obvious: calculate a procedural deadline using business days and forensic-calendar rules. It does not explicitly list exclusions or alternative tools, but none of the sibling tools appear to offer the same deadline-calculation function.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confirmar_leitura_intimacaoA

Confirma a leitura de uma intimação no Domicílio Judicial Eletrônico.

╔══════════════════════════════════════════════════════════════════╗ ║ AÇÃO DE ALTO RISCO - EFEITO JURÍDICO REAL E IRREVERSÍVEL ║ ║ ║ ║ Confirmar a leitura de uma intimação via API DJe: ║ ║ - Registra ciência oficial com timestamp no sistema do CNJ. ║ ║ - INICIA a contagem do prazo processual correspondente. ║ ║ - NÃO pode ser desfeito via API. ║ ╚══════════════════════════════════════════════════════════════════╝

GATE DE SEGURANÇA (duplo): Esta tool opera em modo dry-run (sem efeito) por padrão. Para executar com efeito jurídico real, ambas as condições abaixo devem ser satisfeitas:

  1. confirmar=True deve ser passado explicitamente nesta chamada.

  2. DJE_PERMITIR_CONFIRMACAO_LEITURA=true deve estar definida no ambiente.

Se qualquer uma das condições falhar, a tool retorna uma simulação sem qualquer chamada à API DJe - completamente seguro.

Credenciais necessárias (via variáveis de ambiente): DJE_CLIENT_ID - client_id OAuth2 DJE_CLIENT_SECRET - client_secret OAuth2 DJE_BEHALF_OF_CPF - CPF do responsável (auditoria) DJE_PERMITIR_CONFIRMACAO_LEITURA - deve ser 'true' para modo real

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmarNoDEVE ser True para indicar que o operador está ciente do efeito jurídico e deseja prosseguir. False por padrão. Mesmo com True, a operação só é executada se DJE_PERMITIR_CONFIRMACAO_LEITURA=true estiver no ambiente.
id_intimacaoYesID único da intimação no DJe (obtido via listar_intimacoes).
numero_processoYesNúmero CNJ do processo (ex: '0001234-56.2023.8.26.0100').

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses critical behaviors: dry-run mode by default, requirement for explicit confirmation, irreversibility, starts legal deadline, returns simulation if safety conditions not met. All behavioral traits are transparently stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with ASCII art and bullet points, front-loading the risk and purpose. It is longer than average, but every sentence is informative. Minor room for trimming, but the thoroughness is justified by the high-risk nature.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (high-risk, double gate, auth requirements), the description covers all necessities: use case, prerequisites, safety mechanism, output behavior (simulation vs real), and irreversibility. It is complete without needing output schema details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, yet the description adds significant value: 'confirmar' parameter is tied to the safety gate and operator awareness, 'id_intimacao' notes it comes from a sibling tool, and 'numero_processo' shows an example CNJ format. This goes well beyond the schema's brief descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool confirms reading a judicial summons (intimação) via DJe, with specific verb ('confirmar') and resource ('leitura de intimação'). It distinguishes itself from siblings like 'listar_intimacoes' by emphasizing the irreversible legal effect, making its purpose unique and clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use (confirming reading, with operator awareness of legal effect) and when not (for viewing only). It details prerequisites (environment variables) and the double safety gate, including that without 'confirmar=True' and the environment variable, only a simulation runs. This covers exclusions and alternatives implicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listar_intimacoesA

Lista comunicações processuais do Domicílio Judicial Eletrônico (DJe).

Operação SOMENTE LEITURA - sem efeito jurídico.

Retorna as intimações, citações e notificações recebidas no DJe para o CNPJ/CPF cadastrado via DJE_BEHALF_OF_CPF. Intimações em segredo de justiça têm o conteúdo suprimido; apenas metadados são exibidos.

Credenciais necessárias (via variáveis de ambiente): DJE_CLIENT_ID - client_id do OAuth2 (GeCli/DJe) DJE_CLIENT_SECRET - client_secret do OAuth2 (GeCli/DJe) DJE_BEHALF_OF_CPF - CPF do responsável (auditoria CNJ)

ParametersJSON Schema
NameRequiredDescriptionDefault
limiteNoNúmero máximo de comunicações a retornar (padrão: 50).
numero_processoNoNúmero CNJ para filtrar comunicações de um processo específico (ex: '0001234-56.2023.8.26.0100'). Se omitido, retorna todas as comunicações recentes.
apenas_pendentesNoSe True (padrão), retorna apenas comunicações ainda não confirmadas como lidas.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It explicitly states 'Operação SOMENTE LEITURA - sem efeito jurídico', discloses that secret-justice intimações have suppressed content, and lists required credentials. It does not cover pagination or error handling, but the disclosed traits are meaningful and not redundant.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose and read-only safety notice, followed by return behavior and a compact bulleted credential list. There is no redundant or filler text, and each sentence contributes essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for an agent to invoke the tool correctly: it explains the operation's read-only nature, the credential requirements, the filtering context, and the secret-justice special case. Since an output schema exists and the input schema is fully documented, nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (limite, numero_processo, apenas_pendentes) are already documented with defaults and examples. The description does not add parameter-level semantics beyond the schema, though it adds useful environment-variable context for authentication. A baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Lista comunicações processuais do Domicílio Judicial Eletrônico (DJe)', and clarifies the scope by enumerating intimações, citações e notificações. The focus on DJe communications and the read-only qualifier make it distinguishable from siblings like listar_movimentacoes and confirmar_leitura_intimacao.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly conveys that this is the read-only listing operation for DJe communications and specifies the required credential environment variables. It does not explicitly state when to prefer an alternative or when not to use this tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listar_movimentacoesA

Lista as movimentações mais recentes de um processo judicial.

Retorna o histórico de andamentos com código TPU, nome e data/hora, ordenado do mais recente para o mais antigo.

ParametersJSON Schema
NameRequiredDescriptionDefault
limiteNoNúmero máximo de movimentações a retornar (padrão 20, max 50).
tribunalYesSigla do tribunal (obrigatória nesta tool para evitar varredura de todos os índices).
numero_processoYesNúmero no formato CNJ.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It does disclose the output fields, ordering, and the performance rationale for the required tribunal parameter. However, it does not mention failure modes, pagination beyond the limit parameter, or any other side effects, though none seem likely for a read-only listing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loaded with the main purpose and followed by a concise statement of the return format and ordering. There is no fluff, and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with three parameters, complete schema coverage, and an output schema, the description is largely sufficient. It explains what is returned and the ordering. The only gap is the lack of explicit behavior around errors or edge cases, but these are less critical given the low complexity and read-only nature of the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already documented in the input schema. The tool description adds context about what is returned but does not add additional meaning to the parameters themselves. A baseline of 3 is appropriate when the schema already provides complete parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Lista') and a specific resource ('movimentações de um processo judicial'), and goes on to specify the returned fields and ordering. It does not explicitly differentiate from siblings like listar_intimacoes or resumir_andamento, but the resource is unambiguous enough that an agent can tell what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by the description: list recent movements for a judicial process. However, there is no explicit guidance on when to choose this tool over alternatives such as resumir_andamento or listar_intimacoes, nor any mention of exclusions or prerequisites. The tribunal parameter note adds a performance constraint but not usage routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listar_processos_monitoradosA

Lista processos com snapshot em memória na sessão atual.

Retorna os números de processos que tiveram snapshot salvo nesta sessão. Use o resource processo://{numero}/snapshot para ler os dados completos.

Returns: Dicionário com lista de números e total.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral burden. It discloses the in-memory, session-scoped nature and exactly what the tool returns (numbers list and total), making it evident that this is a read-only listing operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and informative, with the key scoping information front-loaded. However, the first two sentences largely restate the same idea ('Lista processos com snapshot' vs 'Retorna os números... snapshot salvo'), introducing minor redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter listing tool with an output schema, the description is fully sufficient. It explains what the tool does, what it returns, and how to obtain full snapshot data, leaving no critical gap for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters, so the baseline is 4. The description adds no parameter syntax, but none is needed; it still clarifies the output shape the agent should expect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Lista') and resource ('processos com snapshot em memória na sessão atual'). It clearly distinguishes itself from siblings like monitorar_processo by narrowing the scope to session-scoped saved snapshots and pointing to the processo://resource for full data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly defines its context: a session-limited listing of snapshots. The instruction to use the processo://{numero}/snapshot resource for full data provides a useful boundary, though it does not explicitly name alternative tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listar_tribunaisA

Lista todos os tribunais suportados pelo MCP (91 ao total).

Retorna siglas que podem ser usadas no parâmetro 'tribunal' das demais tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the behavioral disclosure burden. 'Lista' implies a read-only operation, and the description explicitly states it returns siglas usable downstream, clarifying the main behavioral and output contract. It does not mention pagination, ordering, or side effects, but for a simple zero-parameter enumeration tool this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no redundant content. It front-loads the core purpose (listing supported tribunals) and then explains the practical value of the return values. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple zero-parameter list operation with an output schema available, the description fully covers what the tool does and why it matters. It states the total count, the output content (siglas), and the relationship to other tools' parameters. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. There is no parameter description needed, and the description adds relevant context by explaining that the returned siglas feed into the 'tribunal' parameter of other tools, which is more useful than simply noting there are no inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Lista') with a clear resource ('todos os tribunais suportados pelo MCP') and adds a precise scope detail (91 total). It also states what the tool returns and how that output is used, making it clearly distinct from the many other 'listar_*' sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly indicates the tool's purpose: to provide valid court acronyms for the 'tribunal' parameter of other tools. This implies when an agent needs to know supported tribunals before calling other tools, this is the one to use. It does not explicitly state when not to use it or mention alternatives, but no competitors exist among the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

monitorar_processoA

Verifica se um processo teve atualização após a data informada.

Implementação Fase 2: polling via DataJud (sem tempo real). Fase 3 substituirá por notificação push via provider comercial.

ParametersJSON Schema
NameRequiredDescriptionDefault
tribunalYesSigla do tribunal (obrigatória para monitoramento).
desde_isoYesData/hora de referência em formato ISO 8601 (ex: '2024-01-15T08:00:00').
numero_processoYesNúmero no formato CNJ.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It usefully states that this is a polling implementation with no real-time guarantee and that a push notification phase is planned. However, it does not cover failure modes, rate limits, or an explicit read-only guarantee.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main behavior and followed by a concise implementation note. Every sentence earns its place and there is no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple check-oriented tool with fully documented parameters and an output schema, the description is mostly complete. It could be stronger on when to use alternatives and edge-case behavior, but the core invocation context, including the polling/no-real-time caveat, is covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all three parameters, including ISO format and CNJ format requirements. The description adds little beyond the phrase 'após a data informada', but the schema does the heavy lifting, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action and resource: it checks whether a process had an update after a given date. This is specific enough to understand the core function, but it does not explicitly differentiate from siblings such as executar_monitoramento_em_lote or listar_movimentacoes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: call this tool to determine whether a process was updated after a date. The mention of polling via DataJud without real-time capability is useful context, but the description does not explicitly say when to prefer alternatives like executar_monitoramento_em_lote or listar_movimentacoes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resumir_andamentoA

Retorna dados estruturados de um processo para geração de resumo pelo LLM.

Esta tool busca o processo no DataJud e devolve os dados formatados junto com instruções para que o modelo gere o resumo em linguagem natural. O processamento semântico (resumo) fica no modelo, não no MCP.

ParametersJSON Schema
NameRequiredDescriptionDefault
tribunalNoSigla do tribunal. Se omitida, o sistema pesquisa em todos.
numero_processoYesNúmero no formato CNJ.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly signals read-only behavior with verbs like 'Retorna', 'busca', and 'devolve', and usefully discloses that the output includes instructions and that the MCP does not perform semantic summarization. It does not discuss side effects, permissions, or rate limits, but the read-only nature is evident.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core purpose in the first sentence and operational context plus the crucial MCP/model boundary in the following sentences. Every sentence earns its place; there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple parameter set, full schema descriptions, and the presence of an output schema, the description is complete enough for correct invocation. It states the data source, what is returned, and explicitly clarifies that summary generation is the model's responsibility, preventing a common misconception.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% parameter coverage, including CNJ format for numero_processo and the tribunal default behavior, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the operation: retrieving structured process data from DataJud for LLM-generated summaries. It distinguishes itself by stating that semantic summarization is intentionally left to the model, not the MCP, which separates it from raw-data-fetching or drafting siblings. However, it does not explicitly name sibling tools or exclusion criteria, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: the agent should use this tool when it needs to produce a natural-language case summary, since the description says the data is returned 'para geração de resumo pelo LLM'. Yet there is no explicit when-to-use/when-not-to-use guidance and no reference to alternatives like buscar_processo_por_numero for raw process data.

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.

  1. 9 tool updatesv0.1.0
    • First observedbuscar_processo_por_numero
    • First observedcalcular_proximo_prazo
    • First observedconfirmar_leitura_intimacao
    • First observedlistar_intimacoes
    • First observedlistar_movimentacoes
    • First observedlistar_processos_monitorados
    • First observedlistar_tribunais
    • First observedmonitorar_processo
    • First observedresumir_andamento

TDQS

A4.1/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct function: listing monitored processes, searching by number, listing courts, listing movements, generating structured summaries, monitoring updates, calculating deadlines, listing summons, and confirming reading. There is no overlap or ambiguity between these operations.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., listar_processos_monitorados, calcular_proximo_prazo). The naming is predictable and in Portuguese, matching the domain.

Tool Count5/5

With 9 tools, the server is well-scoped for managing Brazilian legal processes. Each tool serves a clear purpose without redundancy, covering search, listing, monitoring, and actions related to summons.

Completeness4/5

The tool set covers core workflows: searching by number, listing courts and movements, monitoring updates, calculating deadlines, and managing summons. Minor gaps exist, such as a general process search or bulk listing, but these are not critical for the intended legal assistant use case.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables interaction with Brazil's Electronic Judicial Process (PJe) system to search for legal processes, view case details, and download court documents. Supports secure JWT authentication and process lookup by CPF/CNPJ or party name.
    -
  • A
    license
    B
    quality
    C
    maintenance
    Connects AI assistants to Brazilian judicial data via DataJud CNJ, LexML, and local corpus, enabling process consultation, legal research, and document generation with Visual Law.
    26
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables querying public Brazilian court proceedings metadata and movements via the CNJ/DataJud API, covering multiple courts.
    2
    MIT