Skip to main content
Glama

MCP Badge Python FastAPI License CI

⚖️ LexGuard MCP (法の手がかり)

韓国の法令・判例・法令解釈をAIが理解しやすい形でつなぐMCPサーバー

国家法令情報センター(Open Law)の公式データに基づき、法令・条文・判例・法令解釈・行政審判・憲法裁判所の決定を一つの質問フローで提供します。

クイック接続 (コピペ)

リモートMCPのみを使用する場合は、以下のJSONをクライアント設定にそのまま貼り付けることができます。

ワンラインローカル実行 (Docker): リポジトリルートで docker compose up --build を実行後、MCP URLは http://localhost:9099/mcp です。(APIキー: LAW_API_KEY=発行キー docker compose up --build)

マーケットプレイス・クローラー用静的メタデータ: mcp/manifest.json · プロンプト索引 prompts/ · リソースURI案内 resources/README.md · Cursor開発スキル .cursor/skills/lexguard-mcp-dev/SKILL.md


Why LexGuard?

法律は必要な時に限って遠く、難しく感じられます。 高いコスト、馴染みのない用語、どこから探せばいいのかわからない構造。

LexGuard MCP (法の手がかり) は、この問題から始まりました。

  • ユーザーは人の言葉で質問し

  • AIは質問の意図を分析した後

  • 公式の法令・判例データを根拠に手がかりを提供します。

判断や法律相談を代行するものではありません。 ただし、法律に初めて触れる瞬間を少しでも易しくすることを目標としています。


Core Features

機能

説明

統合法律QA

法令・判例・法令解釈・行政審判・憲法裁判所決定の並列総合探索

条文精密照会

法令名 + 条文番号で特定の条項を直接照会

文書・契約書分析

契約書・約款を貼り付けるだけで条項別の法的問題を自動検知

判例番号直接検知

2023다12345, 2021헌마123 形式を自動認識して即時検索

ドメイン自動分類

労働・個人情報・不動産・消費者・税金・金融など13の法律ドメイン

自然言語時間条件

「直近3年」「2023年以降」などの自然言語時間表現を自動パース

Rerankerパイプライン

検索結果をクエリ適合度(BM25 + Keyword Hybrid)基準で再並び替え

並列検索

asyncio.gather ベースのマルチAPI同時呼び出しで応答速度を最小化

Rate Limiting

IPあたり60 req/min制限で乱用を防止


MCP Tools

すべての法律質問の単一エントリーポイントです。一つの質問で法令・判例・解釈・委員会決定例を並列探索し、総合します。ソースが限定された検索(判例のみ、解釈のみなど)は、各専用ツールを検討してください。

Capabilities

  • 13のドメイン自動分類

  • 質問意図(Intent)の多重検知および優先順位付け

  • 法令 → 判例 → 解釈 → 委員会並列探索

  • 自然言語時間条件フィルタリング (date_from / date_to 自動変換)

Input Schema

パラメータ

タイプ

必須

説明

query

string

ユーザーの法律質問

max_results_per_type

integer

タイプごとの最大結果数 (デフォルト: 3, 最大: 10)

Example Prompts

프리랜서인데 근로자성 인정된 판례 있나요?
최근 3년 부당해고 판례 알려줘
개인정보 유출됐는데 법적으로 어떻게 되나요?
2023다12345 판례 찾아줘

law_article_tool — 法令条文精密照会

法令名と条文番号がわかっている場合に、特定の条項を直接照会します。legal_qa_tool が「探索」なら、このツールは「正確な照会」です。

Input Schema

パラメータ

タイプ

必須

説明

law_name

string

法令名 (例: 労働基準法, 民法)

article_number

string

条文番号 (例: 50, 2)。省略時は法令概要を返却

hang

string

項番号 (例: 1, 2)

ho

string

号番号 (例: 1, 2)

mok

string

目番号 (例: , )

Example Prompts

근로기준법 제50조 내용 알려줘
민법 제750조 3항이 뭐야?
개인정보보호법 제17조

law_comparison_tool — 法令新旧・沿革・3段比較

法令名を基準に、新旧法対照、沿革、3段比較結果を照会します。条文原文の照会は law_article_tool、一般的な質問は legal_qa_tool を使用してください。

Input Schema

パラメータ

タイプ

必須

説明

law_name

string

法令名 (例: 刑法, 民法)

compare_type

string

신구법(新旧法) · 연혁(沿革) · 3단비교(3段比較) (デフォルト: 신구법)

Example Prompts

근로기준법 신구법 비교 보여줘
민법 연혁 조회

document_issue_tool — 契約書・約款分析

文書を貼り付けると、条項単位で法的問題を抽出し、関連法令・判例を自動検索します。

Input Schema

パラメータ

タイプ

必須

説明

document_text

string

契約書・約款全文

auto_search

boolean

条項別の自動法令検索有無 (デフォルト: true)

max_clauses

integer

分析する最大条項数 (デフォルト: 3)

max_results_per_type

integer

タイプごとの最大結果数 (デフォルト: 3)

Supported Document Types

  • labor — 労働契約書 / 業務委託契約書

  • lease — 賃貸借契約書

  • terms — 利用規約

Example Prompts

이 프리랜서 계약서 문제 있는지 봐줘
아래 임대차 계약서에서 불리한 조항 찾아줘

health — サーバー状態確認

MCPサーバーの動作有無、API Key設定状態、環境変数をチェックします。


専用検索ツール (ソース限定)

統合検索(legal_qa_tool)の代わりに、特定のデータのみを探す時に使用します。

ツール名

用途

主要入力

precedent_lookup_tool

判例のみ

