Türk Hukuku Mevzuat MCP
Legislación turca en vivo desde la fuente oficial (mevzuat.gov.tr): texto actual de artículos por ley y número de artículo, con enlaces de verificación.
Documentación
turk-hukuku-mevzuat-mcp
Un servidor MCP que abre el texto oficial vigente de la legislación turca (mevzuat.gov.tr, Sistema de Información Legislativa de la Presidencia) a las herramientas de inteligencia artificial.
El objetivo en una frase: cuando el modelo haga referencia a un artículo de ley, debe tomar el texto de la fuente oficial, no de su memoria, y transmitirlo de forma verificable. Cuando se mencione "TBK m.49", el servidor devuelve el texto vigente del artículo y el enlace de verificación.
No es asesoramiento legal. Esta herramienta solo facilita el acceso al texto oficial; no incluye interpretación, evaluación de jurisprudencia ni aplicación a casos concretos. Confirme siempre el texto final en mevzuat.gov.tr.
Detalles: SORUMLULUK-REDDI.md · PRIVACY.md (sin recopilación de datos, sin telemetría; única conexión externa: mevzuat.gov.tr).
Documentación y guía de instalación: turk-hukuku.com/mcp · Si no usa la terminal, la aplicación de escritorio instala y ejecuta este servidor por usted (Mac y Windows).
Qué hace
| Herramienta | Función |
|---|---|
mevzuat_ara(ifade, nerede, adet) | Busca leyes; devuelve coincidencias y sus mevzuat_id |
madde_getir(kanun, madde_no) | Texto oficial vigente de un artículo específico de una ley + fuente de verificación |
kanun_metni_getir(kanun) | Texto oficial vigente completo de una ley |
bilinen_kanunlar() | Índice de leyes registradas (abreviatura, número, nombre, identificador) |
El parámetro kanun es flexible: abreviatura (TBK), número (6098) o identificador completo (1.5.6098).
Las leyes no registradas también pueden invocarse por número/identificador.
En mevzuat_ara, nerede toma tres valores: Baslik (buscar en el nombre de la ley: para encontrar la ley), Icerik (buscar en el texto completo: para escanear en qué leyes aparece un concepto), **Tumu. El mevzuat_id devuelto se puede pasar directamente a madde_getir; así podrá acceder también a leyes cuyo número no conoce.
Cómo funciona
mevzuat.gov.tr presenta el texto consolidado (vigente) de cada legislación como PDF con el siguiente patrón:
https://www.mevzuat.gov.tr/MevzuatMetin/<Tür>.<Tertip>.<No>.pdf
La mayoría de las leyes grandes siguen el patrón 1.5.<No> (Tipo=1 Ley, Tertip=5); p. ej., para TBK: 1.5.6098. Las publicadas en un tertip más antiguo se mantienen en el registro con sus propios identificadores (FSEK 1.3.5846, İİK 1.3.2004, VUK 1.4.213, GVK 1.4.193). El servidor descarga el PDF, lo convierte a texto (pypdf), extrae el artículo solicitado mediante regex y lo mantiene en caché durante todo el proceso. Es completamente local; no se recopila ningún dato.
La búsqueda va al endpoint anasayfa/MevzuatDatatable del sitio (la expresión buscada se codifica en UTF-8 Base64). Como cada resultado lleva tur.tertip.no, el identificador PDF de la ley coincidente (y por tanto su texto completo y sus artículos) se obtiene directamente.
Respeto al sitio oficial
- Se presenta a sí mismo. Envía su propio User-Agent en cada solicitud:
turk-hukuku-mevzuat-mcp/<sürüm> (+https://turk-hukuku.com/mcp/). No se hace pasar por navegador ni por la aplicación web oficial; no añade cabeceras con ese fin. - Solicitudes limitadas. Solo se envía una solicitud a la vez a mevzuat.gov.tr y se espera al menos un segundo entre dos solicitudes (aproximadamente una solicitud por segundo).
- Caché de sesión. Los textos de ley descargados se mantienen solo en memoria durante la sesión; si se vuelve a solicitar la misma ley, no se vuelve a acceder al sitio. No se escribe nada en disco.
- No resuelve ni evade captchas; se detiene en el límite. Si el sitio solicita verificación (captcha), rechaza el acceso (HTTP 403), notifica un límite de acceso (HTTP 429), redirige a otra página o fuera del sitio en lugar de los datos esperados, o devuelve una página web, el servidor se detiene, no repite la solicitud y le remite al sitio oficial. No envía nuevas solicitudes al sitio durante un tiempo (aproximadamente dos minutos o el tiempo indicado por el sitio). Si el identificador de ley no existe, solo devuelve un error de "no encontrado".
- Mensaje breve en errores temporales. Si se produce una avería temporal en el sitio (HTTP 5xx), una respuesta de "no encontrado" (HTTP 404) o un error de red, el servidor lo notifica con un breve mensaje en turco y no repite la solicitud; en este caso no se aplica el tiempo de espera.
Instalación
Publicado en PyPI; funciona con uv sin necesidad de instalación adicional.
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
Bajo 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)
Limitaciones conocidas
- Solo leyes. Tanto la búsqueda (
MevzuatTur=1) como el acceso al texto se limitan a leyes; otros tipos de legislación como reglamentos/circulares y la jurisprudencia quedan fuera del alcance. - El orden de búsqueda no está garantizado.
mevzuat_arapuede no hacer que el primer resultado sea el más relevante; seleccione la ley correcta consultandoad/no. - Dependiente del texto PDF. En raras ocasiones puede haber saltos/fusiones de línea; en caso de duda, abra la fuente.
- Si la herramienta no puede devolver el texto de artículos derogados/modificados, muestra una advertencia; no inventa artículos.
Licencia
MIT · © 2026 Aydın Can Polatkan
La fuente de datos pertenece a mevzuat.gov.tr; este proyecto es solo un cliente independiente que facilita el acceso al texto oficial público.
Este trabajo está dedicado a la memoria eterna de mi padre, el Juez Vahit Polatkan, quien dedicó su vida a la judicatura turca.