| name | consultar-legislacao-estadual |
| description | Consulta legislação ESTADUAL e MUNICIPAL brasileira pelo MCP IAJUS, buscando texto e link da fonte oficial quando disponíveis. O catálogo estático registra adaptadores para as 27 UFs, sem medir disponibilidade atual. Acione para lei, decreto ou norma de estado/município, inclusive texto integral. Requer UF (+ município) + tipo + número + ano. NÃO use para legislação FEDERAL nem para acórdãos/súmulas. |
| allowed-tools | mcp__iajus__buscar_norma_fonte_oficial, mcp__plugin_iajus-juris_iajus__buscar_norma_fonte_oficial, mcp__iajus__obter_texto_norma, mcp__plugin_iajus-juris_iajus__obter_texto_norma, mcp__iajus__obter_cobertura_legislacao, mcp__plugin_iajus-juris_iajus__obter_cobertura_legislacao |
Consultar legislação estadual e municipal brasileira ao vivo (IAJUS)
Você tem acesso ao servidor MCP iajus, que consulta legislação estadual e municipal
brasileira ao vivo na fonte oficial de cada UF/município (assembleia legislativa,
câmara municipal, diário oficial). A consulta é em tempo real: use o MCP em vez de citar
de memória, pois o texto da fonte oficial é a verdade.
Estas tools vivem no mesmo servidor MCP iajus das demais skills (mesma URL, mesma
autenticação). Não há credencial nem host novos.
Envelope de desfecho
Leia a chave desfecho ANTES de qualquer contagem. Os cinco valores são mutuamente exclusivos:
erro — a consulta FALHOU; ninguém olhou o acervo. Não é ausência.
sem_resultado — a consulta RODOU e o acervo não tem. Zero MEDIDO.
nao_terminou — timeout ou teto. NÃO-MEDIDO; não afirme que «não existe».
parcial — mediu uma parte; declare o que ficou de fora.
medida_indisponivel - a fonte respondeu e NÃO carrega a medida. NÃO-MEDIDO sem avaria; não é zero.
total: 0 só é ausência medida quando desfecho é sem_resultado. Sem desfecho, ou com erro/nao_terminou, repasse a falha — nunca «essa UF não é coberta».
Regra número zero: NUNCA recuse uma UF por conta própria
O catálogo estático do servidor registra adaptador nativo para as 27 UFs (26 estados +
o Distrito Federal). Não existe UF a recusar de antemão. Para QUALQUER UF que o usuário citar,
chame a tool (buscar_norma_fonte_oficial / obter_texto_norma) e repasse o que o
servidor devolver:
- Se o servidor retornar a norma, cite-a com o
link_completo oficial.
- Se
desfecho for sem_resultado, a fonte foi consultada e não tem a norma.
- Se
desfecho for erro ou nao_terminou (fonte fora do ar, deadline), repasse
a falha — o vazio não foi medido, nunca prejulgue a UF.
Não invente a norma e não afirme "essa UF ainda não é coberta". A disponibilidade só é
comprovada pela consulta pontual ao vivo. Use obter_cobertura_legislacao apenas para
conhecer o adaptador e ajustar a expectativa de resposta antes da consulta.
Comece pela cobertura: o que a UF cobre
Para uma UF que você não conhece, chame obter_cobertura_legislacao (uf="SP") primeiro:
ela lista, sem fan-out lento, o estado + os municípios cobertos naquela UF e a prontidão de
cada um. É o melhor ponto de partida antes de uma consulta estadual/municipal direcionada.
Sem argumentos, obter_cobertura_legislacao devolve a prontidão de todas as 27 UFs.
Essa tool lê um catálogo estático: não acessa a fonte oficial e não inclui verified_at nem as_of.
Portanto, não comprova disponibilidade atual. A prova ao
vivo vem somente de buscar_norma_fonte_oficial ou obter_texto_norma para uma norma.
Catálogo estático de cobertura por UF (sem as_of)
As 27 UFs têm adaptador registrado no catálogo. A prontidão descreve a capacidade esperada
do adaptador, não o estado atual da fonte:
ready (texto integral previsto no catálogo - 6 UFs):
BA (LegislaBahia), GO (Legisla Goiás API v2), MG (ALMG API v2), MS
(SECOGE/Domino), RO (SAPL REST), SP (ALESP). Resolve + ementa + texto integral.
resolve_ementa (resolve + ementa + link oficial confiáveis; inteiro teor best-effort,
às vezes só em PDF - as 21 demais UFs, incluindo DF (CLDF PLE + SINJ), RJ (SAOE/Casa
Civil), CE, PE, RN, SC, AP, ES, SE, MT, MA, PA,
PR, RS, AC, AL, AM, PB, PI, RR, TO (estas 7 via SAPL
Interlegis)). O campo tem_texto_integral por consulta avisa se o texto integral veio.
Regra REAL: nunca afirme que uma norma específica existe se a consulta pontual não a
retornou. ready é um rótulo de capacidade do catálogo sem frescor, não prova que a fonte
está disponível nem que a norma existe. Se a consulta não resolver, repasse o
erro/aviso do servidor e diga honestamente que a norma não foi localizada na fonte,
sem prejulgar a UF inteira.
Como consultar
A UF é obrigatória em toda consulta estadual; para municipal, UF + município. Junto
com tipo + número + ano (a consulta resolve a norma por identidade, não por busca
textual livre).
| Necessidade | Tool | Argumentos |
|---|
| Catálogo estático de uma UF (estado + municípios) | obter_cobertura_legislacao | uf |
| Catálogo estático das 27 UFs, sem frescor | obter_cobertura_legislacao | (sem argumentos) |
| Metadados de uma norma ESTADUAL (link oficial, ementa, data) | buscar_norma_fonte_oficial | uf, tipo, numero, ano |
| Texto íntegra de uma norma ESTADUAL | obter_texto_norma | uf, tipo, numero, ano |
| Metadados de uma norma MUNICIPAL | buscar_norma_fonte_oficial | uf, municipio, tipo, numero, ano |
| Texto íntegra de uma norma MUNICIPAL | obter_texto_norma | uf, municipio, tipo, numero, ano |
Notas de uso:
uf é sempre obrigatória; para municipal, municipio também. Sem isso a consulta é
ambígua: peça ao usuário (leis de mesmo número existem em estados/municípios diferentes).
tipo é a espécie normativa (LEI, DECRETO, LEI COMPLEMENTAR, …); numero e ano
identificam a norma. Esta consulta não faz busca por tema/assunto: se o usuário só
descreve o assunto, peça (ou ajude a descobrir) tipo/número/ano.
- A consulta é ao vivo: pode ser mais lenta e depende da fonte oficial. Se a fonte
estiver fora do ar ou não retornar a norma, o campo
erro/aviso diz isso -
repasse ao usuário, não invente.
Método (o caminho subnacional difere do federal)
A legislação estadual/municipal resolve por identidade (UF [+ município] + tipo +
número + ano), NÃO por busca textual livre de tema. E, como no federal, não há piso
temporal: a vigência é a da fonte, nunca uma função do ano. Numa tarefa grande (dossiê
que amarra normas de vários entes), delegue ao subagente legislacao-juris (ver
Subagentes); num cliente sem subagentes, execute você mesmo. O fluxo:
- Ajuste a expectativa pelo catálogo estático. Para uma UF que você não conhece, chame
obter_cobertura_legislacao (uf="SP") antes - ela lista, sem fan-out lento, o estado
- os municípios cobertos e a prontidão de cada um (
ready = texto integral robusto
vs resolve_ementa = ementa + link confiáveis, inteiro teor best-effort). Assim você
ajusta a expectativa, mas ainda precisa da consulta pontual ao vivo para comprovar a
disponibilidade e o conteúdo.
- Resolva a norma por identidade. Com UF [+ município] + tipo + número + ano, chame
buscar_norma_fonte_oficial para os metadados (link oficial deep-per-norma, ementa,
data). Se o usuário só descreve o assunto, peça (ou ajude a montar) tipo/número/ano -
esta superfície não faz busca por tema.
- Leia o texto vigente. Se o usuário quer o inteiro teor, chame
obter_texto_norma
com os mesmos argumentos de identidade. Cite a redação como a fonte devolveu; o campo
tem_texto_integral por consulta avisa se o texto integral veio ou se só há ementa + link.
- Repasse o vazio honesto. Se a consulta pontual não resolver (norma não localizada na
fonte, fonte fora do ar, deadline), repasse o
erro/aviso do servidor e diga que a
norma não foi localizada na fonte - sem prejulgar a UF inteira e sem inventar a norma.
Confira a vigência antes de amparar: cite a UF (e o município, quando municipal), o tipo, o
número/ano e o link_completo oficial - nunca uma redação de memória.
Regras de citação (obrigatório)
- Cite a UF (e o município, quando municipal), o tipo, o número/ano e a redação
como retornada pela fonte. Sempre inclua o
link_completo (URL oficial deep-per-norma)
e nunca invente número, redação ou link.
- Deixe claro que a fonte é estadual ou municipal e de qual UF/município.
- Preserve grafia e diacríticos exatamente como na fonte (UTF-8).
- Se a norma não for encontrada, diga isso repassando o
erro/aviso do servidor -
uma consulta pontual pode não resolver mesmo numa UF coberta.
Subagentes IAJUS (Claude Code)
No Claude Code, delegue uma tarefa normativa grande a subagentes especializados
(invoque via Task/subagent pelo nome). Em clientes sem subagentes (claude.ai web,
ChatGPT, Codex), execute você mesmo o método acima - não delegue.
legislacao-juris - norma aplicável de qualquer ente (federal, estadual ou
municipal) num só dossiê, com a cobertura por UF já ajustada.
memorialista-juris - parecer/peça que amarra normas subnacionais + jurisprudência,
com citação verificável de cada fundamento.
conferente-citacoes - feche a entrega com ele (anti-alucinação): confere cada
norma estadual/municipal citada contra a fonte oficial ao vivo antes do texto final.
Boas práticas
- Comece por
obter_cobertura_legislacao para ler o catálogo estático da UF; ajuste a
expectativa (ready = texto integral previsto vs resolve_ementa = ementa + link + texto
best-effort) e confirme tudo pela consulta pontual ao vivo.
- Confirme a norma com
buscar_norma_fonte_oficial (link + data); só então obter_texto_norma
se o usuário quiser o inteiro teor.
- Autenticação: OAuth 2.1 é o caminho canônico; o cliente abre o navegador no primeiro
login. A chave
ik_* é apenas fallback documentado para canal CLI/privado no header
Authorization: Bearer. Um 401 indica sessão/chave ausente ou expirada: peça ao
usuário para refazer o login ou revisar a chave; nunca cole a chave em chat nem em commit.