correctover-mcp-server
Enables protocol-level runtime verification of AI agent tool calls across six dimensions with a fail-closed guarantee, blocking any action that fails verification before execution.
README
CCS Runtime Evidence MCP Server
A Model Context Protocol (MCP) server that brings CCS runtime verification to any MCP-compatible client — Claude Desktop, Cursor, Windsurf, and more.
It verifies AI agent tool calls at runtime, blocks unsafe ones by default, issues tamper-evident evidence records for every decision, and verifies that actual tool arguments match the agent's declared intent — catching cross-model parameter drift.
Runtime evidence layer, not a static scanner. Every decision is enforced at call time and produces independently verifiable cryptographic evidence.
Quick Start
npx -y ccs-mcp-server
MCP Client Configuration
{
"mcpServers": {
"ccs-runtime-evidence": {
"command": "npx",
"args": ["-y", "ccs-mcp-server"]
}
}
}
Zero dependencies. 44KB. Pure Node.js stdlib. No install scripts.
Tools
| Tool | Purpose |
|---|---|
verify_tool_call |
7-dimension runtime verification (Structure/Schema/Security/Identity/Integrity/Latency/Cost) + semantic attack-chain analysis + math overflow detection. Blocks by default. |
issue_evidence |
Issue a tamper-evident evidence record (content_hash + evidence_hash, chainable). Produced for allowed AND denied calls. |
audit_mcp_config |
Audit MCP configuration JSON for security risks. |
verify_intent_binding |
(v1.1.0) Verify actual tool arguments match a declared intent — zero tolerance, zero LLM calls. Catches cross-model parameter drift (planner says amount: 100, executor writes amount: 10000 → DENIED). |
Intent Binding — Cross-Model Drift Detection
Agent planners (Claude, GPT) declare one thing; executors (Qwen, DeepSeek) sometimes write another. No existing protocol verifies that actual tool call arguments match the agent's declared intent:
- AP2 signs human authorization — not LLM intent
- AgentPay does baseline tolerance (1%) — not zero-tolerance equivalence
- ACS runs policy decisions — not argument-level equivalence
- VAP (draft-samal-vap-00) explicitly excludes argument semantics from its wire schema
CCS Intent Binding fills this layer. The agent framework declares a structured intent before execution; CCS verifies actual arguments against it in sub-millisecond, zero-LLM time.
Example: amount drift
// Intent declared by planner
{
"intent_id": "int-001",
"intent_type": "payment",
"fields": {
"amount": { "value": 100, "binding_mode": "exact" },
"recipient": { "value": "Alice", "binding_mode": "exact" }
},
"issued_at": 1755000000000,
"ttl_ms": 30000
}
// Actual arguments from executor
{ "amount": 10000, "recipient": "Alice" }
// Result: DENIED — intent_arg_mismatch
// field: amount, expected: 100, actual: 10000
Three binding modes
| Mode | Behavior | Example |
|---|---|---|
exact |
Deep equality with math normalization | 100, 100.0, 1e2 all match; 10000 does not |
numeric_tolerance |
Absolute tolerance | 100 ± 0.01 matches 100.005 |
pattern |
Regex match on string fields | ^[A-Z]{3}$ matches "USD" |
No intent declared? Falls through to standard 7-dimension verification. Zero breaking changes.
What It Detects
- Command injection: shell metacharacters,
curl|sh,rm -rf,eval() - Path traversal:
../,/etc/passwd,/proc/self/ - SSRF:
169.254.169.254(cloud metadata), localhost, private ranges — across any tool - Cross-tool attack chains: read sensitive file → network exfil =
exfil_chain - Environment variable exfiltration: API keys, secrets, credentials
- Obfuscation: hex encoding, base64, privilege escalation signals
- Math safety: integer overflow (>2^53-1), NaN/Infinity
- MCP config risks: plain HTTP, weak secrets,
--insecure, TLS disabled
Evidence Chain
Every decision produces evidence with dual hashes (content_hash + evidence_hash) and chain linkage (parent_evidence_hash). Any third party can independently verify that evidence has not been tampered with — without trusting the operator.
evidence 1: allowed (fs.read_file) parent: null
evidence 2: denied (shell.exec curl|sh) parent: ev1
evidence 3: denied (http.fetch SSRF) parent: ev2
evidence 4: denied (fs + curl exfil) parent: ev3
The 7 CCS Dimensions
- Structure — valid tool name, argument format, nesting depth, payload size
- Schema — type, required fields, enums, ranges, string lengths
- Security — injection, traversal, SSRF, env exfiltration, obfuscation + semantic attack chains
- Identity — caller agent ID verification
- Integrity — request hash validation
- Latency — execution time budget
- Cost — cost budget
Interoperability
CCS receipts are Ed25519-signed, JSON-based, and verifiable offline with zero dependencies. If your project produces or verifies signed attestations, receipts, or evidence records, see INTEGRATION.md — a one-page guide covering:
- Full receipt field schema (22 fields)
- JCS canonicalization spec
- Three levels of interop (same crypto → cross-referenced chains → field-aligned)
- 30-second verification snippets (Node.js + Python)
- Clear scope boundaries (what CCS does / does not cover)
Join technical discussions in GitHub Discussions — receipt interoperability, field mapping proposals, and protocol feedback welcome.
Protocol Context
- IETF: draft-correctover-ccs-06 (Experimental) — RT#55620 submitted
- Complements: VAP draft-samal-vap-00 (scope/budget/purpose), Microsoft ACS (policy decisions), AP2 (human authorization)
- Does not replace: authentication, payment networks, policy engines
Ecosystem
| Project | What it does |
|---|---|
| ccs-demo | Complete INSPECT→SIGN→VERIFY walkthrough — 6 scenarios, zero dependencies, node demo.js |
| ccs-verifier-action | GitHub Action — verify CCS receipts in CI/CD pipelines |
| ccs-mcp-server | Core MCP server (this repo) — runtime verification + evidence signing |
| ccs-proxy | Commercial — inline enforcement proxy with L2 protocol attestation + L3 execution binding (Ed25519 signed receipts) |
Links
- npm: https://www.npmjs.com/package/ccs-mcp-server
- GitHub: https://github.com/DSHCorrectover/ccs-mcp-server
- IETF Draft: https://datatracker.ietf.org/doc/draft-correctover-ccs/
- PyPI (full verifier): https://pypi.org/project/ccs-verifier/
- Demo: https://github.com/DSHCorrectover/ccs-demo
- GitHub Action: https://github.com/DSHCorrectover/ccs-verifier-action
- Discussions: https://github.com/DSHCorrectover/ccs-mcp-server/discussions
- CCS Proxy (commercial): https://dshcorrectover.github.io/ccs-proxy/
- Integration Guide: INTEGRATION.md
License
Elastic License 2.0 (ELv2) — see the full terms. Reference implementation for CCS standard evaluation.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。