contract-compass について
contract-compass は、韓国の公共調達に携わる人や AI クライアント向けのオープンソース法律サービスです。決定論的なルールエンジンが契約方式を判定し、MCP ツールが法令・指針・最新の判例を LLM なしで検索します。
主な機能
- 01契約方式を決定論的に判定
- 02調達関連法令と資料を検索
- 03最新の判例と法令解釈を検索
- 04現行または過去の条文を取得
- 05遅延賠償額と免責事由を推定
- 06価格調整の条件を確認
活用シーン
- 01契約方式と根拠条文を特定
- 02過去の日付に適用された法令を確認
- 03調達関連の判例や解釈を調査
- 04遅延賠償や契約価格の調整を推定
MCP 対応
MCP サーバーは契約方式の判定、調達法令・資料の検索、判例照会、賠償額の推定、価格調整の確認を行う 11 種類のツールを提供します。ツールは LLM を使わず、AI クライアントは返された法的根拠をもとに推論できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://contract.sallim.app/mcp?via=officialclaude mcp add --transport http app-sallim-contract-compass https://contract.sallim.app/mcp?via=official{"mcpServers":{"app-sallim-contract-compass":{"type":"http","url":"https://contract.sallim.app/mcp?via=official"}}}Cursor で開く{"servers":{"app-sallim-contract-compass":{"type":"http","url":"https://contract.sallim.app/mcp?via=official"}}}VS Code で開く{"mcpServers":{"app-sallim-contract-compass":{"type":"http","url":"https://contract.sallim.app/mcp?via=official"}}}{"mcpServers":{"app-sallim-contract-compass":{"serverUrl":"https://contract.sallim.app/mcp?via=official"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
11| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| org_type | enum | いいえ | national | local | public_corp |
| project_name | string | いいえ | |
| service_type | any | いいえ | |
| contract_type | enum | はい | construction | service | product |
| bid_notice_date | any | いいえ | |
| estimated_price | integer | はい | |
| is_youth_startup | boolean | いいえ | |
| selected_rule_id | any | いいえ | |
| follow_up_answers | any | いいえ | |
| negotiation_reason | any | いいえ | |
| is_small_enterprise | boolean | いいえ | |
| is_women_enterprise | boolean | いいえ | |
| is_social_enterprise | boolean | いいえ | |
| is_special_expertise | boolean | いいえ | |
| construction_specialty | any | いいえ | |
| is_disabled_enterprise | boolean | いいえ | |
| selected_alternative_kind | any | いいえ | |
| is_sme_competition_product | boolean | いいえ |
詳細
契約コンパス 🧭 (Contract Compass)
韓国公共調達法MCPサーバー&ウェブサービス — 契約方式の決定に用いる決定論的なルール エンジン(法令から直接エンコードした94のルール)、韓国の調達関連法令・規則・審査基準表を 検索できるコーパス、law.go.krから取得する最新の裁判例・権威ある解釈を提供します。 MCPのツールはすべてLLMを使用しません。推論はAIクライアントが行い、このサーバーは 検証可能な法的根拠を提供します。リモートエンドポイント:
https://contract.sallim.app/mcp
公共契約方式決定アシスタント — 国家契約法・地方契約法などの公共契約関連法令に基づき、 発注する契約(工事・役務・物品)に適用可能な契約方式(入札・随意契約・制限競争など)と 法的根拠を決定論的に案内するオープンソースのウェブサービス+MCP サーバーです。
- 決定ウィザード:契約種別・推定価格・条件を入力すると、ルールエンジン(法令から直接エンコードした94のルール)が 適用可能な契約方式・落札者の決定方法・適格審査基準を、候補と根拠条文とともに提示します
- 法令チャットボット(Ask):国家契約法令・契約例規・監査院の公共契約実務ガイドなど、公開コーパスに 基づくRAG検索+引用付き回答(ウェブUI専用)
- MCP サーバー(LLM不使用):Claude・ChatGPT・CursorなどのAI エージェントがルールエンジンの判定、法令条文、 例規・適格審査の詳細基準(別表を含む)、**裁判例・法令解釈例(law.go.krからリアルタイム取得)**を直接照会します
- 機関種別に対応:国家機関/地方自治体/公企業・準政府機関のプロファイル
- 決定論を優先:契約方式の決定はLLMではなくルールエンジンが行います。同じ入力には常に同じ 結果を返します。LLMはウェブチャットボット・説明の生成にのみ使用します(キーがなくても主要機能は動作します)
⚠️ 免責事項:このサービスは情報提供を目的としており、法的助言や権威ある解釈ではありません。 適格審査の合格点・落札下限率・各種上限は、発注機関ごとの詳細基準や法令改正により 異なる場合があります。実際に発注する前に、必ず所属機関の契約部門と現行法令をご確認ください。
MCP サーバーの使用方法
リモートエンドポイント(Streamable HTTP):https://contract.sallim.app/mcp
無料:IPあたり1日50回(全ツール合計)・有料キー:上限引き上げ — 料金案内
ツール一覧(11種)— Tools / ツール
以下の表はライブサーバーのtools/listレスポンスからそのまま抽出したものです(2026-08-18実測、全11種)。
MCPディレクトリ・クローラーがこのリポジトリを静的に読み込む際にツール名を探す箇所のため、サーバーの実際の
ツール一覧と1対1で一致するよう維持しています(不一致は回帰として扱います)。誰でも再現できます:
curl -s -X POST https://contract.sallim.app/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# → decide_contract_method, search_law, search_references, search_cases, get_case,
# get_law_article, get_law_article_asof, estimate_delay_penalty,
# delay_exemption_guide, check_price_adjustment, report_issue (11 tools)
| ツール | 説明 | LLM |
|---|---|---|
decide_contract_method | ルールエンジンによる決定論的判定 — 契約方式の候補・法的根拠・適格審査パラメーター | ✗ |
search_law | 法令条文検索(キーワード・条文番号・部分一致・セマンティックフォールバック) | ✗ |
get_law_article | 条文全文の取得(現行)— 法律自体の未整備な引用はnotesで警告 | ✗ |
get_law_article_asof | 特定の時点で施行されていた条文 — 過去の契約・処分・監査対応(行為時法) | ✗ |
search_references | 全コーパス横断検索 — 契約例規・調達庁/行政安全部の適格審査詳細基準(別表)・実務ガイド | ✗ |
search_cases | 裁判例・法令解釈例を検索(law.go.krからリアルタイム取得 — 常に現行) | ✗ |
get_case | 判示事項・判決要旨・参照条文/質問の要旨・回答・理由の本文 | ✗ |
estimate_delay_penalty | 遅延賠償金・遅延賠償額の算定 — 法定率・基準額・30%上限を決定論的に適用(国家と地方では料率が異なります) | ✗ |
delay_exemption_guide | 遅延日数に算入しない(免責)事由のガイド — 例規上の事由・確認すべき事実・企画財政部/行政安全部の回答先例 | ✗ |
check_price_adjustment | 物価変動による契約金額の調整 — 90日・3%・単品の基準(国家15%/地方10%)を判定+調整金額・前払金控除の計算式 | ✗ |
report_issue | 不具合・改善の報告(誤引用・改正未反映など)— 運用レビューのパイプラインに直結 | ✗ |
クライアント設定:
# Claude Code
claude mcp add --transport http contract-compass https://contract.sallim.app/mcp
// Cursor (.cursor/mcp.json) — Streamable HTTP 직접 지원
{ "mcpServers": { "contract-compass": { "url": "https://contract.sallim.app/mcp" } } }
// Claude Desktop (claude_desktop_config.json) — mcp-remote 경유
{ "mcpServers": { "contract-compass": {
"command": "npx", "args": ["-y", "mcp-remote", "https://contract.sallim.app/mcp"] } } }
ChatGPT:Settings → Connectors → Developer modeで、上記URLをコネクターとして追加します。
インストールしたら、AIに次のように尋ねて30秒以内に確認してください — 「国家機関が2,000万ウォンの物品を購入しようとしています。どの契約方式を使えますか?根拠条文も教えてください。」 少額随意契約と国家契約法施行令第26条第1項第5号が表示されれば正常です。
ツール仕様・アーキテクチャ・上限ポリシーの詳細はdocs/MCP.mdを参照してください。
評価セット — 判定を第三者が追検証できるように
このサーバーが何を正しく判定し、何を判定できないかはevaluation.xmlで
公開されています(20問、回答はすべて実測値)。作り上げた問題はありません — 未検証の問題は
回帰テストで誤った失敗を引き起こすためです。
機械検証は決定論的回帰ハーネスが行います。LLMを使わず、費用をかけずに再現できます:
python3 tools/mcp_regression.py --endpoint https://contract.sallim.app/mcp
# 28 케이스 · exit 0=전부 PASS / 1=회귀 존재 / 2=서버 미도달
各ケースは、過去に実際に発見・修正された不具合の回帰テストです(削除された条文を根拠のように 返していた問題、地方自治体の判定に国家の数値が混在していた問題など)。無料プランはIPあたり1日50回で、 このテストスイートは28回分を使用するため、1日に1回が上限です。
金額帯別の契約方式・随意契約の事由・用語ガイドの各ページ(/g/)の生成・検証・公開手順は
docs/PROGRAMMATIC_SEO.mdを参照してください — ルールセットから派生して生成するため、
ページを手動で編集しないでください。
ローカルでstdio実行:python3 mcp/server.py(登録:codex mcp add contract-compass -- python3 /path/to/mcp/server.py)
構成
backend/ FastAPI — 룰엔진·RAG·LLM 연동 (frontend/dist 정적 서빙 포함, :8402)
frontend/ React + TypeScript (Vite) — 위저드 UI
mcp/ MCP 서버 — stdio(로컬) / Streamable HTTP(:8403, 원격) · 무LLM 도구 11종
edge/ Cloudflare Worker (contract-edge) — 장애 폴백 게이트 · law API 엣지 캐시
rules/ 계약 룰셋 JSON (contract_rules·law_registry 등) ← 결정론 핵심
tools/ 법령·예규·별표 수집/인덱싱 파이프라인 (law.go.kr Open API) · 가이드 페이지 생성기
etl/ PDF/DOCX → 청크 → ChromaDB 파이프라인
docs/ MCP 명세 · 장애 전환 런북 · 가이드 페이지 파이프라인
scripts/ 스탠바이 동기화 · 반출 전 기밀 검사
tests/ 단위·회귀 테스트 + Ask 질문뱅크
クイックスタート
# 1) 백엔드 의존성 (+ MCP 서버까지 쓰려면 mcp/requirements.txt 추가)
pip install -r backend/requirements.txt
# 2) 프론트 빌드 (Node.js는 빌드 때만 필요)
cd frontend && npm install && npm run build && cd ..
# 3) 환경설정 (선택 — LLM 키 없이도 동작)
cp .env.example .env
# 4) 실행 (rate limiter는 SQLite 공유 — 다중 워커 가능, 코어 수에 맞춰 조정)
python3 -m uvicorn backend.main:app --host 0.0.0.0 --port 8402
RAGコーパスの構築(任意)
法令チャットボット・根拠検索を使うには、公開コーパスをインデックス化します:
# 법령 XML을 tools/laws/ 에 준비(law.go.kr Open API — tools/lib/lawgo.py 헬퍼 참조) 후 인덱싱
python3 tools/index_laws.py # → law_articles 컬렉션
# 계약예규(행정규칙) 수집·인덱싱
python3 tools/fetch_admin_rules.py && python3 tools/parse_admin_rules.py
python3 tools/index_admin_rules.py # → admin_rules 컬렉션
# 법령 별표·적격심사 세부기준 전문 PDF (부정당 제재기준·하자담보기간·낙찰하한율 별표)
python3 tools/fetch_law_tables.py
# 공개 간행물(감사원 공공계약 실무가이드 등)을 data/source_docs/ 에 넣고
python3 tools/reindex_qa.py # → public_guides 컬렉션
# BM25 하이브리드 인덱스
python3 tools/build_bm25_index.py
コーパスがなくてもウィザード(ルールエンジン)は正常に動作し、RAG検索結果のみ空になります。
裁判例・法令解釈例の照会はコーパスに関係なく、law.go.kr Open APIキー(LAW_API_KEY)があれば動作します。
データソース(すべて公開資料)
- 法令・施行令・施行規則・別表・裁判例・法令解釈例:国家法令情報センター Open API(出典表示)
- 契約例規(適格審査基準・政府入札・契約執行基準など):企画財政部の行政規則
- 適格審査詳細基準:調達庁・行政安全部の行政規則
- 公共契約実務ガイド:監査院の公開刊行物
- 物品分類・中小企業者間の競争製品:調達庁・中小ベンチャー企業部の告示
라이선스
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。