← Home
MCP Servers

Connecting AI to the official source.

MCP (Model Context Protocol) is the standard way to connect AI to external sources. These two servers connect it to the official ones: statute text is pulled live from mevzuat.gov.tr, court decisions from the decision banks of the Court of Cassation, Council of State and Constitutional Court. The answer comes from the real source, not from memory.

Why it matters

It ties citations to the source.

The most dangerous failure of AI in legal work is inventing a statute article or a court decision that does not exist. MCP narrows that risk: when the model says "TBK art. 49", it fetches the text directly from the official source; it returns a decision with its court, chamber, docket and decision numbers and date. The correct number comes from the official bank; whether that decision actually fits your case is still yours to confirm.

Two servers

Legislation and case law.

Turkish Legislation MCP

madde_getir · kanun_metni_getir · mevzuat_ara

Fetches the current full text of a statute and individual articles from the official source; searches legislation. Source: mevzuat.gov.tr (the Presidency's Legislation Information System).

Turkish Case Law MCP

ictihat_ara · karar_getir

Searches court decisions and fetches full texts; every result carries a structured citation. Sources: the Ministry of Justice case-law bank (Court of Cassation), UYAP Emsal (courts of appeal and first instance), Council of State and the Constitutional Court (individual applications + constitutionality review).

mahkeme parameter: adli (Court of Cassation + courts of appeal, together), yargitay, emsal (courts of appeal and first instance), idari (Council of State), anayasa (Constitutional Court, individual applications), norm (Constitutional Court, constitutionality review).

How it works

From question to sourced answer.

Question"TBK article 49" / "eviction case law"
↓
MCP servercalls the official endpoint
↓
Official sourcemevzuat.gov.tr · UYAP · Council of State · Constitutional Court
↓
Structured citation + textcourt, docket/decision no, date, source

The citation is not guessed from prose; it arrives structured. The server never guesses a number: it returns the real one or says "not found". The model can still err, so check the citation against its source link.

Respect for official sites. The servers identify themselves to official sites by their own name, send about one request per second to each site, and keep fetched texts in memory only for the session; nothing is written to disk. They never solve or skip a captcha; when a site limits access, they stop and explain why.

Sample output

What a citation looks like.

In a real query the fields are filled from the official source. Below is a format sample; no real decision number is invented on this page.

# Question: "Court of Cassation decision on eviction"
Court          : Court of Cassation [chamber]
Docket/Decision: [yyyy]/[docket] E., [yyyy]/[decision] K.
Date           : [dd.mm.yyyy]
Source         : mevzuat.adalet.gov.tr/ictihat/[id]   # verification link

An uncertain citation is never presented as settled; it is marked [to be verified] and no filing proceeds before the source confirms it:

Court          : Council of State [chamber]   [to be verified]
Docket/Decision: [to be verified]
# not used in a filing before confirmation

The live link to the official source requires MCP. MCP runs in terminal tools (Claude Code / OpenAI Codex / Gemini CLI) and in the desktop app. Claude Cowork (the visual, easiest route) does not run local MCP; there only the skills are active and the protection is instruction-based, hence weaker.

Examples

What can you ask?

"What does TBK article 49 say?"
The current text of tort liability + source (mevzuat.gov.tr).
"Find Court of Cassation decisions on eviction."
Real decisions; court + chamber + docket/decision no + date + the decision's official page.
"What does the Council of State say on zoning-plan annulment?"
Administrative case law, with citations.
"Property-rights violation, Constitutional Court individual application."
Application no + decision date + outcome (violation or not).
Open and free

On PyPI, one line away.

# Claude Code
claude mcp add turk-hukuku-mevzuat -- uvx --from turk-hukuku-mevzuat-mcp turk-hukuku-mevzuat
claude mcp add turk-hukuku-ictihat -- uvx --from turk-hukuku-ictihat-mcp turk-hukuku-ictihat

# or
pip install turk-hukuku-mevzuat-mcp turk-hukuku-ictihat-mcp
Listed on