Skip to main content
Glama

ロシア連邦法典:意味による検索

通常の言葉でロシア連邦の24法典を検索できます。「養育費を払わないとどうなるのか」と尋ねると、その語句が含まれていなくても家族法典第115条が返ってきます。インターネットなしで、自分のマシン内で完全に動作します。クエリもテキストも外部へ送信されません。

検索方法は2つあります。ターミナルで1コマンド実行するか、リポジトリをClaude CodeにMCPサーバーとして接続するかです。後者なら、会話の中で直接検索できます。

中身

data/       тексты 24 кодексов, разобранные по статьям (9 250 статей, каждая — отдельный JSON)
index/      векторный индекс: по нему и идёт поиск
src/        сам поиск — MCP-сервер, команда для терминала и общий код под ними

法典は2026年8月24日時点でエクスポートされています — この日付時点の版が対象です。ソースは公式ポータル pravo.gov.ru の「法的情報の標準データバンク」にある統合テキストです。各法典ごとの版の日付は --codes-list コマンドで個別に確認できます(下記参照)。法典が改訂される時期はそれぞれ異なるため、一部の法典の最新版はエクスポートされた日よりかなり古いこともあります。

Related MCP server: code-memory-rs

事前準備(初回のみ)

Python 3.11 以上が必要です。GPUは不要で、すべてCPUで処理されます。

# создать виртуальное окружение
python -m venv .venv

ここからは最も簡単で、Claude Codeに /x-prepare-system と依頼します。スキルがライブラリをインストールし、モデルをダウンロードし、すべてが正しく動作するか確認します。

Claude Codeを利用できない場合は、次の1コマンドで同じことを行えます:

# Windows
.\setup.cmd --install

# Linux и macOS
./setup --install

検索モデル(約2,3GB)と、補助的な再ランク付けモデル(約0,5GB)がダウンロードされます。インターネットが必要なのはこのステップだけです。モデルはリポジトリには含まれません。gitに置くには大きすぎるからです。

準備状況はいつでも確認できます。同じコマンドを --install なしで実行すると、何も変更されず、揃っているものと不足しているものだけが報告されます。

# Windows
.\setup.cmd

# Linux и macOS
./setup

ターミナルで直接試す

パッケージには短いラッパーが付属しています。パスとエンコーディングを自動的に補完します:

# Windows
.\laws.cmd "что грозит за неуплату алиментов"

# Linux и macOS
./laws "что грозит за неуплату алиментов"

出力は次のようになります:

=== что грозит за неуплату алиментов ===
1. sk-rf ст. 115 — Ответственность за несвоевременную уплату алиментов  [0.0164]
   РАЗДЕЛ V. АЛИМЕНТНЫЕ ОБЯЗАТЕЛЬСТВА > ГЛАВА 17. ПОРЯДОК УПЛАТЫ И ВЗЫСКАНИЯ | действует
   1. При образовании задолженности по вине лица, обязанного уплачивать алименты...

このコマンドには他にもできることがあります(LinuxとmacOSでは .\laws.cmd の代わりに ./laws を使います):

# несколько вопросов за один запуск: так быстрее, модель грузится один раз
.\laws.cmd "увольнение по собственному желанию" "продолжительность отпуска"

# статья целиком, по номеру
.\laws.cmd --article uk-rf:105

# искать только в одном кодексе
.\laws.cmd --code=koap-rf "превышение скорости"

# список кодексов с датами редакций
.\laws.cmd --codes-list

# точнее на расплывчатых вопросах, но на 4 секунды медленнее
.\laws.cmd --rerank "сосед залил квартиру кто возмещает ущерб"

# показать и статьи, утратившие силу: по умолчанию они скрыты
.\laws.cmd --repealed "запрос"

最初のリクエストには約6秒かかります。モデルの読み込みにそれだけの時間がかかります。その後、同じコマンドで複数の質問を続ける場合、それぞれの次の質問はひとつあたり0,2秒で計算されます。

