ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

kcp-harness — KCP compliance proxy

โดย Cantaraรุ่น 0.4.1i★ –iรันบนเครื่อง
ชื่อใน registryno.cantara/kcp-harness

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

MCP compliance proxy between agent and tools: deterministic governance, fail-closed, audit trail.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: กฎหมายและข้อมูลภาครัฐ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "kcp-harness": {
      "command": "npx",
      "args": [
        "-y",
        "kcp-harness",
        "serve"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add kcp-harness -- npx -y kcp-harness serve

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "kcp-harness": {
      "command": "npx",
      "args": [
        "-y",
        "kcp-harness",
        "serve"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "kcp-harness": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "kcp-harness",
        "serve"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันโดเมน cantara.no แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด กฎหมายและข้อมูลภาครัฐi

  • ดาวมากกว่า 0% ของอีก 1744 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 18% ของอีก 1744 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1744 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

kcp-harness — KCP compliance proxy ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.1) เข้า registry 4 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Romania Company Check, Japan Company Check, U.S. Public Company Check

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Romania Company Check

โดย JusticeUA

Romania company checks by CUI: status, insolvency, LEI and sanctions from official registers.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

Japan Company Check

โดย JusticeUA

Japan company checks by corporate number: status, closure cause, successor, LEI and sanctions.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

U.S. Public Company Check

โดย JusticeUA

U.S. public company checks by SEC CIK: filing status, bankruptcy 8-K flag, LEI and sanctions.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

kcp-harness

🧾 See it run — interactive KCP playground · read the reveal

Deterministic knowledge governance for any AI agent.

*Your agent can read every file in your project. Can it prove why it read what it read?*

KCP Harness is an MCP compliance proxy that sits between an AI coding agent and its tools. It intercepts knowledge-related calls, routes them through the kcp-agent deterministic planner (14-gate cascade, no LLM), and produces compliance artifacts — decision traces, audit logs, budget ledgers — as a side effect of normal agent operation.

The agent can't bypass governance because it only talks to the proxy's MCP interface. The proxy decides what knowledge is accessible, tracks spend, and logs every decision. Fail-closed: if the harness can't verify a request, the agent gets nothing.

Agent (Claude Code / Cursor / Copilot / Windsurf / Cline / Crush / OpenClaw / ...)

│ │ MCP tool call v ┌─────────────────────────────────────────────────────────┐ │ kcp-harness │ │ │ │ classify → govern (14 gates) → execute → audit │ │ │ │ Side outputs: │ │ · Decision traces (per-request, deterministic) │ │ · Audit log (append-only JSONL) │ │ · Budget ledger (itemized, ceiling-enforced) │ │ · Temporal drift (plan validity over time) │ │ · Approval tickets (named-human sign-off, durable) │ │ · Confidence verdicts (post-synthesis gate) │ └─────────────────────────────────────────────────────────┘ │ v Knowledge manifests (knowledge.yaml)

[Documentation →](https://cantara.github.io/kcp-harness/)

Why

Enterprises need agents that are *defensible* — auditable, reproducible, budget-controlled, temporally pinned. Today's agents can't prove why they read what they read. The harness adds a compliance layer without replacing the agent.

What you keepWhat the harness adds
Your agent (Claude Code, Cursor, Copilot, ...)Deterministic knowledge selection
Your workflow (coding, reviewing, shipping)Decision traces (14 gates per unit)
Your tools (MCP servers, shell, browser)Budget enforcement (ceiling, per-currency)
Temporal governance (drift detection)
Append-only audit log
Replay / cross-examination
Human-approval gates (named reviewer + policy citation)
Confidence gating (post-synthesis, route-to-human)

You sell the compliance layer. The agents are pluggable.

Install

npm install -g kcp-harness

Or use without installing:

npx kcp-harness --help
Native executables

Pre-built binaries (no Node/Deno required) for Linux x64/arm64, macOS x64/arm64, and Windows x64 — grab them from a release. To build one yourself:

npm ci && npm run build

deno compile --allow-read --allow-env --allow-net --allow-run \ --node-modules-dir=auto --output kcp-harness dist/cli.js

Quick start

1. Initialize
kcp-harness init          # creates harness.yaml
2. Generate agent integration
kcp-harness integrate claude-code    # or: pi, cursor, copilot, windsurf, cline, continue, crush, openclaw
3. Start coding

Your agent now routes knowledge access through the harness. Every decision is logged.

Supported agents

AgentConfigIntegration
Claude Code.mcp.json + PreToolUse hookskcp-harness integrate claude-code
Cursor.cursor/mcp.json + .mdc ruleskcp-harness integrate cursor
GitHub Copilot.vscode/mcp.json (uses "servers" key)kcp-harness integrate copilot
Windsurfglobal config + .windsurfruleskcp-harness integrate windsurf
ClineMCP settings + .clineruleskcp-harness integrate cline
Continue.continue/mcpServers/*.yamlkcp-harness integrate continue
Crushcrush.json + PrepareStepkcp-harness integrate crush
OpenClawopenclaw.json + plugin hookskcp-harness integrate openclaw
Pi.pi/mcp.json + project skillskcp-harness integrate pi

Each agent has its own MCP config format, rules file, and quirks. The integrate command handles them all — one governance layer, any agent.

How it works

Every tool call flows through a five-stage pipeline:

1. RECEIVE      MCP JSON-RPC request from agent
  1. CLASSIFY Knowledge-navigation or pass-through?
  2. GOVERN 14-gate cascade (audience → temporal → budget → ...)
  3. EXECUTE Call downstream tool / return content
  4. AUDIT Log decision to append-only audit log
Classifier

The classifier examines each tool call and determines whether it targets governed knowledge. Read("docs/api.md") where docs/ is governed? Route through the planner. Read("package.json") where package.json isn't governed? Pass through. KCP tools (kcp_plan, kcp_load) are always governed.

Governor

Two automated modes, plus a human gate that outranks both:

  • Plan-first (fast path) — the agent calls kcp_plan first. The harness caches the approved plan. Subsequent reads are checked against the cached plan — no re-planning.
  • Auto-plan (fallback) — the agent reads a governed path without planning. The harness runs the planner automatically. Slower, but governance is enforced even for agents that don't know about kcp_plan.
  • Human approval — calls matching a governance.approvals rule are held for a named reviewer (pending), no matter what the automated paths would decide. Tickets survive restarts and resolve via the kcp-harness approvals CLI (or any custom ApprovalProvider channel). Resolutions require a named reviewer *and* a policy citation.
The 14-gate cascade

Every knowledge unit is evaluated through 14 deterministic gates, in order:

audience → not_for → temporal → deprecated → supersession → relevance →

skill_eligibility → attestation → payment → access → strict → max_units → money_budget → context_budget

A unit must pass all gates. The gate that blocks it is recorded in the decision trace. Same inputs → same plan. No model involved.

For the skill_eligibility gate's subject matter — governed kind: skill units — the authoring conventions, linter, and conformance vectors live in Cantara/kcp-skill.

MCP tools

Once connected, agents can use these governance tools:

ToolDescription
kcp_planDeterministic load plan — which units, in what order, which skipped and why
kcp_loadPlan + load eligible unit content
kcp_traceFull 14-gate decision trace
kcp_validateLint a knowledge.yaml
harness_statusCurrent governance state
harness_sessionApproved plans + known units for this session
harness_budgetItemized spend tracking
harness_temporal_checkPlan drift detection
harness_approvalsHuman-approval tickets (pending / approved / dismissed / expired)
harness_assessConfidence-gate a synthesized answer before acting on it

Compliance artifacts

Audit log

Append-only JSONL. Every decision — governed or pass-through — is logged with sequence number, timestamp, tool, targets, and governance decision:

cat .kcp-harness/audit.jsonl | jq 'select(.governed == true)'
Budget ledger

Append-only itemized spend tracking. Per-currency running totals. Ceiling enforcement — a load that would exceed the budget is rejected atomically (no partial loads).

Temporal governance

Plans are registered with a temporal watcher. On subsequent calls, the watcher re-evaluates against the current time. If units have drifted (expired, newly valid), the harness emits a drift event. Long-running sessions stay honest.

Approval tickets

Calls matching an approval rule open a durable ticket (pending_review → approved | dismissed | expired, plus used for a consumed one-shot grant). The ticket store survives restarts — sessions are ephemeral, human review is not. Every resolution records *who* approved, *when*, and *which policy* it satisfies — evidence generated at approval time, never reconstructed from logs.

An approval is a bounded grant, never a standing permission. It covers the session that opened the ticket, the exact tool and target, and the call's arguments digest — and it lapses. Each rule sets grant: once | session | (default session), always capped by governance.approvals.grant_max (default 24h). A call outside a valid grant is denied, audited as grant_denied (expired, wrong_session, used, ...) and opens a *new* ticket. A standing permission is a policy rule, not a click. A grant's window is measured from the store's own clock, not the reviewer-supplied reviewedAt; the first valid resolution of a ticket wins (a dismissed ticket cannot be re-approved by an appended line); with approvals.require_signed_resolutions signatures are verified on every read, not only in resolve(); and approvals.require_args_binding refuses grants from tickets not bound to the call's arguments. What the ticket store does *not* protect — write access to its directory — is stated in the Ticket store trust model. See Governance Model.

Confidence verdicts

harness_assess runs kcp-agent's post-synthesis assess() over a synthesized answer before it may be acted on. The planner gates *loading*, grounding gates *asserting*, this gates *acting*. Below-threshold verdicts on routed configs open an approval ticket with the full verdict embedded as evidence.

Configuration

# harness.yaml

version: "1.0"

governance: domains:

  • manifest: "./knowledge.yaml" paths: ["docs/", "src/"]

policy: fail_closed: true audit_all: true max_units: 5 budget: amount: 1.00 currency: USDC

confidence: # optional post-synthesis gate (harness_assess) threshold: 0.7 severity: critical route_to_role: account-owner

approvals: # optional human-approval gates provider: file rules:

  • match: { tools: [Write, Edit], paths: [records/] } required_role: account-owner expires_after: 72h policy_ref: POL-7.2 grant: session # once | session | 15m / 4h / 1d (default: session) grant_max: 24h # hard cap on any approval's validity (default 24h)

require_signed_resolutions: true # + trusted_keys: verify signatures on every read (recommended)

require_args_binding: true # refuse grants not bound to the call's arguments (recommended)

audit: path: ".kcp-harness/audit.jsonl"

CLI

kcp-harness serve  [--config harness.yaml]   Start the MCP proxy

kcp-harness init Create a harness.yaml template kcp-harness check [--config harness.yaml] Validate configuration kcp-harness integrate [options] Generate agent integration files kcp-harness integrate --list List supported agents kcp-harness export [options] Export compliance evidence (SOC 2 / ISO 27001) kcp-harness dashboard [options] Launch the live compliance dashboard kcp-harness approvals list [--state s] List human-approval tickets kcp-harness approvals approve --reviewer --policy-ref kcp-harness approvals dismiss --reviewer -

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx