mcp-juridico-brasil
Click on "Install 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., "@mcp-juridico-brasilConsultar processo 0000001-12.2024.8.26.0100"
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.
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 |
| Consulta completa de processo pelo número CNJ (NNNNNNN-DD.AAAA.J.TT.OOOO) | DataJud CNJ |
| Histórico de andamentos processuais com filtro por data | DataJud CNJ |
| Dados do processo mais instrução de resumo para o modelo de linguagem | DataJud CNJ |
| Verifica atualizações desde uma data (polling com snapshot em memória) | DataJud CNJ |
| Lista processos com snapshot salvo na sessão atual | Memória local |
Cálculo de prazos processuais
Ferramenta | Descrição | Referência |
| 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 |
| Lista todas as 91 siglas suportadas (Portaria CNJ 160/2020) | Offline |
Resource MCP
Resource | Descrição |
| Último snapshot capturado de um processo monitorado |
Instalação
A forma mais simples, sem instalar nada permanentemente:
uvx mcp-juridico-brasilO 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@latestouuvx --refresh mcp-juridico-brasilpara 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-brasilA partir do código-fonte
git clone https://github.com/DeHor-Labs/mcp-juridico-brasil.git
cd mcp-juridico-brasil
uv syncConfiguraçã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-brasilPara incluir a chave de API:
DATAJUD_API_KEY=sua-chave-aqui claude mcp add juridico-brasil -- uvx mcp-juridico-brasilCursor / .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 |
| Chave de acesso ao DataJud CNJ (necessária para consultas) | - |
| Nível de log: |
|
| Diretório para persistência de snapshots em arquivo (opcional) | memória |
| Timeout em segundos para chamadas HTTP ao DataJud |
|
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-brasilacessa 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 quandoJURIDICO_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 RequestVeja 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 toolsbuscar_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).
| Name | Required | Description | Default |
|---|---|---|---|
| tribunal | No | Sigla do tribunal (ex: 'TJSP', 'TRF4', 'STJ'). Se omitida, o sistema tenta localizar o processo em todos os tribunais (operação mais lenta). | |
| numero_processo | Yes | Número no formato CNJ (ex: '0001234-56.2023.8.26.0100') ou sem formatação (20 dígitos). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure. It describes the API source, coverage, and behavior with/without tribunal. However, it does not mention error handling (e.g., if number not found), rate limits, or authentication, leaving gaps.
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 concise, at three short lines, and front-loaded with the core purpose. It includes necessary details without wordiness. Slight improvement could be structuring with bullet points, but it's effective.
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 complexity (searching across many courts, returning various data fields), the description covers the main aspects: purpose, data source, coverage, and an important usage nuance (tribunal omission). An output schema exists, so return values need not be detailed.
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?
Schema coverage is 100%, so the schema already documents both parameters' formats and behavior. The description adds no additional meaning to the input parameters beyond what is in the schema. Baseline 3 is appropriate.
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 for judicial process data by CNJ number, specifying it uses the DataJud API and returns metadata, class, subjects, court, parties, and movements. This distinguishes it from siblings like 'listar_processos_monitorados' or 'listar_tribunais'.
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 guidance on when to specify 'tribunal' vs omitting it, noting that omission triggers a slower search across all courts. It also mentions coverage of 91 courts, helping the agent decide context. No explicit when-not-to-use, but clear enough.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| uf | No | Sigla da UF para incluir feriados estaduais no cálculo (ex: 'SP', 'RJ', 'MG'). Se omitida, usa apenas feriados nacionais. | |
| tipo_ato | No | Tipo do ato processual para selecionar prazo CPC (ex: 'Contestacao', 'Embargos de Declaracao'). Se omitido, usa prazo padrão de 15 dias úteis. | |
| tribunal | Yes | Sigla do tribunal (ex: 'TJSP', 'TRF1'). | |
| numero_processo | Yes | Número no formato CNJ (NNNNNNN-DD.AAAA.J.TT.OOOO). | |
| data_intimacao_iso | No | Data 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 the implementation of legal articles (business days, start on next day, suspension during recess), offering algorithmic transparency. However, it does not mention whether the tool is read-only or any 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 concise with two sentences: the first clearly states the tool's function, and the second lists relevant legal articles. No redundant words, and the key information is front-loaded.
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?
The tool has a complex purpose (deadline calculation with legal rules), and the description covers the algorithmic logic. With an output schema present for return format and full parameter documentation, it is mostly complete, though usage guidelines could be more explicit.
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?
Schema description coverage is 100%, so the input schema already documents all parameters. The tool description adds no additional parameter semantics beyond what is in the schema, so a baseline score of 3 is appropriate.
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 calculates the next procedural deadline in business days using the forensic calendar, which is a specific verb+resource combination. This distinguishes it from sibling tools like listar_processos_monitorados (list) and buscar_processo_por_numero (search by number).
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 for calculating deadlines but does not explicitly state when to use it vs alternatives or provide exclusions. While sibling tools are distinct, the lack of explicit guidance prevents a higher score.
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:
confirmar=True deve ser passado explicitamente nesta chamada.
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
| Name | Required | Description | Default |
|---|---|---|---|
| confirmar | No | DEVE 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_intimacao | Yes | ID único da intimação no DJe (obtido via listar_intimacoes). | |
| numero_processo | Yes | Número CNJ do processo (ex: '0001234-56.2023.8.26.0100'). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| limite | No | Número máximo de comunicações a retornar (padrão: 50). | |
| numero_processo | No | Nú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_pendentes | No | Se True (padrão), retorna apenas comunicações ainda não confirmadas como lidas. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses read-only nature, secret justice suppression, and required credentials. However, it lacks details on rate limits, error behavior, or pagination beyond the limite parameter.
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 reasonably concise, front-loading purpose and read-only warning. Every sentence adds value, though the credential list could be slightly shorter if integrated.
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?
Output schema exists, so return values need not be detailed. The description covers read-only nature, secret justice, and credentials, but misses pagination behavior, ordering, or what recent means for default limite.
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?
Schema coverage is 100% with good parameter descriptions. The overall description adds minimal additional semantics for parameters beyond the schema, but the credential environment variables are helpful context.
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 it lists communications from DJe (intimações, citações, notificações) and specifies it is read-only. It distinguishes itself from siblings like confirmar_leitura_intimacao by explicit read-only nature, though not referencing siblings directly.
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 says it is a read-only operation but does not explicitly guide when to use this tool versus alternatives like confirmar_leitura_intimacao or listar_processos_monitorados. Usage context is implied but not contrasted.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limite | No | Número máximo de movimentações a retornar (padrão 20, max 50). | |
| tribunal | Yes | Sigla do tribunal (obrigatória nesta tool para evitar varredura de todos os índices). | |
| numero_processo | Yes | Número no formato CNJ. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 does not disclose behavioral traits such as read-only nature, required permissions, rate limits, or potential side effects. The description only states what it returns, not how it behaves or constraints.
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 two sentences, front-loaded with the primary action, and contains no extraneous information. Every sentence adds value 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 has an output schema and 3 parameters, the description covers the return fields but omits details on error handling, pagination, or performance implications. It is adequate but not thorough.
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?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema for the parameters; it mentions the output format but no additional parameter nuance. Hence, neutral contribution.
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 lists recent movements of a judicial process, specifying it returns history with TPU code, name, date/time, ordered from newest to oldest. It distinctly differentiates from siblings like 'listar_processos_monitorados' which lists monitored processes.
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 when to use (when needing recent movements of a process) but provides no explicit guidance on when not to use or alternatives. Given sibling tools like 'resumir_andamento' exist, the lack of comparative context is a missed opportunity.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavior. It describes a read-only listing without side effects, but lacks details on authorization or session prerequisites.
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 concise and front-loaded, with two short sentences plus a returns line. Every sentence adds value 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 no parameters and an existing output schema, the description provides sufficient context for a simple listing tool, including return format and next-step resource.
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 input schema has zero parameters, so no parameter explanation is needed. The description adds value by clarifying what the listing includes (snapshot in memory).
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 lists processes with snapshots in memory for the current session, distinguishing it from siblings like buscar_processo_por_numero and monitorar_processo.
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?
It indicates when to use (after snapshots have been saved) and directs to a resource for full data, but does not explicitly state when not to use or compare with alternatives.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states the tool returns acronyms for use in other tools but does not describe the output structure or any side effects. Basic behavior is covered, but lacks depth.
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?
Two concise sentences with no wasted words. Front-loaded with the core purpose, followed by practical guidance.
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 zero parameters and a read-only list function, the description is reasonably complete. It explains the purpose and usage of the output. It could describe the output schema more, but that is likely covered separately.
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 tool has zero parameters, so schema coverage is 100% by default. The description adds value by explaining how the output connects to other tools, which is useful context beyond the empty input 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 lists all supported courts, using a specific verb and resource. It distinguishes from sibling tools that deal with processes, not courts.
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 explicitly states the returned acronyms can be used as the 'tribunal' parameter in other tools, implying when to use this tool. It does not provide explicit when-not conditions, but context is clear.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tribunal | Yes | Sigla do tribunal (obrigatória para monitoramento). | |
| desde_iso | Yes | Data/hora de referência em formato ISO 8601 (ex: '2024-01-15T08:00:00'). | |
| numero_processo | Yes | Número no formato CNJ. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool uses polling (not real-time) and mentions future push notification, but does not detail side effects, authorization needs, or rate limits. Basic behavioral context is given but not comprehensive.
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 concise: one sentence for purpose and two for implementation status. It is front-loaded with the core function. The technical details (DataJud, phases) are useful but could be considered slightly verbose for an agent; however, overall it is efficient.
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 3 parameters with full schema coverage and an existing output schema, the description is fairly complete. It explains the check and the data reference point. It does not mention prerequisites (e.g., whether the process must be pre-registered) but sibling tools suggest coverage. Slight gap in overall context.
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?
Input schema has 100% coverage; each parameter already has a description. The tool description adds no additional meaning beyond referencing 'data informada' which maps to 'desde_iso'. Baseline of 3 is appropriate as the description provides no extra value over 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: check if a process has an update after a given date. The verb 'verifica' and resource 'processo' are specific, and it distinguishes from sibling tools like 'buscar_processo_por_numero' or 'listar_processos_monitorados' by focusing on update checking.
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 via implementation phases (polling, not real-time) but does not explicitly state when to use this tool versus siblings like 'buscar_processo_por_numero' or 'listar_movimentacoes'. No direct comparison or alternatives are provided, so guidance is only implicit.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tribunal | No | Sigla do tribunal. Se omitida, o sistema pesquisa em todos. | |
| numero_processo | Yes | Número no formato CNJ. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavior. It states it fetches from DataJud and returns formatted data with instructions, but lacks details on side effects, authentication, rate limits, or error handling.
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?
Three sentences, front-loaded with purpose, no redundant information. Slightly verbose second sentence could be tightened but overall efficient.
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 has two parameters (one required) and an output schema, the description adequately covers the purpose and behavior. It could mention that the return includes instructions, but that's implied.
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?
Schema coverage is 100% with descriptions for both parameters. The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 applies.
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 it returns structured data for LLM summarization, distinguishing it from sibling tools like buscar_processo_por_numero which likely fetch raw data. It explicitly notes that semantic processing remains with the model, not the MCP.
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 for generating summaries but does not explicitly state when to use or avoid this tool versus alternatives. No direct comparison or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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.
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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Public lookup of Brazilian court cases (metadata + docket) via the CNJ/DataJud API. Free, no login.
Full lookup of a person's or company's lawsuits from the CPF or CNPJ, with per-case detail. Platform
Brazilian legal stack in one MCP: lawsuits, court publications, case law, tenders, certificates.
Simplified lookup of a person's or company's lawsuits from the CPF or CNPJ. Platform-hosted, no cred
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables 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.
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to provide Portuguese legal advice by exposing legal calculators, templates, and reference documents through the MCP protocol.MIT
- FlicenseNot gradedqualityCmaintenanceEnables natural language querying of Brazil's Federal Justice 1st Region electronic court system (PJe-TRF1) for both 1st and 2nd degrees, allowing users to check pending expedients, deadlines, case details, and download documents via an automated login and read-only MCP server.2
- AlicenseBqualityCmaintenanceConnects AI assistants to Brazilian judicial data via DataJud CNJ, LexML, and local corpus, enabling process consultation, legal research, and document generation with Visual Law.261MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DeHor-Labs/mcp-juridico-brasil'
If you have feedback or need assistance with the MCP directory API, please join our Discord server