Türk Hukuku Mevzuat MCP
Legislação turca ao vivo da fonte oficial (mevzuat.gov.tr): texto atual do artigo por lei e número do artigo, com links de verificação.
Documentação
turk-hukuku-mevzuat-mcp
Um servidor MCP que disponibiliza o texto oficial atualizado da legislação turca (mevzuat.gov.tr, Sistema de Informações Legislativas da Presidência) para ferramentas de inteligência artificial.
O objetivo em uma frase: quando o modelo fizer referência a um artigo de lei, ele deve obter o texto da fonte oficial, não da memória, e transmiti-lo de forma verificável. Quando se menciona "TBK m.49", o servidor retorna o texto vigente do artigo e o link de verificação.
Não é aconselhamento jurídico. Esta ferramenta apenas facilita o acesso ao texto oficial; não inclui interpretação, avaliação de jurisprudência ou aplicação a casos concretos. Sempre confirme o texto final em meu.gov.tr.
Detalhes: SORUMLULUK-REDDI.md · PRIVACY.md (sem coleta de dados, sem telemetria; única conexão externa é mevzuat.gov.tr).
Documentação e guia de instalação: turk-hukuku.com/mcp · Se você não usa terminal, o aplicativo de desktop instala e executa este servidor automaticamente (Mac e Windows).
O que faz
| Ferramenta | Função |
|---|---|
mevzuat_ara(ifade, nerede, adet) | Busca leis; retorna correspondências e seus mevzuat_id |
madde_getir(kanun, madde_no) | Texto oficial atualizado de um artigo específico de uma lei + fonte de verificação |
kanun_metni_getir(kanun) | Texto oficial atualizado completo de uma lei |
bilinen_kanunlar() | Índice de leis registradas (abreviação, número, nome, identificador) |
O parâmetro kanun é flexível: abreviação (TBK), número (6098) ou identificador completo (1.5.6098).
Leis não registradas também podem ser chamadas por número/identificador.
Em mevzuat_ara, o nerede aceita três valores: Baslik (buscar no nome da lei: para encontrar a lei), Icerik (buscar no texto completo: para verificar em quais leis um conceito aparece), Tumu. O mevzuat_id retornado pode ser passado diretamente para madde_getir; assim, você pode acessar leis cujo número não conhece.
Como funciona
mevzuat.gov.tr apresenta o texto consolidado (atualizado) de cada legislação em PDF no seguinte padrão:
https://www.mevzuat.gov.tr/MevzuatMetin/<Tür>.<Tertip>.<No>.pdf
A maioria das leis grandes segue o padrão 1.5.<No> (Tipo=1 Lei, Tertip=5); ex.: para TBK, 1.5.6098. As publicadas em tertip mais antigo são mantidas no registro com seus próprios identificadores (FSEK 1.3.5846, İİK 1.3.2004, VUK 1.4.213, GVK 1.4.193). O servidor baixa o PDF, converte para texto (pypdf), extrai o artigo solicitado com regex e mantém em cache durante o processo. Totalmente local; nenhum dado é coletado.
A busca vai para o endpoint anasayfa/MevzuatDatatable do site (a expressão pesquisada é codificada em UTF-8 Base64). Como cada resultado contém tur.tertip.no, o identificador do PDF da lei correspondente (e, portanto, seu texto completo e artigos) é obtido diretamente.
Respeito ao site oficial
- Identifica-se. Envia seu próprio User-Agent em cada solicitação:
turk-hukuku-mevzuat-mcp/<sürüm> (+https://turk-hukuku.com/mcp/). Não se passa por navegador ou aplicativo web oficial; não adiciona cabeçalhos para esse fim. - Solicitações limitadas. Apenas uma solicitação por vez é enviada ao mevzuat.gov.tr, com intervalo mínimo de um segundo entre solicitações (aproximadamente uma por segundo).
- Cache na sessão. Os textos das leis baixados são mantidos apenas em memória durante a sessão; se a mesma lei for solicitada novamente, o site não é acessado de novo. Nada é gravado em disco.
- Não resolve nem ignora captcha; respeita os limites. Se o site solicitar verificação (captcha), recusar acesso (HTTP 403), informar limite de acesso (HTTP 429), redirecionar para outra página ou fora do site em vez dos dados esperados, ou retornar uma página web, o servidor para, não repete a solicitação e direciona você ao site oficial. Não envia novas solicitações ao site por um período (aproximadamente dois minutos ou o tempo informado pelo site). Se o identificador da lei não existir, retorna apenas erro de "não encontrado".
- Mensagem breve em erros temporários. Se houver falha temporária no site (HTTP 5xx), resposta "não encontrado" (HTTP 404) ou erro de rede, o servidor informa com uma mensagem curta em turco e não repete a solicitação; nesse caso, o período de espera não é aplicado.
Instalação
Publicado no PyPI; funciona com uv sem necessidade de instalação separada.
Claude Code
claude mcp add turk-hukuku-mevzuat -- uvx --from turk-hukuku-mevzuat-mcp turk-hukuku-mevzuat
OpenAI Codex
Dentro de ~/.codex/config.toml:
[mcp_servers.turk-hukuku-mevzuat]
command = "uvx"
args = ["--from", "turk-hukuku-mevzuat-mcp", "turk-hukuku-mevzuat"]
Gemini CLI
Em mcpServers dentro de ~/.gemini/settings.json:
"turk-hukuku-mevzuat": {
"command": "uvx",
"args": ["--from", "turk-hukuku-mevzuat-mcp", "turk-hukuku-mevzuat"]
}
Alternativa: pip
pip install turk-hukuku-mevzuat-mcp
# komut: turk-hukuku-mevzuat (ya da: python -m turk_hukuku_mevzuat)
Limitações conhecidas
- Apenas leis. Tanto a busca (
MevzuatTur=1) quanto o acesso ao texto são limitados a leis; outros tipos de legislação, como regulamentos/comunicados, e jurisprudência estão fora do escopo. - Ordenação da busca não garantida.
mevzuat_arapode não trazer o primeiro resultado como o mais relevante; escolha a lei correta consultandoad/no. - Dependência do texto em PDF. Raramente pode haver quebra/junção de linhas; em caso de dúvida, abra a fonte.
- Em artigos revogados/alterados, se a ferramenta não puder retornar o texto, emite aviso; não inventa artigos.
Licença
MIT · © 2026 Aydın Can Polatkan
A fonte de dados pertence a mevzuat.gov.tr; este projeto é apenas um cliente independente que facilita o acesso ao texto oficial público.
Este trabalho é dedicado à memória eterna do meu pai, o Juiz Vahit Polatkan, que dedicou sua vida à justiça turca.