build.naru/contract-compass
REMOTE · CONTRACT.NARU.BUILD · SCANNED AUG 3
Korean public procurement law: rule-engine rulings, statutes search, live court precedents
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability60
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2322 tokens (~290/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management13
- Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage67
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · contract.naru.build
claude mcp add --transport http build-naru-contract-compass https://contract.naru.build/mcp
[mcp_servers.build-naru-contract-compass] url = "https://contract.naru.build/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"build-naru-contract-compass": {
"type": "remote",
"url": "https://contract.naru.build/mcp",
"enabled": true
}
}
} openclaw mcp add build-naru-contract-compass --url https://contract.naru.build/mcp --transport streamable-http
mcp_servers:
build-naru-contract-compass:
url: "https://contract.naru.build/mcp" {
"mcpServers": {
"build-naru-contract-compass": {
"type": "http",
"url": "https://contract.naru.build/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +5
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 61
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://contract.naru.build/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=naru.build | CN=WE1,O=Google Trust Services,C=US | 3 Jul 2026 | 1 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | fdfb74853edf528f13dc3a913d12435e |
| SANs: naru.build, *.naru.build | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of contract.naru.build. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| build. | present | 30770, 38839 | 8, 8 | Verified |
| naru.build. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| x-content-type-options | nosniff |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://contract.naru.build/mcp | Verified | 200 | |
| http (plaintext) | http://contract.naru.build/mcp | HTTPS enforced | 301 | https://contract.naru.build/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
decide_contract_method ~578
계약방법 결정론 판정 — 룰엔진이 적용 가능한 계약방법 후보와 법령 근거를 반환. Args: contract_type: "construction"(공사) | "service"(용역) | "product"(물품) estimated_price: 추정가격(원) org_type: "national"(국가기관) | "local"(지자체) | "public_corp"(공기업·준정부, 기본) service_type: 용역일 때 "technical"|"academic"|"facility"|"it_service"|"other" construction_specialty: 공사일 때 "general"(종합)|"electrical"|"ict"|"fire_safety" 등 is_sme_competition_product: 중소기업자간 경쟁제품 여부 negotiation_reason: 수의 사유 "urgent"|"rebid_failure"|"technical_difficulty"| "patent_new_tech"|"specific_person"|"small_repeat"|"other_justified" is_women_enterprise: 여성기업 여부 — 지자체 물품·용역 2천만원 초과 1억원 이하 수의계약(시행령 제25조제1항제5호바목) 판정에 필요. 사용자가 "여성기업", "장애인기업", "사회적기업"이라고 말하면 **반드시 해당 플래그를 세워라** — 빠뜨리면 수의계약 후보가 통째로 빠지고 경쟁입찰만 제시된다. is_disabled_enterprise: 장애인기업 여부 (위와 같은 목) is_social_enterprise: 사회적기업·사회적협동조합·자활기업·마을기업 여부 (위와 같은 목). 이 유형은 행정안전부 고시 취약계층 고용비율 충족이 추가 요건이다. is_youth_startup: 청년창업기업 여부 — 지자체 물품·용역 2천만원 초과 5천만원 이하 수의계약(같은 조 제5호 다목, 중소기업창업 지원법 제2조제11호)
| Name | Type | Req | Description |
|---|---|---|---|
| construction_specialty | — | — | — |
| contract_type | string | yes | — |
| estimated_price | integer | yes | — |
| is_disabled_enterprise | boolean | — | — |
| is_sme_competition_product | boolean | — | — |
| is_social_enterprise | boolean | — | — |
| is_women_enterprise | boolean | — | — |
| is_youth_startup | boolean | — | — |
| negotiation_reason | — | — | — |
| org_type | string | — | — |
| project_name | string | — | — |
| service_type | — | — | — |
No output schema declared.
No examples provided.
get_case ~99
판례/해석례 본문 조회 — 판시사항·판결요지·참조조문(판례) 또는 질의요지·회답·이유(해석례). Args: kind: "prec" | "expc" (search_cases 결과의 kind) case_id: search_cases 결과의 case_id
| Name | Type | Req | Description |
|---|---|---|---|
| case_id | string | yes | — |
| kind | string | yes | — |
No output schema declared.
No examples provided.
get_law_article ~161
법령 조문 원문 전체 조회. 응답의 `notes`가 비어 있지 않으면 **법률 자체의 미정비 상호인용**이 탐지된 것이다(예: 제5항이 '제2항 각 호'를 인용하나 제2항에 각 호가 없음). 원문은 law.go.kr 현행 그대로이며 우리가 고치지 않는다 — 그 조문을 근거로 답할 때는 notes의 내용을 사용자에게 함께 알리고 단정을 피하라. Args: ref: 정확한 조문 참조 (예: "국가계약법 시행령 제26조")
| Name | Type | Req | Description |
|---|---|---|---|
| ref | string | yes | — |
No output schema declared.
No examples provided.
get_law_article_asof ~326
**특정 시점에 시행 중이던** 조문 원문 조회 (law.go.kr 연혁 라이브). get_law_article은 항상 현행이다. 과거 사건에 현행 조문을 적용하면 조용히 틀린 답이 된다 — 계약 체결·입찰공고·처분 시점이 과거이면 **반드시 이 도구를 쓰라**: - "2023년에 체결한 계약인데 지체상금률이 맞나" - "재작년 부정당업자 제재가 당시 기준으로 적법했나" - 감사·분쟁·소송 대응(적용법령은 행위시법이 원칙) 응답 필드: effective_date 그 시점에 시행 중이던 판의 시행일자 is_current 그 판이 지금도 현행인가 (False면 이후 개정됨) prev/next_effective_date 직전·직후 개정 시행일 — 경계 판단용 notes 미정비 상호인용 경고 (get_law_article과 동일) Args: ref: 조문 참조 (예: "국가계약법 제27조", "국가계약법 시행령 제26조") date: 기준일 "YYYY-MM-DD" 또는 "YYYYMMDD" (예: 계약 체결일)
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | — |
| ref | string | yes | — |
No output schema declared.
No examples provided.
report_issue ~307
오류·개선 제보 — 운영자에게 전달된다(웹 피드백과 같은 검토 파이프라인). 사용자가 "틀렸다"고 지적하면 **먼저 이 도구로 제보한 뒤** 정정 답을 제시하라. 도구 결과가 조문·수치·판례와 명백히 불일치할 때도 제보하라. 추측으로 부르지 말 것. 서버가 직전 도구 호출 기록을 자동 첨부하므로 도구명·인자를 기억으로 적을 필요 없다. Args: category: "wrong_citation"(오인용) | "outdated_law"(개정 미반영) | "wrong_ruling"(룰엔진 오판정) | "tool_error"(도구 오류) | "feature_request"(기능 요청) | "other" message: 무엇이 어떻게 잘못됐는지 구체적으로 (근거 조문·기대값 포함 권장) related_tool: 문제가 난 도구명 (예: "search_references") related_query: 문제를 재현하는 질의·입력 expected: 올바르다고 생각하는 값·조문 (알고 있다면)
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | — |
| expected | — | — | — |
| message | string | yes | — |
| related_query | — | — | — |
| related_tool | — | — | — |
No output schema declared.
No examples provided.
search_cases ~201
판례·법령해석례 검색 — law.go.kr 실시간 조회(항상 현행). LLM 미사용. 분쟁·처분취소·해석 다툼("~해도 되나", "~취소될 수 있나")에 조문만으로 부족할 때 쓰라. 본문은 get_case(kind, case_id)로 이어서 조회. Args: query: 핵심 명사 위주 검색어 (예: "부정당업자 제한", "유찰 수의계약") top_k: 종류당 반환 건수 (기본 5, 최대 10) kind: "prec"(법원 판례) | "expc"(법제처 법령해석례) | "all"(둘 다, 기본)
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | — | — |
| query | string | yes | — |
| top_k | integer | — | — |
No output schema declared.
No examples provided.
search_law ~113
법령 조문 검색 — 키워드 또는 조문번호로 조문 스니펫 반환(상위 top_k건). 전문이 필요하면 get_law_article(ref)로 이어서 조회. Args: query: "수의계약", "시행령 제26조", "제21조" 등 top_k: 반환 건수 (기본 8, 최대 20)
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | — |
| top_k | integer | — | — |
No output schema declared.
No examples provided.
search_references ~202
전 코퍼스 통합 검색 — 법령+계약예규+조달청·행안부 세부기준+실무가이드. LLM 미사용. search_law가 법령 조문 전용인 것과 달리 예규·적격심사 세부기준·실무가이드까지 검색한다. 낙찰하한율·적격심사 배점·실무 절차 등 법령 본문 밖 질문에 사용하라. AI 생성 없이 검색 근거 원문만 반환한다(백엔드 LLM 예산 미차감). Args: query: 자연어 검색어 (예: "적격심사 낙찰하한율 50억 미만") top_k: 반환 건수 (기본 6, 최대 12)
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | — |
| top_k | integer | — | — |
No output schema declared.
No examples provided.