MCP Server for Turkish Legal Databases providing access to Yargıtay (Court of Cassation), Danıştay (Council of State), Constitutional Court, and other Turkish legal institutions
Yargi MCP provides 22 tools for Turkish legal database search and retrieval. Tool naming follows verb_noun convention (search_*, get_*) which is good. However, critical gaps exist: most tools lack visible input schemas in the provided source code, parameter descriptions are minimal or missing, and output schemas are undocumented. The semantic_search_decisions tool has a reasonable schema visible, but most others (e.g., search_yargitay_decisions, search_danistay_keyword) show only partial parameter definitions. Error handling is not evident in the code samples. Descriptions are present but generic (50-100 chars), lacking LLM-optimized guidance on when to use each tool vs. alternatives. The server appears to be a wrapper around multiple Turkish legal APIs, but the tool interface does not expose enough structure for confident agent composition.
Retrieve full text and details of a specific Constitutional Court decision
Retrieve full text of a specific Court of Accounts decision or audit report
Retrieve full text and details of a specific Council of State decision by decision ID
Convert a legal decision document to Markdown format for easier processing and analysis
Retrieve full text of a specific precedent from UYAP Emsal database
Retrieve full text and details of a specific KİK decision
Retrieve full text of a specific local or appellate court decision
Retrieve full text and details of a specific Competition Authority decision
Output schemas undocumented. No visible documentation of what fields search_* and get_* tools return. LLMs cannot plan downstream tool calls or extract required IDs without knowing response structure.
Parameter descriptions are minimal or generic. Most search tools lack detailed guidance on parameter formats, constraints, and valid values. E.g., 'Chamber/board selection (52 options)' does not list the options or explain how to discover them.
No error handling guidance visible. Code shows ToolError exception class but no recovery hints in tool descriptions. LLMs cannot self-correct on invalid chamber names, date formats, or API failures.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
Retrieve server statistics including tool usage, token counts, and performance metrics
Retrieve full text and details of a specific Court of Cassation decision by decision ID
List all available Turkish legal databases and their metadata
Search Constitutional Court decisions with keyword and filter options
Search Court of Accounts (Sayıştay) decisions and audit reports
Detailed search for Council of State decisions with comprehensive filtering by chamber, decision type, and date range
Keyword-based search for Council of State (Danıştay) decisions with Boolean logic (AND, OR, NOT)
Search UYAP Emsal (precedent) database across multiple courts with cross-court precedent discovery
Search KİK (Public Procurement Authority) decisions with decision type and text filtering
Search decisions from local and appellate courts (first and second instance)
Search Competition Authority (Rekabet Kurumu) decisions with keyword filtering
Search Court of Cassation decisions using Bedesten API (alternative source) with phrase matching and date filtering
Search Court of Cassation (Yargıtay) decisions using primary official API with keyword search and chamber filtering
Perform semantic similarity search across Turkish legal decisions using vector embeddings
Pagination not documented. Search tools accept pageSize but no indication of total count, next_cursor, or max results. Large result sets risk context window exhaustion.
Tool composition risk: search_* tools do not document which ID field (decision_id, precedent_id, etc.) to pass to corresponding get_* tools. Broken reference chains force discovery detours.