Skip to main content
Glama
mcp-juridico-brasil

mcp-juridico-brasil

by ehrodan

⚡ Comece em 60 segundos

Sem clonar nada, sem configurar ambiente — direto do PyPI:

uvx mcp-juridico-brasil

Plugando no Claude Code em um comando:

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

Pronto: seu assistente passa a consultar processos nos 91 tribunais (DataJud CNJ), pesquisar legislação no LexML, calcular prazos do CPC em dias úteis, montar minutas e gerar documentos Visual Law auditáveis. Configuração completa por cliente (Claude Desktop, Cursor, .mcp.json) logo abaixo.

📌 Este repositório é a vitrine da versão atual (v0.5.0) publicada por @ehrodan. Snapshot pronto para instalar e integrar.


Related MCP server: mcp-juridico-brasil

O que é

mcp-juridico-brasil conecta assistentes de IA, escritórios de advocacia e sistemas de gestão processual ao DataJud CNJ, ao Domicílio Judicial Eletrônico, ao LexML Brasil e a um corpus jurídico local em SQLite. A camada processual cobre 91 tribunais; a camada normativa pesquisa metadados, sincroniza textos oficiais, cria embeddings locais por artigo, recupera fundamentos com fonte e SHA-256 e produz escrita estruturada com auditoria de fonte original e Visual Law.

O servidor não é um catálogo genérico de dados públicos. A proposta é transformar consultas judiciais e normativas fragmentadas em tools seguras, componíveis e prontas para agentes - com cálculo de prazos em dias úteis, monitoramento em lote, snapshots persistentes e confirmação humana obrigatória para qualquer ação com efeito jurídico.


Ferramentas disponíveis

Tools processuais, normativas e de automação prontas para uso.

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

executar_monitoramento_em_lote

Ciclo RPA finito, concorrente e tolerante a falhas para até 50 processos; somente leitura

DataJud CNJ

Pesquisa legislativa e jurídica

Ferramenta

Descrição

Fonte

pesquisar_lexml

Pesquisa por termos, título, ementa, assunto ou URN, com filtros e paginação

LexML Brasil SRU/CQL

resolver_urn_lexml

Valida uma URN LEX brasileira e monta o resolvedor persistente oficial

Offline + URL LexML

Vigência: LexML é usado para descoberta, identificação e ligação. Confirme texto consolidado, alterações, revogações e data de corte na autoridade publicadora competente antes de fundamentar qualquer ato jurídico.

Corpus inteligente, embeddings e minutas

Tool

Descrição

Persistência/fonte

listar_fontes_corpus_juridico

Catálogo curado das principais leis e códigos

Planalto

sincronizar_corpus_juridico

RPA finito: baixa HTML oficial, remove texto revogado, separa artigos, calcula SHA-256 e embeddings

SQLite local

consultar_corpus_juridico

Busca híbrida por embedding local (72%) e cobertura lexical (28%)

SQLite local

estatisticas_corpus_juridico

Cobertura, datas, hashes, fonte e localização do banco

SQLite local

preparar_minuta_juridica

Contratos, CT, termos, petições, contestações, notificações, pareceres e políticas de privacidade

Corpus local

listar_tipos_minuta_juridica

Tipos de minuta e campos recomendados

Offline

construir_argumento_juridico

Matriz Fato→Prova→Norma→Subsunção→Consequência→Pedido, com bloqueios explícitos

Corpus local

auditar_citacoes_juridicas

Recusa agregador, LexML isolado e jurisprudência sem inteiro teor oficial

Corpus + allowlist oficial

gerar_documento_visual_law

HTML acessível, responsivo e imprimível, mais sidecar JSON auditável

data/visual-law/

O embedding padrão é determinístico, auditável e não envia texto para APIs externas. Ele não é um modelo neural. Cada resultado traz o texto do artigo, URL oficial, data da consulta e hash da versão baixada.

Fluxo recomendado:

1. listar_fontes_corpus_juridico
2. sincronizar_corpus_juridico(fontes=["constituicao", "codigo_civil", "cpc", "clt", "lgpd"])
3. consultar_corpus_juridico(pergunta="Quais regras protegem dados pessoais no contrato?")
4. preparar_minuta_juridica(tipo_documento="ct", objetivo="...", dados={...})
5. construir_argumento_juridico(tese="...", fatos=[{"descricao": "...", "prova": "..."}], pedido="...")
6. gerar_documento_visual_law(titulo="...", tese="...", fatos=[...], pedido="...")

O RPA aceita somente HTTPS nos hosts allowlisted do Planalto, limita concorrência e tamanho, recusa desafios de segurança e substitui cada lei em transação. Se uma fonte falhar, a última versão local válida é preservada.

