leis-mcp
Servidor MCP para buscar e citar a legislação brasileira no Claude e em qualquer assistente de IA: texto exato de 1,2 milhão de normas (CF, CLT, CDC, Código Civil, LGPD…), com fonte oficial e avisos de revogação. MCP server for Brazilian law.
Install / Use
claude mcp add mazulo -- npx -y github:mazulo/leis-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of leis-mcp
leis-mcp scores 87/100 on our quality scale, 487th of 961 AI & Machine Learning skills we index.
Its MCP Server is 19 KB long, well organised into 13 sections with 19 code examples: a thorough specification that gives an agent plenty to work with.
It has 44 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated yesterday, so leis-mcp is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
leis-mcp compared with similar skills
All 4 of these similar skills score higher than leis-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| leis-mcp (this skill)by mazulo | 87 | 44 | 1d ago | MCP Server |
| claude-memby thedotmack | 100 | 113.3k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.0k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 90.8k | 10d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.9k | today | CLAUDE.md |
Frequently asked questions
- How do I install leis-mcp?
- Run
claude mcp add mazulo -- npx -y github:mazulo/leis-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does leis-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is leis-mcp safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is leis-mcp still maintained?
- The repository was last updated yesterday, so leis-mcp is actively maintained.
Skill content
View source on GitHubBusque e cite o texto oficial de mais de 1,2 milhão de normas brasileiras sem sair do seu assistente.
Início rápido · Ferramentas · Clientes · Como funciona · Limitações
<br><a href="https://gist.github.com/user-attachments/assets/d19cb5e2-fcf0-48f7-a5db-8e6663d1ac0f"><img src="https://github.com/mazulo/leis-mcp/raw/main/docs/demo.jpg" alt="Demonstração do leis-mcp em vídeo (25 s): o assistente devolve o texto exato da Lei do Inquilinato, art. 23, III" width="820"></a>
<sub>Clique na imagem para ver a demonstração (25 s, com música).</sub>
</div> <br> <!-- mcp-name: io.github.mazulo/leis-mcp -->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.
ler_artigo("8245/1991", "23", inciso="III")
→ "III - restituir o imóvel, finda a locação, no estado em que o recebeu, salvo as deteriorações decorrentes do seu uso normal;"
[!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.
uvx leis-mcp index # baixa o índice pronto (~100 MB, só na primeira vez)
claude mcp add leis -- uvx leis-mcp serve
Pronto. Pergunte ao Claude: "O inquilino é obrigado a devolver o imóvel como recebeu? Cite a lei."
<details> <summary><b>A partir do código-fonte</b></summary>[!TIP]
uvx leis-mcp warmpré-carrega as ~40 normas dos apelidos, para quebuscar_textosemnormajá tenha onde procurar.
git clone https://github.com/mazulo/leis-mcp && cd leis-mcp
uv sync
uv run leis-mcp index
claude mcp add leis -- uv --directory "$PWD" run leis-mcp serve
</details>
Ferramentas
| Ferramenta | Para quê |
|---|---|
| buscar_norma(referencia?, numero?, ano?, tipo?, esfera?, uf?, limite) | Acha a norma e devolve os metadados do cabeçalho (título, ementa, data, revogada, versao_texto), o caminho, o link do GitHub e a fonte. Aceita "8.245", "8245/1991", "Lei 8.245/91", "Lei nº 8.245, de 18 de outubro de 1991", "LC 123/2006", "DL 5.452" e apelidos. |
| ler_artigo(norma, artigo, paragrafo?, inciso?, alinea?, bloco?) | Devolve o texto exato do dispositivo, o caput como contexto, a citação e os avisos. |
| buscar_texto(consulta, norma?, esfera?, tipo?, ano?, uf?, limite) | Procura uma palavra ou trecho numa norma (baixada na hora) ou em todas as normas já em cache. Ignora acentos e maiúsculas e indica o artigo de cada ocorrência. |
| listar_normas(esfera?, tipo?, ano?, uf?, municipio?, orgao?, limite, offset) | Navegação em níveis: esfera, depois tipo, UF ou órgão, depois ano, depois a lista de normas. |
| Recurso leis://apelidos | Lista os apelidos aceitos. |
{
"norma": {"titulo": "Lei nº 8.245 de 18/10/1991", "ementa": "Dispõe sobre as locações dos imóveis urbanos…",
"revogada": false, "versao_texto": "compilada (texto vigente)",
"caminho": "federal/leis-ordinarias/1991/lei-8245-1991-10-18.md"},
"dispositivo": {"citacao": "art. 23, III",
"texto": "III - restituir o imóvel, finda a locação, no estado em que o recebeu, salvo as deteriorações decorrentes do seu uso normal;",
"caput": "**Art. 23.** O locatário é obrigado a:"},
"avisos": [],
"fonte": "https://normas.leg.br/?urn=urn:lex:br:federal:lei:1991-10-18;8245",
"aviso_legal": "Texto convertido automaticamente das fontes oficiais (…). Não substitui a publicação no Diário Oficial."
}
</details>
<details>
<summary><b>Apelidos aceitos</b></summary>
- 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
| Pergunta ao Claude | O que o servidor faz |
|---|---|
| "O inquilino é obrigado a devolver o imóvel como recebeu? Cite a lei." | ler_artigo("lei do inquilinato", "23", inciso="III") |
| "A caução do aluguel pode ficar em poupança?" | ler_artigo("8245/1991", "38", paragrafo="2") |
| "Serviço mal feito: o que o CDC garante?" | ler_artigo("CDC", "20") |
| "Preciso de advogado no juizado especial?" | ler_artigo("9099/1995", "9") |
| "O que diz o ADCT, art. 10?" | ler_artigo("ADCT", "10") |
| "Onde a CLT fala em grupo econômico?" | buscar_texto("grupo econômico", norma="CLT") |
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:
{
"mcpServers": {
"leis": {
"command": "uvx",
"args": ["leis-mcp", "serve"]
}
}
}
<img src="https://img.shields.io/badge/Claude_Desktop-Baixar_.mcpb-D97757?style=for-the-badge" alt="Baixar a extensão para o Claude Desktop" height="32"> <img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Instalar no Cursor" height="32"> <img src="https://img.shields.io/badge/VS_Code-Instalar-0098FF?style=for-the-badge" alt="Instalar no VS Code" height="32"> <img src="https://img.shields.io/badge/VS_Code_Insiders-Instalar-24bfa5?style=for-the-badge" alt="Instalar no VS Code Insiders" height="32">
<details open> <summary><b>Claude Code</b></summary>[!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 mcp add leis -- uvx leis-mcp serve
Use -s user para disponibilizar em todos os projetos e -s project para gravar em .mcp.json.
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.
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).
Clique no botão Instalar no VS Code acima, ou rode:
code --add-mcp '{"name":"leis","command":"uvx","args":["leis-mcp","serve"]}'
Para registrar só no projeto, crie .vscode/mcp.json. Repare que a chave aqui é servers:
{
"servers": {
"leis": {
"type": "stdio",
"command": "uvx",
"args": ["leis-mcp", "serve"]
}
}
}
</details>
<details>
<summary><b>Windsurf</b></summary>
Use a configuração padrão em ~/.codeium/windsurf/mcp_config.json, ou pelo painel do Cascade em MCP Servers → Configure.
codex mcp add leis -- uvx leis-mcp serve
Ou em ~/.codex/config.toml:
[mcp_servers.leis]
command = "uvx"
args = ["leis-mcp", "serve"]
</details>
<details>
<summary><b>Gemini CLI</b></summary>
Use a configuração padrão em ~/.gemini/settings.json (global) ou .gemini/settings.json (no projeto).
Rode /mcp add dentro do Copilot CLI, ou edite ~/.copilot/mcp-config.json:
{
"mcpServers": {
"leis": {
"type": "local",
"command": "uvx",
"args": ["leis-mcp", "serve"],
"tools": ["*"]
}
}
}
</details>
<details>
<summary><b>opencode</b></summary>
Em ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"leis": {
"type": "local",
"command": ["uvx"
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
113.3kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
109.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
90.8kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
78.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
