Türk Hukuku İçtihat MCP
OpenAI Codex can search and retrieve Turkish court decisions (adli, idari, anayasa) using MCP tools.
turk-hukuku-ictihat-mcp
Türk yargı kararlarını resmî kaynaktan yapay zekâ araçlarına açan bir MCP sunucusu: adli yargı (UYAP Emsal — Yargıtay/Bölge Adliye/ilk derece), idari yargı (Danıştay) ve anayasa yargısı (AYM Bireysel Başvuru).
Amaç tek cümle: model bir karara atıf yaparken künyeyi (mahkeme, daire, esas/karar no, tarih) hafızasından değil resmî kaynaktan alsın. UYAP Emsal künyeyi yapısal döndürür; böylece model künye uydurmaz, sahte karar numarası üretmez.
Hukuki danışmanlık değildir. Bu araç içtihada erişimi kolaylaştırır; kararın güncelliğini, kesinleşme durumunu ve somut olaya uygunluğunu siz değerlendirin. Bir kararın bağlayıcılığı ve emsal değeri ayrı bir hukuki analiz gerektirir.
Ayrıntı: SORUMLULUK-REDDI.md · PRIVACY.md (veri toplama yok, telemetri yok; dış bağlantılar yalnızca resmî karar siteleri).
Ne yapar
Tool | İşlev |
| Karar arar; künye + atıf + |
| Bir kararın resmî tam metni (künye + gerekçe + hüküm) |
mahkeme üç değer alır: adli (Yargıtay + Bölge Adliye + ilk derece — UYAP Emsal,
varsayılan), idari (Danıştay) ya da anayasa (AYM bireysel başvuru).
karar_getir'e aramada kullandığın mahkeme değerini aynen geçir.
Tipik akış: ictihat_ara("imar planı iptal", mahkeme="idari") → sonuçtan bir id seç →
karar_getir(id, mahkeme="idari") → kararın tam metni. Her sonuç hazır bir atif taşır:
"Danıştay 6. Daire, E.2023/1084 K.2025/10046" · "AYM, B. No: 2020/36883, K.T. 16/12/2025".
Related MCP server: Mevzuat MCP
Kapsam
Adli yargı (
mahkeme="adli"): Yargıtay, Bölge Adliye Mahkemeleri ve ilk derece mahkeme kararları (UYAP Emsal — 800.000+ karar).İdari yargı (
mahkeme="idari"): Danıştay kararları (karararama.danistay.gov.tr — 390.000+ doküman).Anayasa yargısı (
mahkeme="anayasa"): AYM bireysel başvuru kararları (kararlarbilgibankasi.anayasa.gov.tr).Planlanan: AYM norm denetimi (iptal/itiraz) kararları.
Nasıl çalışır
Her kaynak bir arama + bir belge uç noktası sunar:
UYAP Emsal : POST /aramalist (aranan) + GET /getDokuman?id
Danıştay : POST /aramalist (andKelimeler[]) + GET /getDokuman?id&arananKelime
AYM : GET /Ara?KelimeAra[]= (HTML) + GET /BB/<yıl>/<no> (HTML)Sunucu aramayı yapar, künyeleri yapısal döndürür ve metni okunur düz metne çevirir (Danıştay iç içe HTML kodlamasından, AYM Word-export gövdesinden arındırılır). Tamamen yereldir; veri toplanmaz.
Kurulum
PyPI'de yayımlıdır; uv
ile ayrı kurulum gerekmeden çalışır.
Claude Code
claude mcp add turk-hukuku-ictihat -- uvx --from turk-hukuku-ictihat-mcp turk-hukuku-ictihatOpenAI Codex
~/.codex/config.toml:
[mcp_servers.turk-hukuku-ictihat]
command = "uvx"
args = ["--from", "turk-hukuku-ictihat-mcp", "turk-hukuku-ictihat"]Gemini CLI
~/.gemini/settings.json içindeki mcpServers altına:
"turk-hukuku-ictihat": {
"command": "uvx",
"args": ["--from", "turk-hukuku-ictihat-mcp", "turk-hukuku-ictihat"]
}Alternatif: pip
pip install turk-hukuku-ictihat-mcp
# komut: turk-hukuku-ictihat (ya da: python -m turk_hukuku_ictihat)İlgili: kanun/mevzuat metni için turk-hukuku-mevzuat-mcp.
Lisans
MIT · © 2026 Aydın Can Polatkan
Veri kaynağı UYAP Emsal'a (Adalet Bakanlığı) aittir; bu proje yalnızca kamuya açık resmî karar metnine erişimi kolaylaştıran bağımsız bir istemcidir.
Bu çalışma, ömrünü Türk yargısına adamış babam Hâkim Vahit Polatkan'ın ebedi anısına ithaf edilmiştir.
Available Tools
2 toolsictihat_araA
Türk yargı kararı arar; künye + atıf + id döndürür.
Bir karara atıf yapmadan ÖNCE bunu çağır. Dönen her sonuç yapısal künye taşır
(mahkeme, esas_no, karar_no, karar_tarihi) ve hazır bir atif dizesi verir —
bunları aynen kullan, uydurma. Tam metin için sonuçtaki id ile aynı mahkeme
değerini karar_getir'e geçir.
mahkeme: "adli" (Yargıtay + Bölge Adliye + ilk derece, UYAP Emsal — varsayılan), "idari" (Danıştay) ya da "anayasa" (AYM bireysel başvuru). adet: en çok kaç sonuç (1-50). sayfa: sayfalama (1'den başlar).
| Name | Required | Description | Default |
|---|---|---|---|
| adet | No | ||
| ifade | Yes | ||
| sayfa | No | ||
| mahkeme | No | adli |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, but the description discloses that the tool returns structured data (künye, atıf, id) and explains the mahkeme parameter options and defaults. It does not mention limitations or error conditions, but for a search tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences that front-load purpose and provide essential usage details without redundancy. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the return structure (künye, atıf, id) and how to use them. It covers all parameters and usage context. Complete for a search tool with one sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides no descriptions (0% coverage). The description explains the meaning of mahkeme (three court types), adet (max results 1-50), sayfa (pagination starting at 1), and implicitly ifade (search term). It adds value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for Turkish court decisions and returns structural citation details and an ID. It differentiates from sibling tool karar_getir by specifying its role (search vs full text).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit instructions: call before citing a decision, use the returned atif string exactly, and pass the id and mahkeme to karar_getir for full text. This provides clear when-to-use and how-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
karar_getirA
Bir kararın resmî TAM metnini getirir (id + mahkeme, ictihat_ara sonucundan).
Dönen metin kararın künyesi + gerekçesi + hükmüdür. Metni ve künyeyi aynen
aktar; esas/karar numarasını ve tarihi değiştirme. mahkeme, aramada kullandığın
değerle aynı olmalı ("adli" → UYAP Emsal, "idari" → Danıştay, "anayasa" → AYM).
| Name | Required | Description | Default |
|---|---|---|---|
| mahkeme | No | adli | |
| karar_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the return content (summary, reasoning, verdict) and warns against modifying data. No side effects discussed but for a read-only tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first defines purpose, second explains return and constraints. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without output schema or annotations, the description adequately covers purpose, parameters, and behavior. Lacks error handling but acceptable for a retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given 0% schema description coverage, the description adds meaning by explaining that mahkeme must match the search value and provides mapping to data sources, and karar_id comes from search results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves the official full text of a decision using id and court, and distinguishes from the sibling tool 'ictihat_ara' which is for searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies when to use (after ictihat_ara result) and provides constraints (do not modify case numbers, court must match). It lacks explicit when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: 'ictihat_ara' searches for precedents and returns identifiers, while 'karar_getir' retrieves the full text using those identifiers. There is no overlap or ambiguity.
Both tool names follow a consistent Turkish pattern of noun_verb ('karar_getir' and 'ictihat_ara'), using underscores and clear, descriptive terms.
With only two tools, the set is minimal but appropriately scoped for the core functionality of searching and retrieving full-text decisions. It is slightly below the typical range but still reasonable.
The tools cover the essential lifecycle of legal precedent retrieval: search with filtering and pagination, then get full text. There are no obvious gaps for the stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Resolve, search and verify legal citations against the official sources, with provenance.
Case law search, court decisions and súmulas, across indexed public sources (STF, STJ, TST, state co
Semantic search over Polish law and case law, citing the exact in-force article.
Temporal search and comparison for official Luxembourg and reviewed EU law, with provenance.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides programmatic access to Turkey's Ministry of Justice Legislation Information System (mevzuat.gov.tr), enabling users to search legislation, retrieve article hierarchies, and fetch article contents in Markdown format through natural language.MIT
- AlicenseNot gradedqualityNot gradedmaintenanceProvides programmatic access to the Turkish Ministry of Justice Legislation Information System (mevzuat.gov.tr). It enables searching for legislation, navigating hierarchical article structures, and retrieving article content in Markdown format.1
- FlicenseNot gradedqualityBmaintenanceEnables searching and retrieving full text of Yargıtay (Turkish Supreme Court) decisions as Markdown, via the official karararama.yargitay.gov.tr system.
- AlicenseAqualityBmaintenanceAn MCP server for accessing Turkish legislation (laws, regulations, decrees) via the Adalet Bakanligi API, providing search, full-text retrieval, and structured citations.5Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aydincan/turk-hukuku-ictihat-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server