This MCP server provides programmatic access to various Turkish legal databases through a standardized interface, allowing LLM applications like Claude Desktop or 5ire to search and retrieve legal documents from courts including the Court of Cassation, Council of State, Constitutional Court, and more.
uv
Package Managerpowershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
curl -LsSf https://astral.sh/uv/install.sh | sh
yargimcp
Yargı MCP
uvx --from git+https://github.com/saidsurucu/yargi-mcp yargi-mcp
uv
, and (for Windows) Microsoft Visual C++ Redistributable are installed as described abovemcpServers
section in the claude_desktop_config.json
file:
{
"mcpServers": {
"Yargı MCP": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/saidsurucu/yargi-mcp",
"yargi-mcp"
]
}
}
}
Search Decisions:
search_yargitay_detailed(arananKelime, birimYrgKurulDaire, ...)
Searches Court of Cassation decisions with detailed criteria and 52 chamber/board filtering options
Get Document:
get_yargitay_document_markdown(id: str)
Retrieves the text of a specific Court of Cassation decision in Markdown format
Search Decisions:
search_yargitay_bedesten(phrase, birimAdi, kararTarihiStart, kararTarihiEnd, ...)
Searches using Bedesten API with date filtering and exact phrase search
Get Document:
get_yargitay_bedesten_document_markdown(documentId: str)
Retrieves decision text from Bedesten converted to Markdown
Keyword Search:
search_danistay_by_keyword(andKelimeler, orKelimeler, ...)
Searches Council of State decisions using keywords
Detailed Search:
search_danistay_detailed(daire, esasYil, ...)
Searches with detailed criteria
Get Document:
get_danistay_document_markdown(id: str)
Retrieves the text of a specific decision in Markdown format
Search Decisions:
search_danistay_bedesten(phrase, birimAdi, kararTarihiStart, kararTarihiEnd, ...)
Searches using Bedesten API with 27 chamber/board options, date filtering, and exact phrase search
Get Document:
get_danistay_bedesten_document_markdown(documentId: str)
Retrieves decision text from Bedesten
Search Decisions:
search_yerel_hukuk_bedesten(phrase, kararTarihiStart, kararTarihiEnd, ...)
Searches local civil court decisions with date and exact phrase search
Get Document:
get_yerel_hukuk_bedesten_document_markdown(documentId: str)
Retrieves decision text
Search Decisions:
search_istinaf_hukuk_bedesten(phrase, kararTarihiStart, kararTarihiEnd, ...)
Searches appellate court decisions with date and exact phrase search
Get Document:
get_istinaf_hukuk_bedesten_document_markdown(documentId: str)
Retrieves decision text
Search Decisions:
search_kyb_bedesten(phrase, kararTarihiStart, kararTarihiEnd, ...)
Searches extraordinary appeal decisions with date and exact phrase search
Get Document:
get_kyb_bedesten_document_markdown(documentId: str)
Retrieves decision text
Search Decisions:
search_emsal_detailed_decisions(search_query: EmsalSearchRequest) -> CompactEmsalSearchResult
Searches precedent (UYAP) decisions with detailed criteria
Get Document:
get_emsal_document_markdown(id: str) -> EmsalDocumentMarkdown
Retrieves the text of a specific precedent decision in Markdown format
Search Decisions:
search_uyusmazlik_decisions(search_params: UyusmazlikSearchRequest) -> UyusmazlikSearchResponse
Searches Conflict Court decisions with various form criteria
Get Document:
get_uyusmazlik_document_markdown_from_url(document_url: HttpUrl) -> UyusmazlikDocumentMarkdown
Retrieves a Conflict Court decision from its URL in Markdown format
Search Decisions:
search_anayasa_norm_denetimi_decisions(search_query: AnayasaNormDenetimiSearchRequest) -> AnayasaSearchResult
Searches Constitutional Court norm review decisions with comprehensive criteria
Get Document:
get_anayasa_norm_denetimi_document_markdown(document_url: str, page_number: Optional[int] = 1) -> AnayasaDocumentMarkdown
Retrieves a Constitutional Court norm review decision by URL with paginated content
Search Decisions:
search_anayasa_bireysel_basvuru_report(search_query: AnayasaBireyselReportSearchRequest) -> AnayasaBireyselReportSearchResult
Creates a "Decision Search Report" for Constitutional Court individual applications
Get Document:
get_anayasa_bireysel_basvuru_document_markdown(document_url_path: str, page_number: Optional[int] = 1) -> AnayasaBireyselBasvuruDocumentMarkdown
Retrieves a Constitutional Court individual application decision by URL path with paginated content
Search Decisions:
search_kik_decisions(search_query: KikSearchRequest) -> KikSearchResult
Searches Public Procurement Authority decisions
Get Document:
get_kik_document_markdown(karar_id: str, page_number: Optional[int] = 1) -> KikDocumentMarkdown
Retrieves a Public Procurement Authority decision using its Base64-encoded ID with paginated content
Search Decisions:
search_rekabet_kurumu_decisions(KararTuru: Literal[...], ...) -> RekabetSearchResult
Searches Competition Authority decisions using user-friendly names for decision types
Get Document:
get_rekabet_kurumu_document(karar_id: str, page_number: Optional[int] = 1) -> RekabetDocument
Retrieves a Competition Authority decision by ID, extracting the requested page from the original PDF and returning it in Markdown format
"\"exact phrase\""
for precise searchesThere are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.