keyword または case_number

interpretation_tool

法令解釈・有権解釈など

query, 選択 agency

administrative_appeal_tool

行政審判裁決のみ

query, 選択期間

constitutional_decision_tool

憲法裁判所決定のみ

query, 選択期間

committee_decision_tool

独立委員会などの決定文

committee_type, query

special_administrative_appeal_tool

特別行政審判院裁決

tribunal_type, query

local_ordinance_tool

自治法規(条例など)のみ

query または local_government のうち1つ以上

administrative_rule_tool

行政規則のみ

query または agency のうち1つ以上


MCP Prompts

prompts/list および prompts/get エンドポイントをサポートします。

Prompt名

説明

legal_basis_answer

関連法令の条文番号と判例要旨を含む回答を要求

precedent_summary

判例を事実関係 / 争点 / 判断要旨に要約

contract_risk_check

汎用契約・約款の危険条項チェック。労働・業務委託専用の高密度検討labor_contract_review または document_issue_tool(文書がlaborに分類される時)を使用してください。

labor_contract_review

労働・業務委託契約書の条項別条文・危険度・修正方向の検討(Bタイプ)

legal_qa

特定の状況に対する法律的観点の説明


MCP Resources

resources/list および resources/read エンドポイントをサポートします。

URI Scheme

形式

説明

law://{法令名}

法令本文照会

law://근로기준법

case://{検索語}

判例検索 (上位5件)

case://부당해고

interpret://{検索語}

法令解釈検索 (上位5件)

interpret://근로자성

労働基準法、民法、刑法、個人情報保護法、商法、国家公務員法、行政訴訟法などの主要法令を即座に照会できます。


Installation

Method 1. Local (Python)

git clone https://github.com/SeoNaRu/lexguard-mcp
cd lexguard-mcp
pip install -r requirements.txt
cp .env.example .env   # LAW_API_KEY 설정
python -m src.main

Method 2. Docker Compose (推奨 · ワンラインに近い)

git clone https://github.com/SeoNaRu/lexguard-mcp
cd lexguard-mcp
cp .env.example .env   # LAW_API_KEY 편집
docker compose up --build

ブラウザ/クライアント MCP URL: http://localhost:9099/mcp · ヘルス: http://localhost:9099/health

Method 3. Docker (runのみ)

docker build -t lexguard-mcp .
docker run -p 9099:9099 -e LAW_API_KEY=your_key lexguard-mcp

Method 4. Remote MCP (ホスティングURL)

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "lexguard-mcp": {
      "url": "https://lexguard-mcp.onrender.com/mcp"
    }
  }
}

Cursor (.cursor/mcp.json)

examples/cursor-mcp.remote.json ファイルと同じ:

{
  "mcpServers": {
    "lexguard-mcp": {
      "url": "https://lexguard-mcp.onrender.com/mcp"
    }
  }
}

API Keyの発行

国家法令情報センターのOpen APIキーが必要です。

  1. https://open.law.go.kr で会員登録

  2. API利用申請

  3. .envLAW_API_KEY=発行されたキー を設定


Architecture

Client (Cursor / Claude)
    │ JSON-RPC 2.0 over SSE
    ▼
FastAPI  (/mcp POST)
    │ Rate Limiting (slowapi, 60 req/min/IP)
    ▼
MCP Routes  (tools/call · prompts/get · resources/read)
    │
    ▼
Services  (SmartSearchService · SituationGuidanceService)
    │ asyncio.gather (병렬 멀티 API 호출)
    ▼
Repositories  (Law · Precedent · Interpretation · Appeal · Constitutional …)
    │ httpx (동기/비동기 HTTP 클라이언트)
    │ TTLCache (검색 결과 30분 / 실패 5분)
    │ Exponential Backoff Retry
    ▼
국가법령정보센터 DRF API  (172개 엔드포인트)

検索パイプライン

질문 입력
    → 판례 번호 패턴 조기 감지 (2023다12345 / 2021헌마123)
    → 도메인 분류 + 의도(Intent) 분석
    → 시간 조건 파싱
    → asyncio.gather 병렬 API 호출
    → Reranker (BM25 + Keyword Hybrid 재정렬)
    → 응답 포매팅

主要技術スタック

区分

使用技術

Web Framework

FastAPI + Uvicorn

MCP Transport

Streamable HTTP (SSE)

HTTP Client

httpx (sync + async)

Cache

cachetools TTLCache

Rate Limiting

slowapi

Search Ranking

BM25 + Keyword Hybrid Reranker

CI/CD

GitHub Actions (Python 3.11 / 3.12)

Testing

pytest + pytest-asyncio


Development

# 테스트 실행
pytest tests/ -v

# 린트
ruff check src/

# 로컬 서버 (자동 재로드)
RELOAD=true python -m src.main

License

全文はリポジトリルートの LICENSE ファイルに従います。

  • 使用: MITと同様に、研究・個人・商用利用、修正・配布・再販まで許可されます。

  • 販売・有料提供時: 本ソフトウェアを単独で販売したり、製品・サービスに含めて販売する場合、著作権表示と本ライセンス文言を最終利用者に提供される資料(文書、クレジット・ライセンス画面、パッケージメタデータなど)に含める必要があります。

本案内は要約であり、法的効力は LICENSE 原文が優先されます。


Contribution

Issues & PRs are always welcome. 法律ドメインデータ、検索品質改善、新しいMCPツールのアイデアなど、すべて歓迎します。


LexGuard MCP — 法律情報の手がかりを見つけます。 法律は難しいですが、最初の手がかりは易しくなるはずです。

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SeoNaRu/lexguard-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server