mcp-kinetic-gain
One MCP server, all twelve Kinetic Gain Protocol Suite specs + the v0.1.0 implementation tooling + the DefenseTech 6-pack. Drop into Claude Desktop, Cursor, or any MCP-compatible client with a single config entry. The agent gains 75 tools (47 spec + 16 implementation-preview + 8 DefenseTech + 4 AI Claims Decision Card, v0.9.0): AEO Protocol, Prompt Provenance, Agent Cards, AI Evidence Format, MCP Tool Cards, AI Tutor Cards, Student AI Disclosure, Classroom AI AUP, Clinical AI Disclosure, AI Incident Card, AI Procurement Decision Card, AI Claims Decision Card - plus hash attestation (ed25519), audit-stream event composition + chain verification (offline AND live against a running audit-stream-py via AUDIT_STREAM_URL), cross-spec drift detection, Decision Intelligence preview, and the DefenseTech vault resolver + invariant checkers. New in v0.9.0: the AI Claims Decision Card (InsurTech, claims_card_version) - claims_card_validate, claims_card_inspect, claims_card_sign, claims_card_chain.
This is the unified read-side companion to kinetic-gain-visualizer: the visualizer renders any of the 12 specs for humans, this server exposes them as callable tools for agents.
Tools
75 tools
aeo_fetch - Fetch the full AEO Protocol declaration at an origin's
aeo_inspect - Return a structured summary of an AEO declaration: entity
aeo_get_claim - Extract a single AEO claim by ID
aeo_well_known_url - Compute the canonical AEO well-known URL for an origin
prompt_provenance_validate - Validate a Prompt Provenance JSON document against the v0.1
prompt_provenance_inspect - Structured summary of a Prompt Provenance document: prompt
prompt_provenance_eval_result - Extract a single evaluation suite's result from a Prompt
agent_card_well_known_url - Compute the canonical Agent Card well-known URL for a given
agent_card_inspect - Structured summary of an Agent Card document
agent_card_tool_disclosure - Return the list of tools an agent declares, with side-effect
agent_card_validate - Validate an Agent Card JSON document against the v0.1 schema.
ai_evidence_validate - Validate an AI Evidence object against the v0.1 schema.
ai_evidence_inspect - Structured summary of an AI Evidence object: claim text
ai_evidence_verify_hash - Compute SHA-256 over the canonical UTF-8 form of
tool_card_well_known_url - Compute the canonical MCP Tool Card well-known URL
tool_card_inspect - Structured summary of an MCP Tool Card: tool identity, safety
tool_card_tested_with - Return the tested-LLM entries for a tool, optionally filtered
tool_card_validate - Validate an MCP Tool Card JSON document against the v0.1
tutor_card_well_known_url - Compute the canonical AI Tutor Card well-known URL
tutor_card_fetch - Fetch a Tutor Card from a URL
tutor_card_validate - Validate an AI Tutor Card JSON document against the v0.1
tutor_card_inspect - Structured summary of a Tutor Card: tutor identity, audience
tutor_card_subject_check - Classify a topic against the tutor's subject scope
tutor_card_coppa_check - Enforce the spec's COPPA conditional rule: if
disclosure_validate - Validate a Student AI Disclosure JSON document against the
disclosure_inspect - Structured summary of a Student AI Disclosure: assignment
disclosure_verify_artifact_hash - Recompute SHA-256 over a candidate artifact and compare to
disclosure_verify_prompt_hash - Verify a single prompt hash in a hashed-mode disclosure
disclosure_aup_check - Surface the disclosure's policy posture: whether an aup_uri
aup_well_known_url - Compute the canonical Classroom AI AUP well-known URL
aup_fetch - Fetch a Classroom AI AUP from a URL
aup_validate - Validate a Classroom AI AUP JSON document against the v0.1
aup_inspect - Structured summary of a Classroom AI AUP: policy identity
aup_check_compliance - HEADLINE TOOL, joins an AUP with a Student AI Disclosure and
clinical_ai_well_known_url - Compute the canonical Clinical AI Card well-known URL
clinical_ai_fetch - Fetch a Clinical AI Card from a URL
clinical_ai_validate - Validate a Clinical AI Card JSON document against the v0.1
clinical_ai_inspect - Structured summary of a Clinical AI Card: system identity
incident_well_known_url - Compute the canonical AI Incident Card well-known URL
incident_fetch - Fetch an AI Incident Card from a URL
incident_validate - Validate an AI Incident Card JSON document against the v0.1
incident_inspect - Structured summary of an AI Incident Card: incident identity
incident_index_fetch - HEADLINE TOOL, fetch a vendor's
decision_card_well_known_url - Compute the canonical AI Procurement Decision Card well-known
decision_card_fetch - Fetch an AI Procurement Decision Card from a URL
decision_card_validate - Validate an AI Procurement Decision Card JSON document
decision_card_inspect - Structured summary of an AI Procurement Decision Card: buyer
decision_card_infer_status - Given a rubric, infer the right decision.status
decision_card_to_policy_bundle - Translate a Decision Card into the PolicyBundle that
decision_card_signature_check - Structural check on a Decision Card's signatures[] block
incident_affected_walk - Walk an Incident Card's affected block and return every
incident_remediation_plan - Map each affected URI in an Incident Card to a recommended
attestation_canonical_hash - Compute the SHA-256 canonical-JSON hash of an arbitrary value
attestation_verify - Verify an ed25519 Attestation envelope
attestation_inspect - Pretty-print an Attestation envelope with structural
audit_event_compose - Build a ready-to-POST audit-stream-py GovernanceEvent
audit_chain_verify - Walk an array of GovernanceEvents top-to-bottom and verify
audit_event_inspect - Pretty-print one GovernanceEvent with structural validation
audit_event_emit - POST one governance event to a running audit-stream-py
audit_events_query - GET recent governance events from a running audit-stream-py
audit_chain_verify_live - Ask a running audit-stream-py instance to walk its own chain
suite_doc_detect_spec - Detect which Kinetic Gain Suite spec a JSON document is by
suite_doc_drift - Structural diff between two versions of the same Suite
defensetech_vault_resolve_3axis - Resolve a (CUI tier, export-control status, foreign-person
defensetech_audit_event_check_invariants - Run all 3 DefenseTech audit-stream invariants against a
defensetech_check_dfars_72h_clock - Check DFARS 252.204-7012(c)(1)(ii) 72-hour cyber-incident
defensetech_check_cui_distribution_statement - Check that a CUI-Specified+ tier event carries the required
defensetech_check_itar_us_person - Check that an ITAR resource event has US-PERSON-VERIFIED (or
defensetech_incident_classify_event_type - Given a freeform description of a defense-AI incident
defensetech_summarize_cmmc_evidence_bundle - Summarize a CMMC L2/L3 readiness evidence bundle: target
defensetech_vault_contract_cross_binding_check - Verify the cross_binding_refs block on a DefenseTech vault
claims_card_validate - Validate an AI Claims Decision Card (InsurTech) JSON document
claims_card_inspect - Structured summary of an AI Claims Decision Card: claim type
claims_card_sign - Compute the canonical SHA-256 hash of an AI Claims Decision
claims_card_chain - Link a new AI Claims Decision Card to its predecessor: sets
Specs with a well-known URL convention (AEO, Agent Cards, Tool Cards) get fetch tools. Specs without one (Prompt Provenance, AI Evidence - these usually travel inline with answers or in repos, not at fixed paths) get parse tools that take a document_json string.
Install
npm install -g mcp-kinetic-gain
Or run without installing via npx:
npx mcp-kinetic-gain
Claude Desktop config
Add to your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"kinetic-gain": {
"command": "npx",
"args": ["-y", "mcp-kinetic-gain"]
}
}
}
Restart Claude. All 75 tools appear in the tools panel. Try:
"Use aeo_inspect on https://mizcausevic-dev.github.io to summarize the entity declaration, then use ai_evidence_verify_hash to check the content_hash of an evidence object against my candidate text."
CLI mode (v0.5.1+)
The same binary doubles as a Suite JSON validator outside any MCP host. Useful in CI, pre-commit hooks, or local sanity-checks.
npx mcp-kinetic-gain validate path/to/ai-entity.json
npx mcp-kinetic-gain validate ".well-known/**/*.json"
npx mcp-kinetic-gain validate cards/clinical-*.json cards/incident-*.json
npx mcp-kinetic-gain --version
npx mcp-kinetic-gain --help
The CLI auto-detects which Suite spec each file belongs to via its top-level version field (aeo_version, clinical_ai_card_version, aup_version, etc.) and validates it against the same zod schemas the MCP tools use. Output is GitHub-Actions-aware: when GITHUB_ACTIONS=true, failures emit ::error:: workflow commands so they surface as PR annotations.
Exit codes:
0 | Every matched file passed validation |
1 | At least one file failed validation, failed to parse, or hit a config error |
2 | No file in the input matched a known Suite spec |
3 | Usage error (missing arg, unknown flag) |
Running mcp-kinetic-gain with no arguments still launches the stdio MCP server - existing Claude Desktop / Cursor configs are unaffected.
Why one server instead of five?
- One Claude Desktop config entry instead of five
- Cross-spec workflows are atomic - an agent can
agent_card_tool_disclosure to find a Tool Card URI, then call tool_card_inspect on that URI in the same conversation, all through one server
- Shared schemas + utilities keep the implementation cohesive
- Deprecation path - if mcp-aeo-server (the AEO-only predecessor) gets retired, the AEO tools live on here with the same names and contracts
Architecture
src/
├── server.ts # MCP entrypoint, handler dispatch
├── tools.ts # 75 tool descriptors (JSON Schema inputs)
├── schemas.ts # zod schemas for every spec
├── common.ts # fetchJson, canonicalSha256, pretty
└── handlers/
├── aeo.ts
├── prompt-provenance.ts
├── agent-card.ts
├── ai-evidence.ts
└── tool-card.ts
Each handler module is independent and could be split into a separate package if needed.
Hash canonicalization
ai_evidence_verify_hash follows the AI Evidence Format spec's canonical SHA-256 rules:
- Read content as UTF-8
- Normalize line endings to
\n
- Strip a single trailing newline
- SHA-256, lowercase hex, prefixed
sha256:
If your candidate_text produces an unexpected mismatch, check CRLF vs LF and trailing newlines first.
Tests
126 unit tests against an in-process Node HTTP server (no external network). Every tool's happy path + at least one error path, plus a live local-HTTP synthetic-index test for incident_index_fetch:
npm install
npm run typecheck
npm test
npm run build
License
This server: AGPL-3.0. Reference implementation. Commercial SaaS hosts must share modifications back.
The specs themselves: MIT. Maximally permissive. Anyone may implement, validate against, or extend any Kinetic Gain Protocol Suite specification. The dual-license split is deliberate: the protocol stays open, the reference server is copyleft.
Kinetic Gain Protocol Suite
75 tools total across the twelve specs below plus cross-cutting ops (hash attestation, audit-stream events, cross-spec drift) and the DefenseTech tooling. See the Tools catalog above for the full per-tool list (47 spec + 16 implementation-preview + 8 DefenseTech + 4 AI Claims Decision Card).
| AEO Protocol | Core |
| Prompt Provenance | Core |
| Agent Cards | Core |
| AI Evidence Format | Core |
| MCP Tool Cards | Core |
| AI Tutor Cards | EdTech |
| Student AI Disclosure | EdTech (FERPA/COPPA) |
| Classroom AI AUP | EdTech |
| Clinical AI Disclosure | HealthTech (FDA SaMD + HIPAA) |
| AI Incident Card | Cross-cutting (EU AI Act Article 73) |
| AI Procurement Decision Card | Cross-cutting (buyer-side, OMB M-24-10 / NIST AI RMF rubric-friendly) |
Suite hub: suite.kineticgain.com
Companion visualizer: kinetic-gain-visualizer
Red-team bench: prompt-injection-bench
Connect: LinkedIn · Kinetic Gain · Medium · Skills