Na cópia da Área de Trabalho, os atalhos SINCRONIZAR-LEIS.cmd e INICIAR-MCP.cmd executam o RPA e o servidor usando o ambiente isolado do próprio projeto.

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)

-

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

JURIDICO_HTTP_TIMEOUT

Timeout em segundos para chamadas HTTP

30

LEXML_BASE_URL

Endpoint oficial SRU 1.1

https://www.lexml.gov.br/busca/SRU

LEXML_CACHE_TTL

Cache local de pesquisas LexML, em segundos

900

LEXML_RATE_LIMIT

Máximo de chamadas LexML por segundo

2

JURIDICO_CORPUS_DB

Banco SQLite do corpus local

data/corpus_juridico.sqlite3

JURIDICO_EMBEDDING_DIMENSIONS

Dimensão do embedding local

384

JURIDICO_VISUAL_LAW_DIR

HTMLs Visual Law e auditorias JSON gerados

data/visual-law


Arquitetura

Claude / GPT / Cursor / qualquer cliente MCP
              |
              | Model Context Protocol (stdio)
              v
    mcp-juridico-brasil
              |
    +---------+---------+-----------+----------+--------+----------+
    |         |         |           |          |        |          |
 Processos  DJe     Automação   Snapshots   Prazos   LexML     Corpus/RAG
    |         |         |           |          |        |          |
    v         v         v           v          v        v          v
 DataJud  API Comunica DataJud   mem/disco Calendário SRU/CQL  SQLite+hash
   CNJ       CNJ      (lote)                  offline  + URN    embedding

Fontes de dados:

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

  • LexML Brasil - metadados jurídicos, padrão URN LEX e resolvedor persistente

  • Planalto - textos legais oficiais sincronizados no corpus local

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

Diagramas executáveis e UML ficam em docs/arquitetura/. A política de escrita, fonte original e Visual Law está em docs/POLITICA-ESCRITA-JURIDICA-VISUAL-LAW.md.


Roadmap

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

  • v0.2.x - Snapshot atômico, prazos, DJe com gate duplo, LexML SRU/CQL e monitoramento RPA em lote

  • v0.3.x - Corpus oficial local, embeddings por artigo, busca híbrida, RPA de leis e minutas ancoradas

  • v0.4.x - Fontes oficiais alternativas para contingência LexML e extração estruturada de publicações

  • 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

26 tools
auditar_citacoes_juridicasC

Recusa agregador, LexML isolado e jurisprudência sem inteiro teor oficial.

Inputs: citacoes (required). Returns: object

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).

Inputs: numero_processo (required), tribunal. Returns: object

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).

Inputs: tribunal (required), numero_processo (required), uf, tipo_ato, +1 more. Returns: object

confirmar_leitura_intimacaoConfirmar leitura de intimação no DJeA
Destructive

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

Inputs: id_intimacao (required), numero_processo (required), confirmar. Returns: object

construir_argumento_juridicoC

Estrutura Fato→Prova→Norma→Subsunção→Consequência→Pedido com fontes locais.

Inputs: tese (required), fatos (required), pedido (required), lei, +2 more. Returns: object

consultar_corpus_juridicoC

Busca por quatro perspectivas explicáveis, com fonte e redução de redundância.

Inputs: pergunta (required), lei, limite, jurisdicao, +3 more. Returns: object

diagnosticar_neurodiversidade_juridicaC

Explica como as perspectivas votaram e onde houve discordância ou repetição.

Inputs: pergunta (required), lei, limite, jurisdicao, +3 more. Returns: object

estatisticas_corpus_juridicoA

Mostra cobertura, datas, hashes e localização do banco jurídico local.

Inputs: no named parameters. Returns: object

executar_monitoramento_em_loteA

Executa um ciclo RPA finito e tolerante a falhas para ate 50 processos.

Cada alvo deve conter numero_processo, tribunal e desde_iso. Alvos duplicados sao consultados uma unica vez. Falha em um processo nao cancela os demais. A rotina e somente leitura: nunca confirma comunicacao/intimacao no DJe.

Inputs: alvos (required), concorrencia. Returns: object

gerar_documento_visual_lawB

Gera HTML Visual Law autocontido e auditoria JSON, sempre sujeito a revisão humana.

Inputs: tese (required), fatos (required), pedido (required), titulo (required), +4 more. Returns: object

gerar_documento_word_juridicoC

Gera DOCX formal a partir do harness, com fontes clicáveis e gates visíveis.

Inputs: tese (required), fatos (required), pedido (required), titulo (required), +4 more. Returns: object

listar_fontes_corpus_juridicoA

Lista as leis principais e URLs oficiais aceitas pelo RPA local.

Inputs: no named parameters. Returns: object

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)

Inputs: limite, numero_processo, apenas_pendentes. Returns: object

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.

Inputs: tribunal (required), numero_processo (required), limite. Returns: object

listar_normas_regulamentadorasA

Vasculha o catálogo oficial do MTE e lista NRs vigentes e revogadas.

Inputs: no named parameters. Returns: object

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.

Inputs: no named parameters. Returns: object

listar_tipos_minuta_juridicaA

Lista minutas suportadas e os campos recomendados para cada uma.

Inputs: no named parameters. Returns: object

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.

Inputs: no named parameters. Returns: object

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.

Inputs: tribunal (required), desde_iso (required), numero_processo (required). Returns: object

pesquisar_lexmlA

Pesquisa metadados juridicos no acervo oficial LexML via SRU/CQL.

Campos aceitos: todos, titulo, ementa, assunto e urn. Filtros opcionais restringem tipo de documento, localidade, autoridade e intervalo de anos. Retorna URN persistente, ementa, assuntos e link do resolvedor oficial.

Inputs: termos (required), campo, limite, pagina, +5 more. Returns: object

preparar_minuta_juridicaB

Prepara minuta e prompt profissional ancorados nos artigos locais.

Aceita contrato, contrato_trabalho (ou ct), termo, peticao_inicial, contestacao, notificacao_extrajudicial, parecer, requerimento e politica_privacidade. O resultado sempre exige revisão humana.

Inputs: dados (required), objetivo (required), tipo_documento (required), tom. Returns: object

redigir_argumento_juridicoC

Executa o harness de regra, prova, aplicação, contraditório e revisão.

Inputs: tese (required), fatos (required), pedido (required), lei, +2 more. Returns: object

resolver_urn_lexmlA

Valida uma URN LEX brasileira e devolve seu resolvedor oficial.

Esta operacao e deterministica e nao consulta a rede. Abrir o URL retornado continua sujeito a disponibilidade e verificacao de seguranca do portal.

Inputs: urn (required). Returns: object

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.

Inputs: numero_processo (required), tribunal. Returns: object

sincronizar_corpus_juridicoA

RPA finito que baixa, separa, embeda e salva artigos de fontes oficiais.

Sem fontes, sincroniza todo o catálogo principal. Use códigos retornados por listar_fontes_corpus_juridico. Execuções repetidas usam SHA-256 e não reindexam documentos sem alteração.

Inputs: fontes, concorrencia. Returns: object

sincronizar_normas_regulamentadorasB

Descobre PDFs vigentes no MTE, extrai itens e persiste embeddings com SHA-256.

Inputs: nrs, concorrencia. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 26 tools

    Disambiguation3/5

    Most tools target distinct resources, but the argument/document drafting cluster (construir_argumento_juridico, redigir_argumento_juridico, preparar_minuta_juridica, gerar_documento_word_juridico) has overlapping boundaries, and resumir_andamento could be confused with listar_movimentacoes. Descriptions help, but an agent still faces real selection risk.

    Naming Consistency4/5

    Nearly all tools follow a consistent Portuguese snake_case verb_noun pattern such as buscar_processo, listar_movimentacoes, and sincronizar_corpus_juridico. Minor deviations like gerar_documento_visual_law and gerar_documento_word_juridico mix English terms, but the overall convention is predictable.

    Tool Count2/5

    With 26 tools, the server exceeds the 25+ threshold and combines several subdomains: process tracking, LexML, local corpus, NRs, and legal document generation. The breadth is defensible, but the surface is heavy and would be more navigable if split into focused servers.

    Completeness4/5

    The tool surface covers the main legal workflows: process lookup, movements, deadlines, monitoring, intimations, legal research, corpus maintenance, and document generation. Minor gaps exist, such as no direct jurisprudence search and no way to stop/remove monitored processes, but agents can work around them.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    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
      A
      quality
      B
      maintenance
      Connects AI assistants to Brazilian judicial data from DataJud CNJ and 91 courts, enabling process consultation, monitoring, and deadline calculation under the Civil Procedure Code.
      9
      96 PyPI
      135
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables querying public Brazilian court proceedings metadata and movements via the CNJ/DataJud API, covering multiple courts.
      4
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to read, search, and create/edit legal practice management data in Projuris ADV, including cases, people, tasks, updates, timesheet, files, contracts, subjects, court notices, service records, finance, and users via REST.
      1
      MIT