MCP connector for Turkish legislation (Adalet Bakanlığı Mevzuat Bilgi Sistemi)
- ✓Open-source license (Apache-2.0)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add tr-eli-mcp -- python -m -e{
"mcpServers": {
"tr-eli-mcp": {
"command": "python",
"args": ["-m", "pip"]
}
}
}MCP Servers overview
# tr-eli-mcp
<!-- mcp-name: io.github.matematicsolutions/tr-eli-mcp -->
An MCP server for **Turkish legislation** (Kanun/laws, KHK/decree-laws, Tuzuk/statutes,
Yonetmelik/regulations, Cumhurbaskanligi Kararnamesi/presidential decrees, Teblig/communiques
and more), served as a keyless JSON API by the **Adalet Bakanligi** (Ministry of Justice) at
`bedesten.adalet.gov.tr/mevzuat`. It gives an AI agent legislation text and metadata with a
verifiable citation: a resolvable identifier, a human-readable citation, and a link to the
official source.
Part of the **eu-legal-mcp** line by [MateMatic](https://matematic.co) — one connector per
country, the same citation contract everywhere. Turkey is included under this line's broader
"Europe" framing (Council of Europe member, EU accession candidate), alongside connectors that
map strictly to EU-27 membership.
> **On ELI.** Turkey does **not** publish native ELI (`/eli/`) URIs. To keep the line's
> contract honest, `eli_uri` carries the canonical, resolvable `mevzuat.gov.tr` URL instead —
> e.g. `https://www.mevzuat.gov.tr/mevzuat?MevzuatNo=5237&MevzuatTur=1&MevzuatTertip=5` — which
> every Bedesten search record already supplies. The connector never fabricates an `/eli/` URI
> and says so in its tool instructions. See `DISCOVERY.md`.
>
> **On case law.** This connector covers **legislation only**. Yargitay (Court of Cassation)
> decision search was unreachable (TCP timeout) from the build network, and Anayasa Mahkemesi
> (Constitutional Court) exposes only a client-rendered SPA with no discovered server API.
> Neither is wired up here — see `DISCOVERY.md` for what was actually checked.
## Tools
| Tool | What it does |
|---|---|
| `tr_search_legislation(query, mevzuat_turu=None, mevzuat_no=None, baslikta_ara=True)` | Search Turkish legislation by title and/or full text, optionally filtered by type and number. |
| `tr_get_legislation_content(mevzuat_id)` | The full text of one document (HTML converted to plain text). |
| `tr_get_legislation_toc(mevzuat_id)` | The article tree (madde agaci / table of contents) of one document. |
| `tr_list_legislation_types()` | Enumerate all legislation types with live document counts (KANUN, KHK, YONETMELIK, ...). |
| `tr_coverage()` | Declare what this connector covers, when each family was captured, and - explicitly - what it does NOT cover. Every gap carries a fallback. |
Every response carries the **citation contract**:
- `eli_uri` — the canonical, resolvable `mevzuat.gov.tr` identifier (see the ELI note above).
- `human_readable_citation` — the Turkish citation convention: law number + name + Official
Gazette (Resmi Gazete) date/number, e.g. *5237 sayili Turk Ceza Kanunu (Resmi Gazete:
12/10/2004, Sayi: 25611)*.
- `source_url` — the same canonical `mevzuat.gov.tr` page.
## Install
```bash
pip install -e ".[dev]"
```
Register it with your MCP client (see `.mcp.json.example`):
```json
{
"mcpServers": {
"tr-eli-mcp": {
"command": "tr-eli-mcp",
"env": {
"TR_ELI_BASE_URL": "https://bedesten.adalet.gov.tr/mevzuat",
"TR_ELI_CACHE_DIR": "~/.matematic/cache/tr-eli",
"TR_ELI_AUDIT_DIR": "~/.matematic/audit"
}
}
}
}
```
### Windows 11 with Smart App Control
Smart App Control blocks unsigned executables, which covers `uvx.exe`, `pip.exe`
and the `tr-eli-mcp.exe` launcher that pip writes at install time. The `python.exe` and
`py.exe` from the python.org installer are signed by the Python Software
Foundation, so running the module through the interpreter works:
```bash
python -m pip install tr-eli-mcp
python -m tr_eli_mcp
```
`pip.exe` is blocked for the same reason, so install with `python -m pip`, not
`pip install`. If `python` is not on PATH, use the Windows launcher: `py -3 -m tr_eli_mcp`.
```json
{ "mcpServers": { "tr-eli-mcp": { "command": "python", "args": ["-m", "tr_eli_mcp"] } } }
```
Do not turn Smart App Control off to work around this - it cannot be re-enabled
without reinstalling Windows.
## Design
- **Public data only.** Read-only against the keyless Adalet Bakanligi Bedesten API; nothing is
sent beyond the query / document id.
- **Audit log.** Every call appends one JSON line to `~/.matematic/audit/tr-eli-mcp.jsonl`
(AI Act art. 12 record-keeping).
- **Vendor-neutral.** No LLM provider, no telemetry; own backoff + on-disk cache.
- **No fabrication.** Identifiers and titles are parsed from the source record. If Bedesten's
schema changes, the connector fails loudly rather than returning stale or invented data.
See `CONSTITUTION.md` (the 4 principles) and `DISCOVERY.md` (how the source was mapped, and
what was ruled out).
## Tests
```bash
pytest tests/test_instructions_drift.py # offline
pytest tests/test_smoke.py # live Bedesten API
```
## Licence
Apache-2.0. The Turkish legislation served is official public data of the Republic of Turkey;
this connector adds no rights over it.
What people ask about tr-eli-mcp
What is matematicsolutions/tr-eli-mcp?
+
matematicsolutions/tr-eli-mcp is mcp servers for the Claude AI ecosystem. MCP connector for Turkish legislation (Adalet Bakanlığı Mevzuat Bilgi Sistemi) It has 0 GitHub stars and its last recorded update is dated 2026-08-24.
How do I install tr-eli-mcp?
+
You can install tr-eli-mcp by cloning the repository (https://github.com/matematicsolutions/tr-eli-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is matematicsolutions/tr-eli-mcp safe to use?
+
Our security agent has analyzed matematicsolutions/tr-eli-mcp and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains matematicsolutions/tr-eli-mcp?
+
matematicsolutions/tr-eli-mcp is maintained by matematicsolutions. The last recorded GitHub activity is dated 2026-08-24, with 0 open issues.
Are there alternatives to tr-eli-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy tr-eli-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/matematicsolutions-tr-eli-mcp)<a href="https://claudewave.com/repo/matematicsolutions-tr-eli-mcp"><img src="https://claudewave.com/api/badge/matematicsolutions-tr-eli-mcp" alt="Featured on ClaudeWave: matematicsolutions/tr-eli-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!