質問の書き方のコツ:キーワードではなく、人間に尋ねるように質問を書いてください。また、同じ言葉が複数の法典にあることを覚えておいてください。たとえば「испытательный срок」は、労働法典の試用期間も、刑法の執行猶予条件も見つけます。探す場所が分かっているなら、 --code=tk-rf を追加してください。

何らかの理由でラッパーが使えない場合は、同じことを完全なコマンドで行えます:

# Windows, PowerShell
$env:PYTHONPATH="src"; $env:PYTHONIOENCODING="utf-8"
.venv\Scripts\python.exe -m laws_mcp.cli "вопрос"
# Linux и macOS
PYTHONPATH=src .venv/bin/python -m laws_mcp.cli "вопрос"

Claude Code に接続する(MCPサーバー)

検索を頻繁に使うなら、サーバーを立てるほうが便利です。モデルがメモリに残るため、リクエストごとに6秒ではなく、単位の1秒で処理されます。

最も簡単なのは、Claude Codeに /x-run-mcp と依頼することです。スキルが接続して確認します。

手動の場合は次の1行です:

# Windows, PowerShell
claude mcp add laws -e PYTHONPATH=C:\путь\к\репозиторию\src -e LAWS_ROOT=C:\путь\к\репозиторию -e PYTHONIOENCODING=utf-8 -- C:\путь\к\репозиторию\.venv\Scripts\python.exe -m laws_mcp.server
# Linux и macOS
claude mcp add laws -e PYTHONPATH=/путь/к/репозиторию/src -e LAWS_ROOT=/путь/к/репозиторию -- /путь/к/репозиторию/.venv/bin/python -m laws_mcp.server

パスは必ず絶対パスにしてください:Claude Codeは自分のディレクトリからサーバーを起動するため、相対パスでは見つかりません。接続後はセッションを再起動してください。ツール一覧は起動時に読み込まれます。

サーバーが提供するツールは3つです:意味で条文を検索する、条文番号でその条文全体を表示する、法典を列挙する。

この検索ができないこと

これに頼りすぎないようにして、先に知っておくべきこと:

  • 対象は法典のみ。 個別の連邦法(消費者保護、ООО、強制執行手続きなど)や下位法令、判例、最高裁判所総会の解釈などはここにはなく、検索もできません。

  • 回答が有効なのはデータの出口時。 法は変わっています。日付は --codes-list で確認できます。

  • これは検索であり、法的助言ではありません。 法律に書いてあることを示すだけで、結論や判断は人の側にあります。

  • 既定では、現行の条文だけが検索されます。失効した条文は --repealed フラグで検索します。

サーバーに展開・カスタマイズする

Claude Codeがこれを手伝ってくれます。リポジトリはエージェントが自分で理解できるように構造化されており、内部構造の説明がある CLAUDE.md が一緒にあります。また、検索込みのイメージを構築するための Dockerfileもあります。

以下のように言葉で依頼します:

  • 「この検索を私のサーバーの docker に展開して」

  • 「MCPサーバーを立ち上げて、自分のClaude Codeに繋いで」

  • 「この検索にウェブ・インターフェースを作って」

  • 「準備がすべて整っているか確認して」 — 彼がチェックを実行し、不足しているものを説明します。

パッケージにはデータもモデルも一緒に収録された画像があり、コンテナにインターネットは不要です:

# собрать образ и запустить сервер
docker build -t laws-mcp .
docker run -i --rm laws-mcp

docker run の -i フラグは必須です。MCPサーバーは標準入力と標準出力で通信するため、これがないとコンテナはすぐに終了します。イメージをビルドする前に準備を実行しておいてください。モデルは models/ フォルダからイメージにコピーされます。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    RAG-powered document search server that enables semantic search across large collections of legal and business documents (PDF, Word, Excel, PowerPoint) using local embeddings with no API costs.
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables local semantic code search across repositories using natural language, with AST-aware chunking and hybrid vector/FTS5 retrieval.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Provides offline access to the French legal corpus (Legifrance/DILA) with full-text search, verbatim article retrieval, and citation grounding to prevent hallucinations.
    4
    125 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides local semantic search over files using embeddings, enabling directory indexing and natural language queries without external services.
    51 PyPI
    MIT