ccs-mcp-server 1.2.8 → 1.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -32
- package/package.json +1 -1
- package/src/index.js +1 -1
package/README.md
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
# CCS Runtime Evidence MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://datatracker.ietf.org/doc/draft-correctover-ccs/)
|
|
4
|
+
[](https://www.npmjs.com/package/ccs-mcp-server)
|
|
5
|
+
|
|
3
6
|
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that brings **CCS runtime verification** to any MCP-compatible client — Claude Desktop, Cursor, Windsurf, and more.
|
|
4
7
|
|
|
5
8
|
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.
|
|
6
9
|
|
|
7
10
|
> **Runtime evidence layer, not a static scanner.** Every decision is enforced at call time and produces independently verifiable cryptographic evidence.
|
|
8
11
|
|
|
9
|
-
## Quick Start
|
|
12
|
+
## ⚡ Quick Start — running in 30 seconds
|
|
10
13
|
|
|
11
14
|
```bash
|
|
12
15
|
npx -y ccs-mcp-server
|
|
13
16
|
```
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
Add it to any MCP client — paste this into your `mcpServers` config in Claude Desktop, Cursor or Cline:
|
|
16
19
|
|
|
17
20
|
```json
|
|
18
21
|
{
|
|
@@ -25,7 +28,9 @@ npx -y ccs-mcp-server
|
|
|
25
28
|
}
|
|
26
29
|
```
|
|
27
30
|
|
|
28
|
-
|
|
31
|
+
Or install from the official MCP Registry: search **"Correctover"** inside your client, or open [registry.modelcontextprotocol.io](https://registry.modelcontextprotocol.io/) and find `io.github.Correctover/ccs`.
|
|
32
|
+
|
|
33
|
+
No API key, no account, no environment variables required — an Ed25519 signing key is generated automatically on first run (set `CCS_KEY_DIR`, or `CCS_PRIVATE_KEY`/`CCS_PUBLIC_KEY`, only if you want to pin a persistent key). Zero dependencies. Pure Node.js stdlib (Node ≥ 18). No install scripts.
|
|
29
34
|
|
|
30
35
|
## Tools
|
|
31
36
|
|
|
@@ -34,7 +39,8 @@ Zero dependencies. 44KB. Pure Node.js stdlib. No install scripts.
|
|
|
34
39
|
| `verify_tool_call` | 7-dimension runtime verification (Structure/Schema/Security/Identity/Integrity/Latency/Cost) + semantic attack-chain analysis + math overflow detection. **Blocks by default.** |
|
|
35
40
|
| `issue_evidence` | Issue a tamper-evident evidence record (`content_hash` + `evidence_hash`, chainable). Produced for allowed AND denied calls. |
|
|
36
41
|
| `audit_mcp_config` | Audit MCP configuration JSON for security risks. |
|
|
37
|
-
| `verify_intent_binding` |
|
|
42
|
+
| `verify_intent_binding` | 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). |
|
|
43
|
+
| `verify_receipt` | Offline-verify a CCS Ed25519-signed receipt: checks the signature against the embedded signer public key, reports tampering, and optionally pins an expected signer key or fingerprint. |
|
|
38
44
|
|
|
39
45
|
## Intent Binding — Cross-Model Drift Detection
|
|
40
46
|
|
|
@@ -101,6 +107,8 @@ evidence 3: denied (http.fetch SSRF) parent: ev2
|
|
|
101
107
|
evidence 4: denied (fs + curl exfil) parent: ev3
|
|
102
108
|
```
|
|
103
109
|
|
|
110
|
+
Receipts are Ed25519-signed and JSON-based: verify them offline with the built-in `verify_receipt` tool, or independently with any Ed25519 library. Cross-tool receipt verification (same crypto, chain linkage, field mapping) is designed to work without this package installed.
|
|
111
|
+
|
|
104
112
|
## The 7 CCS Dimensions
|
|
105
113
|
|
|
106
114
|
1. **Structure** — valid tool name, argument format, nesting depth, payload size
|
|
@@ -111,45 +119,19 @@ evidence 4: denied (fs + curl exfil) parent: ev3
|
|
|
111
119
|
6. **Latency** — execution time budget
|
|
112
120
|
7. **Cost** — cost budget
|
|
113
121
|
|
|
114
|
-
## Interoperability
|
|
115
|
-
|
|
116
|
-
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](INTEGRATION.md)** — a one-page guide covering:
|
|
117
|
-
|
|
118
|
-
- Full receipt field schema (22 fields)
|
|
119
|
-
- JCS canonicalization spec
|
|
120
|
-
- Three levels of interop (same crypto → cross-referenced chains → field-aligned)
|
|
121
|
-
- 30-second verification snippets (Node.js + Python)
|
|
122
|
-
- Clear scope boundaries (what CCS does / does not cover)
|
|
123
|
-
|
|
124
|
-
Join technical discussions in **[GitHub Discussions](https://github.com/DSHCorrectover/ccs-mcp-server/discussions)** — receipt interoperability, field mapping proposals, and protocol feedback welcome.
|
|
125
|
-
|
|
126
122
|
## Protocol Context
|
|
127
123
|
|
|
128
|
-
- **IETF**: [draft-correctover-ccs
|
|
124
|
+
- **IETF**: [draft-correctover-ccs](https://datatracker.ietf.org/doc/draft-correctover-ccs/) — an individual Internet-Draft; not an RFC or IETF endorsement, and the Datatracker page is authoritative for revision and status
|
|
129
125
|
- **Complements**: [VAP draft-samal-vap-00](https://datatracker.ietf.org/doc/draft-samal-vap/) (scope/budget/purpose), [Microsoft ACS](https://github.com/microsoft/agent-governance-toolkit) (policy decisions), AP2 (human authorization)
|
|
130
126
|
- **Does not replace**: authentication, payment networks, policy engines
|
|
131
127
|
|
|
132
|
-
## Ecosystem
|
|
133
|
-
|
|
134
|
-
| Project | What it does |
|
|
135
|
-
|---------|-------------|
|
|
136
|
-
| [ccs-demo](https://github.com/DSHCorrectover/ccs-demo) | Complete INSPECT→SIGN→VERIFY walkthrough — 6 scenarios, zero dependencies, `node demo.js` |
|
|
137
|
-
| [ccs-verifier-action](https://github.com/DSHCorrectover/ccs-verifier-action) | GitHub Action — verify CCS receipts in CI/CD pipelines |
|
|
138
|
-
| [ccs-mcp-server](https://github.com/DSHCorrectover/ccs-mcp-server) | Core MCP server (this repo) — runtime verification + evidence signing |
|
|
139
|
-
| [ccs-proxy](https://dshcorrectover.github.io/ccs-proxy/) | **Commercial** — inline enforcement proxy with L2 protocol attestation + L3 execution binding (Ed25519 signed receipts) |
|
|
140
|
-
|
|
141
128
|
## Links
|
|
142
129
|
|
|
143
130
|
- npm: https://www.npmjs.com/package/ccs-mcp-server
|
|
144
131
|
- GitHub: https://github.com/DSHCorrectover/ccs-mcp-server
|
|
145
132
|
- IETF Draft: https://datatracker.ietf.org/doc/draft-correctover-ccs/
|
|
146
133
|
- PyPI (full verifier): https://pypi.org/project/ccs-verifier/
|
|
147
|
-
- Demo: https://github.com/DSHCorrectover/ccs-demo
|
|
148
|
-
- GitHub Action: https://github.com/DSHCorrectover/ccs-verifier-action
|
|
149
|
-
- Discussions: https://github.com/DSHCorrectover/ccs-mcp-server/discussions
|
|
150
|
-
- CCS Proxy (commercial): https://dshcorrectover.github.io/ccs-proxy/
|
|
151
|
-
- Integration Guide: [INTEGRATION.md](INTEGRATION.md)
|
|
152
134
|
|
|
153
135
|
## License
|
|
154
136
|
|
|
155
|
-
|
|
137
|
+
Elastic License 2.0 (ELv2). See [LICENSE](LICENSE).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ccs-mcp-server",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.10",
|
|
4
4
|
"description": "CCS Runtime Evidence MCP Server — 7-dimension runtime verification for AI agent tool calls. Ed25519 receipts, sub-ms OOP, zero deps. For Claude Desktop, Cursor, Windsurf.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
package/src/index.js
CHANGED
|
@@ -32,7 +32,7 @@ const receipts = require("./receipts");
|
|
|
32
32
|
// CCS Verifier Core (pure stdlib Node.js)
|
|
33
33
|
// ---------------------------------------------------------------------------
|
|
34
34
|
|
|
35
|
-
const CCS_VERSION = "1.2.
|
|
35
|
+
const CCS_VERSION = "1.2.9";
|
|
36
36
|
|
|
37
37
|
const DEFAULT_POLICY = {
|
|
38
38
|
mode: "block",
|