AI 계약나침반 (Contract Compass) — Korean public contract method decision assistant. Exposes contract method decision rules, law/statute search, administrative rules, case law, and reference materials as MCP tools for agents (Claude, Codex, etc.) via stdio or HTTP.
Server has 7 tools with complete input schemas and descriptions. Naming follows verb_noun pattern (decide_, search_, get_, report_). Descriptions are substantive (100-200 chars) and explain WHEN to use each tool. All parameters have types and descriptions. However, output schemas are not documented in the source code, only input schemas are visible. Error handling is present (gate denials, quota checks) but recovery guidance is minimal. Tool annotations (readOnlyHint) are correctly applied. The server is well-structured for Korean public contract domain but lacks explicit output schema documentation and some parameter constraints could be tighter.
계약방법 결정론 룰엔진 판정 — 입찰 실패·긴급·기술난제·특허·특정인·소액반복·정당한 사유 등 협상 사유 판정 및 계약방법(일반경쟁·제한경쟁·수의계약 등) 결정
판례·법령해석례 상세 조회 — 판례 또는 법령해석례의 전문 조회
법령 조문 조회 — 법령명과 조문번호로 정확한 조문 본문 조회
도구 오류·부정확 제보 — 도구 결과가 명백히 틀렸거나 사용자가 오류를 지적할 때 제보
판례·법령해석례 검색 — law.go.kr 실시간 판례·법령해석례 검색
법령 조문 검색 — 국가계약법·지방계약법 등 공공계약 관련 법령 조문을 키워드·벡터 하이브리드 검색
Output schemas not documented. Tool descriptions explain inputs but not what fields/structure the LLM should expect in responses. This forces LLMs to guess at response structure and risks misuse of returned data in downstream calls.
search_* tools accept top_k parameter but do not document result limits or pagination strategy. If results exceed context window, no guidance on how to paginate or refine queries.
Error responses from quota gate and access control return structured JSON but lack actionable recovery hints. E.g., 'daily_limit_exceeded' includes a hint, but other errors (e.g., 'no_request_context') do not guide the LLM on next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 72 | 2025-06-18+ | v2 |
예규·적격심사 세부기준·실무가이드 검색 — 공공계약 관련 행정규칙·공개 간행물 전 코퍼스 검색
decide_contract_method has 12 input parameters, some with conditional dependencies (e.g., service_type only applies when contract_type='service'). These dependencies are not documented in parameter descriptions, risking invalid parameter combinations.
report_issue context parameter is typed as 'object' with no schema. LLMs cannot determine what fields to include, risking incomplete or malformed issue reports.