# app.sallim/contract-compass (remote · contract.sallim.app)

Korean public procurement law: rule-engine rulings, statutes search, live court precedents

- Trust score: 64/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `contract.sallim.app`: 64/100 (this document), [markdown](https://verifymcp.io/servers/app-sallim-contract-compass/contract.md), [page](https://verifymcp.io/servers/app-sallim-contract-compass/contract)

## Channel facts

- Endpoint: `https://contract.sallim.app/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.2`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 54/100
  - AI-judged instruction clarity (good).
  - 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.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 67/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### Claude

```bash
claude mcp add --transport http app-sallim-contract-compass https://contract.sallim.app/mcp
```

### Codex

```toml
[mcp_servers.app-sallim-contract-compass]
url = "https://contract.sallim.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-sallim-contract-compass": {
      "type": "remote",
      "url": "https://contract.sallim.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-sallim-contract-compass --url https://contract.sallim.app/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  app-sallim-contract-compass:
    url: "https://contract.sallim.app/mcp"
```

### Other

```json
{
  "mcpServers": {
    "app-sallim-contract-compass": {
      "type": "http",
      "url": "https://contract.sallim.app/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 63, +5)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 58, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 58)

First indexed and scored.

## MCP tools (8)

### `decide_contract_method` (~578 tokens)

계약방법 결정론 판정 — 룰엔진이 적용 가능한 계약방법 후보와 법령 근거를 반환.

    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호)

Input parameters:

- `construction_specialty`
- `contract_type` (string, required)
- `estimated_price` (integer, required)
- `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`

### `search_law` (~113 tokens)

법령 조문 검색 — 키워드 또는 조문번호로 조문 스니펫 반환(상위 top_k건).

    전문이 필요하면 get_law_article(ref)로 이어서 조회.

    Args:
        query: "수의계약", "시행령 제26조", "제21조" 등
        top_k: 반환 건수 (기본 8, 최대 20)

Input parameters:

- `query` (string, required)
- `top_k` (integer)

### `search_references` (~202 tokens)

전 코퍼스 통합 검색 — 법령+계약예규+조달청·행안부 세부기준+실무가이드. LLM 미사용.

    search_law가 법령 조문 전용인 것과 달리 예규·적격심사 세부기준·실무가이드까지
    검색한다. 낙찰하한율·적격심사 배점·실무 절차 등 법령 본문 밖 질문에 사용하라.
    AI 생성 없이 검색 근거 원문만 반환한다(백엔드 LLM 예산 미차감).

    Args:
        query: 자연어 검색어 (예: "적격심사 낙찰하한율 50억 미만")
        top_k: 반환 건수 (기본 6, 최대 12)

Input parameters:

- `query` (string, required)
- `top_k` (integer)

### `search_cases` (~201 tokens)

판례·법령해석례 검색 — law.go.kr 실시간 조회(항상 현행). LLM 미사용.

    분쟁·처분취소·해석 다툼("~해도 되나", "~취소될 수 있나")에 조문만으로 부족할 때
    쓰라. 본문은 get_case(kind, case_id)로 이어서 조회.

    Args:
        query: 핵심 명사 위주 검색어 (예: "부정당업자 제한", "유찰 수의계약")
        top_k: 종류당 반환 건수 (기본 5, 최대 10)
        kind: "prec"(법원 판례) | "expc"(법제처 법령해석례) | "all"(둘 다, 기본)

Input parameters:

- `kind` (string)
- `query` (string, required)
- `top_k` (integer)

### `get_case` (~99 tokens)

판례/해석례 본문 조회 — 판시사항·판결요지·참조조문(판례) 또는 질의요지·회답·이유(해석례).

    Args:
        kind: "prec" | "expc" (search_cases 결과의 kind)
        case_id: search_cases 결과의 case_id

Input parameters:

- `case_id` (string, required)
- `kind` (string, required)

### `get_law_article` (~161 tokens)

법령 조문 원문 전체 조회.

    응답의 `notes`가 비어 있지 않으면 **법률 자체의 미정비 상호인용**이 탐지된
    것이다(예: 제5항이 '제2항 각 호'를 인용하나 제2항에 각 호가 없음). 원문은
    law.go.kr 현행 그대로이며 우리가 고치지 않는다 — 그 조문을 근거로 답할 때는
    notes의 내용을 사용자에게 함께 알리고 단정을 피하라.

    Args:
        ref: 정확한 조문 참조 (예: "국가계약법 시행령 제26조")

Input parameters:

- `ref` (string, required)

### `get_law_article_asof` (~326 tokens)

\**특정 시점에 시행 중이던** 조문 원문 조회 (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" (예: 계약 체결일)

Input parameters:

- `date` (string, required)
- `ref` (string, required)

### `report_issue` (~307 tokens)

오류·개선 제보 — 운영자에게 전달된다(웹 피드백과 같은 검토 파이프라인).

    사용자가 "틀렸다"고 지적하면 **먼저 이 도구로 제보한 뒤** 정정 답을 제시하라.
    도구 결과가 조문·수치·판례와 명백히 불일치할 때도 제보하라. 추측으로 부르지 말 것.
    서버가 직전 도구 호출 기록을 자동 첨부하므로 도구명·인자를 기억으로 적을 필요 없다.

    Args:
        category: "wrong_citation"(오인용) | "outdated_law"(개정 미반영) |
            "wrong_ruling"(룰엔진 오판정) | "tool_error"(도구 오류) |
            "feature_request"(기능 요청) | "other"
        message: 무엇이 어떻게 잘못됐는지 구체적으로 (근거 조문·기대값 포함 권장)
        related_tool: 문제가 난 도구명 (예: "search_references")
        related_query: 문제를 재현하는 질의·입력
        expected: 올바르다고 생각하는 값·조문 (알고 있다면)

Input parameters:

- `category` (string, required)
- `expected`
- `message` (string, required)
- `related_query`
- `related_tool`

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/app-sallim-contract-compass/contract#diagnostics

## Score history

- 2026-08-03: 64
- 2026-08-02: 64
- 2026-08-01: 63
- 2026-07-31: 58
- 2026-07-30: 58

## Links

- Remote endpoint: https://contract.sallim.app/mcp
- Repository: https://github.com/sallim-app/contract-compass
- Website: https://contract.sallim.app/
- Changelog RSS feed: https://verifymcp.io/servers/app-sallim-contract-compass/contract/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-sallim-contract-compass/contract/changelog.json
- HTML version of this page: https://verifymcp.io/servers/app-sallim-contract-compass/contract
