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
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.
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
Quick Start (Recommended)
# Build the server
npm run build
# Add to Claude Desktop
claude mcp add law7 --node \path\to\folder\law7\dist\index.jsDetailed Instructions
Step 1: Build and Test the Server
npm run build
npm startStep 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?
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.Currently only Russia is supported, but you can specify for clarity:
What are the labor laws in Russia regarding overtime?
Ask for specific dates to get historical legal versions:
What was the Russian Labor Code article 80 text on January 1, 2024?
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 |
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
| Component | Language | Location |
|---|---|---|
| Data Pipeline | Python | /scripts |
| MCP Server | TypeScript | /src |
| Docker | Compose | /docker |
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.
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
Note: Default ports are PostgreSQL 5433, Redis 6380, Qdrant 6333 (to avoid conflicts with other projects).
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 startcd docker
docker-compose up -d# Using Poetry
poetry run python scripts/sync/initial_sync.pynpm install
npm run build
npm startnpx @modelcontextprotocol/inspector node dist/index.js@modelcontextprotocol/sdk- MCP protocolpg- PostgreSQL client@qdrant/js-client-rest- Qdrant vector DB clientioredis- Redis client
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
- DATA_PIPELINE.md - Complete data pipeline guide
- VISION.md - Future global architecture
- DISCLAIMER.md - Legal disclaimer
- CONTRIBUTING.md - Development guidelines
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
