🚀 Mevzuat MCP: MCP Server for the Ministry of Justice Legal Information System
This project creates a FastMCP server that simplifies access to the Ministry of Justice's Legal Information System (mevzuat.gov.tr). As a result, operations such as searching for legal texts, retrieving article lists, and obtaining article contents in Markdown format from the Legal Information System can be used as tools by LLM (Large Language Model) applications supporting the Model Context Protocol (MCP) (e.g., Claude Desktop or 5ire) and other clients.
✨ Features
- A standard MCP interface for programmatic access to the Ministry of Justice Legal Information System.
- The following capabilities:
- Detailed Legal Text Search: Search for legal texts based on various filters such as legal text name/content, legal text number, Official Gazette number, legal text type, and sorting criteria.
- List Article Tree: Retrieve the table of contents (sections, article titles, etc.) of a specific legal text in a hierarchical structure.
- Get Article Content: Obtain the full text content of a specific article in a processed and cleaned Markdown format.
- Conversion of legal text from HTML to Markdown for easier processing by LLMs.
- Easy integration with the Claude Desktop application.
- Mevzuat MCP also supports MCP clients other than Claude Desktop, such as 5ire.
📦 Installation
🚀 Easy Installation for Non-Claude Models (e.g., for 5ire)
This section is for those who want to use the Mevzuat MCP tool with MCP clients other than Claude Desktop, such as 5ire.
- Python Installation: Python 3.11 or higher must be installed on your system. Don't forget to check the "Add Python to PATH" option during installation. You can download it here.
- Git Installation (Windows): Download and install the git software on your computer. You should download the "Git for Windows/x64 Setup" option.
uvInstallation:- Windows Users (PowerShell): Open a CMD window and run this code:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" - Mac/Linux Users (Terminal): Open a Terminal window and run this code:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Windows Users (PowerShell): Open a CMD window and run this code:
- Microsoft Visual C++ Redistributable (Windows): It is required for some Python packages to work correctly. Download and install it here.
- Download and install the 5ire MCP client suitable for your operating system.
- Open 5ire. Enter the API key of the LLM service you want to use from the Workspace -> Providers menu.
- Go to the Tools menu. Click the button labeled +Local or New.
- Tool Key:
mevzuatmcp - Name:
Mevzuat MCP - Command:
uvx mevzuat-mcp - Click the Save button to save.
- Tool Key:
- Now you should see Mevzuat MCP under Tools. Hover over it and click the button that appears on the right to enable it (the green light should turn on).
- You can now communicate with Mevzuat MCP.
⚙️ Manual Installation for Claude Desktop
-
Prerequisites: Make sure Python,
uv, and (for Windows) Microsoft Visual C++ Redistributable are installed on your system. You can refer to the relevant steps in the "Installation for 5ire" section above for detailed information. -
In Claude Desktop, go to Settings -> Developer -> Edit Config.
-
Add the following to the opened
claude_desktop_config.jsonfile undermcpServers:{ "mcpServers": { // ... (your other servers if any) ... "Mevzuat MCP": { "command": "uvx", "args": [ "mevzuat-mcp" ] } } } -
Close and restart Claude Desktop.
💻 Usage Examples
🛠️ Available Tools (MCP Tools)
This FastMCP server provides the following tools for LLM models:
-
search_mevzuat: Performs a search in the Legal Information System using various detailed criteria.- Parameters:
mevzuat_adi,mevzuat_no,resmi_gazete_sayisi,search_in_title,mevzuat_turleri,page_number,page_size,sort_field,sort_direction. - Return Value:
MevzuatSearchResult(includes a paginated list of legal texts, the total number of results, etc.)
- Parameters:
-
get_mevzuat_article_tree: Lists the articles and sections of a specific legal text in a hierarchical tree structure.- Parameters:
mevzuat_id(the legal text ID obtained from the search result). - Return Value:
List[MevzuatArticleNode](a list of nested articles and headings)
- Parameters:
-
get_mevzuat_article_content: Retrieves the full text of a specific legal text article in a cleaned Markdown format.- Parameters:
mevzuat_id,madde_id(the article ID obtained from the article tree). - Return Value:
MevzuatArticleContent(includes the Markdown content of the article, metadata, etc.)
- Parameters:
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.













