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
访问服务器

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选