Law7 MCP

Law7 MCP

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

Category
Visit Server

README

Law7 Logo

Law7 MCP - Up-to-date Legal Documents For AI Assistants

License: AGPL-3.0 Version

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 countries
  • get-statistics - Get database statistics
  • query-laws - Search legal documents by text
  • get-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:
  • 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:

  1. Import Base Codes (~6 hours) - 19 core legal codes (~5,000 articles) - Civil, Labor, Criminal, etc.
  2. Document Sync (partial: ~6h, full: 100+h) - Amendment documents from official sources (optional)
  3. 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 protocol
  • pg - PostgreSQL client
  • @qdrant/js-client-rest - Qdrant vector DB client
  • ioredis - Redis client

Python (Data Pipeline)

  • pandas - Data processing
  • sqlalchemy - Database ORM
  • beautifulsoup4 - HTML parsing
  • pdfplumber - PDF text extraction
  • sentence-transformers - Embeddings (multilingual models)
  • qdrant-client - Vector DB client
  • torch - 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

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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured