Law7 MCP
Provides AI assistants with up-to-date legal documents from official sources, enabling accurate legal information retrieval and analysis.
README

Law7 MCP - Up-to-date Legal Documents For AI Assistants
Without Law7
AI assistants rely on outdated training data for laws:
- LLMs use training data from years ago
- Hallucinated legal articles that don't exist
- Generic answers without specific legal citations
- Unable to track legal changes or amendments
With Law7
Law7 MCP pulls up-to-date, version-specific legal documents directly from official government sources and places them into your AI conversation.
Ask questions like:
What are the notice periods for terminating an employment contract in Russia?
What changes were made to the Russian Labor Code in 2025?
Law7 fetches current legal documents right into your AI's context. No tab-switching, no hallucinated articles, no outdated legal information.
Legal Disclaimer
IMPORTANT: This project provides text information from open sources only. See DISCLAIMER.md for full details.
- NOT for official use in court or government bodies
- NO guarantee of accuracy, completeness, or timeliness
- Always consult qualified lawyers for legal matters
- AGPL-3.0 licensed - modifications must be shared
Installation
Claude Desktop
<details> <summary><b>Quick Start (Recommended)</b></summary>
# Build the server
npm run build
# Add to Claude Desktop
claude mcp add law7 --node \path\to\folder\law7\dist\index.js
</details>
<details> <summary><b>Detailed Instructions</b></summary>
Step 1: Build and Test the Server
npm run build
npm start
Step 2: Add to Claude Desktop
Option A - Via config file (C:\Users\<user>\AppData\Roaming\Claude\claude_desktop_config.json):
{
"mcpServers": {
"law7": {
"command": "node",
"args": ["/path/to/folder/law7/dist/index.js"],
"env": {}
}
}
}
Important: The mcpServers is an object, not an array. Each server is a key with command and args properties.
Step 3: Test with Claude Desktop
Once added, the law7 MCP server appears in your chat with these tools:
list-countries- List available countriesget-statistics- Get database statisticsquery-laws- Search legal documents by textget-law- Get specific document by eo_number
Example query:
Can you search for documents about "трудовой договор" in Russia and show me the results?
</details>
Important Tips
Add a Rule
To automatically invoke Law7 for legal questions, add a rule to your CLAUDE.md file:
Always use Law7 MCP when I need legal information, document lookup, or legal analysis without me having to explicitly ask.
Specify Country
Currently only Russia is supported, but you can specify for clarity:
What are the labor laws in Russia regarding overtime?
Query Historical Versions
Ask for specific dates to get historical legal versions:
What was the Russian Labor Code article 80 text on January 1, 2024?
Available Tools
Law7 MCP provides the following tools that AI assistants can use:
| Tool | Description |
|---|---|
query-laws |
Search legal documents by semantic/keyword search |
get-law |
Retrieve specific document by eo_number |
list-countries |
List supported countries (currently Russia) |
get-statistics |
Get database statistics |
get-code-structure |
Get structure of consolidated legal codes |
get-article-version |
Get article version at specific date |
trace-amendment-history |
Track amendment history of articles |
Architecture
This project uses a hybrid architecture with two separate components:
- Data Pipeline (Python): Crawls, parses, and indexes legal documents into local database
- MCP Server (TypeScript): Queries the local database and serves results to AI assistants
Python Pipeline → PostgreSQL + Qdrant → TypeScript MCP Server → AI
Components
| Component | Language | Location |
|---|---|---|
| Data Pipeline | Python | /scripts |
| MCP Server | TypeScript | /src |
| Docker | Compose | /docker |
Phase 1: Current Implementation (Russia)
Status: Operational
- Documents: 1,134,985 Russian legal documents (2019-2026)
- Content Coverage: 47,871 documents with full text (4.22%)
- Code Articles: 6,232 articles across 22 consolidated legal codes
- Embeddings: 265 semantic vectors (test data - full embeddings pending)
- Database Backup: Download (218 MB) -
SHA256: 70a1d8fc6b27b67ad7f12f03f017d02b5f68a0c895447159039800965895f8b2 - Sources:
- pravo.gov.ru - Official Russian legal publication portal (primary)
- kremlin.ru - Presidential decrees, Constitution
- government.ru - Government resolutions, procedure codes
- Codes: All 19 consolidated Russian legal codes imported:
- Constitution (KONST_RF)
- Civil Code (4 parts: GK_RF, GK_RF_2/3/4)
- Criminal Code (UK_RF)
- Labor Code (TK_RF)
- Tax Code (2 parts: NK_RF, NK_RF_2)
- Family, Housing, Land codes (SK_RF, ZhK_RF, ZK_RF)
- Administrative Code (KoAP_RF)
- Procedure Codes (GPK_RF, APK_RF, UPK_RF, KAS_RF)
- Budget, Urban Planning, Criminal Executive codes (BK_RF, GRK_RF, UIK_RF)
- Environmental codes (VZK_RF - Air, VDK_RF - Water, LK_RF - Forest)
Quick Start Pipeline:
- Import Base Codes (~6 hours) - 19 core legal codes (~5,000 articles) - Civil, Labor, Criminal, etc.
- Document Sync (partial: ~6h, full: 100+h) - Amendment documents from official sources (optional)
- Content + Embeddings (~2-3 hours) - Extract text and generate vectors (optional)
For most users: Step 1 gives you the essential legal codes. Steps 2-3 add amendment coverage.
See docs/DATA_PIPELINE.md for complete data pipeline documentation.
Phase 2: Future Vision (Global)
Status: Planned - See docs/VISION.md
- Multi-country support
- Decentralized data distribution (IPFS, libp2p)
- Community verification system
- Country adapter pattern for adding new jurisdictions
- Delta updates and change tracking
Quick Start (Development)
Note: Default ports are PostgreSQL 5433, Redis 6380, Qdrant 6333 (to avoid conflicts with other projects).
Option A: Restore from Backup (Recommended - ~5 minutes)
Skip the data sync and use the pre-built database:
# 1. Download backup (218 MB)
# https://drive.google.com/file/d/1DPLpFpuwUZbLZEGo2TxnCAcLRdb2V1aD/view?usp=sharing
# 2. Start Docker services
cd docker
docker-compose up -d
# 3. Restore backup (place .tar.gz in docker/backups/ directory)
./restore.sh law7_backup_20260211_014519
# 4. Start MCP server
npm install && npm run build && npm start
Option B: Fresh Installation (from official sources)
1. Start Docker Services
cd docker
docker-compose up -d
2. Run Initial Data Sync (Python)
# Using Poetry
poetry run python scripts/sync/initial_sync.py
3. Start MCP Server (TypeScript)
npm install
npm run build
npm start
4. Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js
Dependencies
TypeScript (MCP Server)
@modelcontextprotocol/sdk- MCP protocolpg- PostgreSQL client@qdrant/js-client-rest- Qdrant vector DB clientioredis- Redis client
Python (Data Pipeline)
pandas- Data processingsqlalchemy- Database ORMbeautifulsoup4- HTML parsingpdfplumber- PDF text extractionsentence-transformers- Embeddings (multilingual models)qdrant-client- Vector DB clienttorch- PyTorch with CUDA support (for GPU acceleration)
Hardware Requirements for GPU Acceleration:
- NVIDIA GPU with CUDA support (tested on RTX 3060 12GB)
- CUDA 12.x compatible drivers
More Documentation
- DATA_PIPELINE.md - Complete data pipeline guide
- VISION.md - Future global architecture
- DISCLAIMER.md - Legal disclaimer
- CONTRIBUTING.md - Development guidelines
License
AGPL-3.0 - see LICENSE for details.
This means:
- Source code is freely available
- Any modifications must be shared under the same license
- If you run a modified version on a server and provide services to users, you must make the source code available to those users
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.