
Leis do Brasil
io.github.mazuloPublished by GitHub account mazulov0.2.0Updated Nov 4, 2026
Busca e cita o texto oficial de mais de 1,2 milhão de normas brasileiras (ctresb/leis).
Overview
Leis do Brasil's local MCP server; no sign-in required; STDIO.
No AI overview yet: these facts come from the registry entry and the server itself.
Installation
In SourceWeft
- Open Leis do Brasil in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Busque e cite o texto oficial de mais de 1,2 milhão de normas brasileiras sem sair do seu assistente.
[PyPI] [CI] [Python 3.12+] [MCP] [Normas] [uv] [Docker] [License: MIT]
Início rápido · Ferramentas · Clientes · Como funciona · Limitações
Clique na imagem para ver a demonstração (25 s, com música).
leis-mcp é um servidor MCP que dá ao Claude Code, ao Claude Desktop, ao Cursor, ao VS Code, ao Codex e a qualquer cliente MCP acesso à legislação brasileira do repositório público ctresb/leis. Em vez de parafrasear de memória, o assistente busca a norma, lê o dispositivo e cita o texto exato, com a fonte oficial e os avisos de revogação.
[!IMPORTANT] O texto é convertido automaticamente das fontes oficiais e pode conter erros de conversão ou OCR. Ele não substitui a publicação no Diário Oficial. Toda resposta do servidor traz o link
fontee esse aviso.
Destaques
- 📜 Texto exato. Artigo, parágrafo, inciso e alínea, com o caput como contexto e a citação pronta (
art. 23, III). - 🔗 Sempre com fonte. Cada resposta traz o link oficial (
normas.leg.br, LexML) e o caminho no acervo. - ⚠️ Avisos automáticos. Norma revogada, texto não compilado, dispositivo revogado ou vetado, trecho tachado.
- 🗂️ Acervo inteiro. Normas federais, estaduais, municipais e de reguladores, com mais de 40 apelidos (
CLT,CDC,LGPD,lei do inquilinato…). - ⚡ Rápido e local. Índice SQLite pronto, atualizado toda semana, e conteúdo baixado sob demanda e conferido pelo hash do blob. O que está em cache funciona offline.
- 🔒 Só leitura. O repositório de origem nunca é alterado.
Início rápido
[!TIP] Usa o Claude Desktop e não quer mexer no terminal? Baixe o leis-mcp.mcpb e abra o arquivo. O Claude Desktop mostra a tela de instalação e cuida do resto, inclusive do Python.
Requisito: uv. O ripgrep (rg) é recomendado.
Pronto. Pergunte ao Claude: "O inquilino é obrigado a devolver o imóvel como recebeu? Cite a lei."
[!TIP]
uvx leis-mcp warmpré-carrega as ~40 normas dos apelidos, para quebuscar_textosemnormajá tenha onde procurar.
A partir do código-fonte
Ferramentas
Exemplo de resposta de ler_artigo("8245/1991", "23", inciso="III")
Apelidos aceitos
- Constituição:
constituição/CF,ADCT - Códigos:
código civil/CC,CPC,código penal/CP,CPP,CLT,CDC,CTN,CTB,código eleitoral,código florestal - Estatutos:
ECA,estatuto do idoso,estatuto da OAB,estatuto da cidade,estatuto do desarmamento,LBI - Leis:
lei do inquilinato,lei dos juizados,LGPD,marco civil da internet,maria da penha,nova lei de licitações,lei de improbidade administrativa,lei de drogas,LEP,lei de falências,LINDB,lei do mandado de segurança,lei da ação civil pública,LAI,LRF,simples nacional,lei anticorrupção,lei de arbitragem,lei de abuso de autoridade
Exemplos de perguntas
Clientes
Funciona em qualquer cliente MCP. Todos rodam o mesmo comando, uvx leis-mcp serve, depois de um uvx leis-mcp index. A maioria aceita esta configuração padrão:
[Baixar a extensão para o Claude Desktop] [Instalar no Cursor] [Instalar no VS Code] [Instalar no VS Code Insiders]
[!NOTE] Apps de interface gráfica no macOS (Claude Desktop, Cursor, Windsurf) nem sempre herdam o
PATHdo terminal. Se o cliente não achar ouvx, troque"uvx"pelo caminho absoluto quewhich uvxmostra.
Claude Code
Use -s user para disponibilizar em todos os projetos e -s project para gravar em .mcp.json.
Claude Desktop
O jeito mais simples é a extensão: baixe o leis-mcp.mcpb, abra o arquivo e clique em Instalar. Não precisa de terminal, uv nem Python: o Claude Desktop instala tudo. Na primeira pergunta ele baixa o índice (~100 MB), o que leva um ou dois minutos.
Para configurar à mão, use a configuração padrão em claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\). O atalho é Settings → Developer → Edit Config. Reinicie o app depois de salvar.
Cursor
Clique no botão Instalar no Cursor acima, ou use a configuração padrão em ~/.cursor/mcp.json (global) ou .cursor/mcp.json (no projeto).
VS Code (GitHub Copilot)
Clique no botão Instalar no VS Code acima, ou rode:
Para registrar só no projeto, crie .vscode/mcp.json. Repare que a chave aqui é servers:
Windsurf
Use a configuração padrão em ~/.codeium/windsurf/mcp_config.json, ou pelo painel do Cascade em MCP Servers → Configure.
Codex (OpenAI)
Ou em ~/.codex/config.toml:
Gemini CLI
Use a configuração padrão em ~/.gemini/settings.json (global) ou .gemini/settings.json (no projeto).
GitHub Copilot CLI
Rode /mcp add dentro do Copilot CLI, ou edite ~/.copilot/mcp-config.json:
opencode
Em ~/.config/opencode/opencode.json:
Outros clientes
O leis-mcp é publicado no MCP Registry oficial como io.github.mazulo/leis-mcp, então clientes com busca de servidores, como a galeria de MCP do VS Code, o encontram pelo nome.
Cline, Kiro, Goose, Warp, Zed, LM Studio e outros aceitam servidores stdio. Cadastre o comando uvx com os argumentos leis-mcp serve, ou cole a configuração padrão onde o cliente pedir. Se o cliente só fala HTTP, veja HTTP.
Docker
Os dados ficam no volume leis-data. Para registrar no Claude Code:
No Claude Desktop, troque o comando por "command": "docker", "args": ["compose", "-f", "/caminho/para/leis-mcp/docker-compose.yml", "run", "--rm", "-i", "leis-mcp", "serve"].
HTTP
Como funciona
Os dados ficam em ~/.cache/leis-mcp, configurável com LEIS_MCP_HOME.
Variações que o parser reconhece
- Artigos:
**Art. 1º**,Art. 1o,Art. 1.º,Art. 10.,Art. 1.000.,Art. 4º-A,Art. 359-M-A, artigo sem negrito eArt. l97.(OCR que troca 1 por l). - Parágrafos:
§ 2º,§ 2°,§2º,§ 3º-A,Parágrafo único. - Incisos e alíneas: incisos com
-,–,—(com ou sem espaço) e alíneasa). - Fim do artigo: o artigo termina no próximo artigo, num título (
#) ou na assinatura (Brasília, ...). - Numeração reiniciada: quando a numeração recomeça na mesma norma (CF + ADCT, o decreto-lei que aprova a CLT), o texto é dividido em blocos. Por padrão vale o maior bloco, e
bloco="transitórias"escolhe outro.
Estrutura do código
O código é em inglês; só o que chega ao usuário (respostas, erros, descrições das ferramentas) é pt-BR.
CLI
Rode com uvx leis-mcp <comando> ou, no código-fonte, com uv run leis-mcp <comando>:
Se o índice não existir, serve inicia na hora e prepara o índice em segundo plano. Rodar index antes evita que as primeiras perguntas recebam o aviso de "preparando".
Testes
Os testes de integração usam o índice de LEIS_MCP_HOME e são pulados se ele não existir. Eles cobrem a Lei 8.245/91 (art. 23, III e art. 38, § 2º), o CDC (art. 20, I), o CC (arts. 422 e 1.000), a Lei 9.099/95 (art. 9º), a CLT, a CF e o ADCT, e todos os apelidos. O teste e2e sobe o servidor por stdio com o cliente MCP oficial e chama todas as ferramentas.
Limitações
- Busca textual sem o acervo inteiro:
buscar_textosemnormaprocura só nas normas já em cache. Baixar as 1,2 M normas não é viável. Usewarmpara ampliar o cache. Não há busca semântica nem embeddings. - Ementas e títulos: só aparecem para normas já baixadas. O índice tem apenas o que se deduz do caminho.
- Referências ambíguas: sem ano (por exemplo,
"decreto 5452"), o servidor pede o ano.buscar_normalista as opções. - Qualidade do texto: a conversão automática e o OCR podem ter erros (por exemplo,
servir - se). O texto é devolvido como está e o parser não o corrige. - Revogação: o aviso depende do cabeçalho (
revogada,versao_texto) e das notas no próprio texto. Não há verificação independente de vigência. - Metadados de normas não federais: o número e a data de normas estaduais, municipais e de reguladores vêm de heurísticas sobre o nome do arquivo.
- Rede: o conteúdo vem do
raw.githubusercontent.com, que pode impor limite de requisições. O que já está em cache funciona offline.
Créditos
O acervo é o ctresb/leis, que converte as normas das fontes oficiais para Markdown. O leis-mcp só lê esse repositório. A trilha do vídeo é Intergalactic, de Alex Jones / Xander Jones, da Biblioteca de áudio do YouTube.
Source: README.md at commit 3f275e2
Tools
0Version history
1- v0.2.0LatestNov 4, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts