Contract Compass

Contract Compass

MCP server for Korean public procurement law, offering LLM-free deterministic rule-based contract-method decisions, statute/regulation search, and live court precedents from law.go.kr.

Category
Visit Server

README

계약나침반 🧭 (Contract Compass)

Korean public procurement law MCP server & web service — a deterministic rule engine for contract-method decisions (94 rules encoded directly from statutes), a searchable corpus of Korean procurement statutes/regulations/adjudication tables, and live court precedents & authoritative interpretations from law.go.kr. All MCP tools are LLM-free: your AI client does the reasoning, this server provides verifiable legal grounds. Remote endpoint: 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당 50콜/일 (전 도구) · 유료 키: 한도 상향 — 요금 안내

도구 설명 LLM
decide_contract_method 룰엔진 결정론 판정 — 계약방법 후보·법령 근거·적격심사 파라미터 ✗
search_law 법령 조문 검색(키워드·조문번호·부분매치·시맨틱 폴백) ✗
get_law_article 조문 원문 전체 조회 (현행) — 법률 자체의 미정비 인용은 notes로 경고 ✗
get_law_article_asof 특정 시점에 시행 중이던 조문 — 과거 계약·처분·감사 대응(행위시법) ✗
search_references 전 코퍼스 통합 검색 — 계약예규·조달청/행안부 적격심사 세부기준(별표)·실무가이드 ✗
search_cases 판례·법령해석례 검색 (law.go.kr 실시간 — 항상 현행) ✗
get_case 판시사항·판결요지·참조조문 / 질의요지·회답·이유 본문 ✗
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을 커넥터로 추가.

도구 명세·아키텍처·한도 정책 상세는 docs/MCP.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 도구 6종
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

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
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

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