{"id":"d73edd16-748b-4e4f-9e85-0468d1010a23","slug":"mcp-kinetic-gain","kind":"mcp","name":"mcp-kinetic-gain","summary":"Unified MCP server for all 12 Kinetic Gain Protocol Suite specs + DefenseTech (8 tools): 75 callable tools (47 spec + 16 implementation + 8 DefenseTech + 4 AI Claims Decision Card). One Claude Desktop","owner":"mizcausevic-dev","repoUrl":"https://github.com/mizcausevic-dev/mcp-kinetic-gain","license":"AGPL-3.0","licenseTier":"strong-copyleft","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-05-12T16:27:50.000Z","addedAt":"2026-10-14T05:48:01.597Z","logoUrl":"https://avatars.githubusercontent.com/u/150495873?u=8baea76060184277d48c9f5beae7187f08997a76&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra","memory-knowledge"],"tags":["aeo","agent-cards","kinetic-gain-protocol-suite","prompt-provenance","audit-stream","clinical-ai","compliance","defensetech"],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-14T17:15:32.389Z","sample":false,"url":"https://conduits.dev/tools/mcp-kinetic-gain","language":"TypeScript","transports":["stdio"],"install":{"npm":"mcp-kinetic-gain"},"requirements":{"env":[{"name":"AUDIT_STREAM_URL","secret":false,"required":false,"description":"Optional HTTPS URL (or loopback HTTP URL) of an audit-stream-py instance. Live tools also require AUDIT_STREAM_TOKEN."},{"name":"AUDIT_STREAM_TOKEN","secret":true,"required":false,"description":"Bearer token for optional live audit-stream tools; at least 32 visible ASCII characters. Configure through a local secret source."}],"upstreamMayCharge":false},"tools":null,"readme":"# mcp-kinetic-gain\n\nOne **MCP server**, all twelve [Kinetic Gain Protocol Suite](https://suite.kineticgain.com/) specs + the v0.1.0 implementation tooling + the DefenseTech 6-pack semantics (8 tools). 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`.\n\nThis is the agent-facing companion to [kinetic-gain-visualizer](https://github.com/mizcausevic-dev/kinetic-gain-visualizer): the visualizer renders the specs for humans, while this server exposes validation and workflow tools for agents. The optional `audit_event_emit` tool sends an event to a configured audit-stream service.\n\n## Tools\n\n<!-- BEGIN TOOL CATALOG (generated by scripts/gen-readme-tools.mjs from src/tools.ts - do not hand-edit) -->\n<details>\n<summary>75 tools</summary>\n\n- `aeo_fetch` - Fetch the full AEO Protocol declaration at an origin's\n- `aeo_inspect` - Return a structured summary of an AEO declaration: entity\n- `aeo_get_claim` - Extract a single AEO claim by ID\n- `aeo_well_known_url` - Compute the canonical AEO well-known URL for an origin\n- `prompt_provenance_validate` - Validate a Prompt Provenance JSON document against the v0.1\n- `prompt_provenance_inspect` - Structured summary of a Prompt Provenance document: prompt\n- `prompt_provenance_eval_result` - Extract a single evaluation suite's result from a Prompt\n- `agent_card_well_known_url` - Compute the canonical Agent Card well-known URL for a given\n- `agent_card_inspect` - Structured summary of an Agent Card document\n- `agent_card_tool_disclosure` - Return the list of tools an agent declares, with side-effect\n- `agent_card_validate` - Validate an Agent Card JSON document against the v0.1 schema.\n- `ai_evidence_validate` - Validate an AI Evidence object against the v0.1 schema.\n- `ai_evidence_inspect` - Structured summary of an AI Evidence object: claim text\n- `ai_evidence_verify_hash` - Compute SHA-256 over the canonical UTF-8 form of\n- `tool_card_well_known_url` - Compute the canonical MCP Tool Card well-known URL\n- `tool_card_inspect` - Structured summary of an MCP Tool Card: tool identity, safety\n- `tool_card_tested_with` - Return the tested-LLM entries for a tool, optionally filtered\n- `tool_card_validate` - Validate an MCP Tool Card JSON document against the v0.1\n- `tutor_card_well_known_url` - Compute the canonical AI Tutor Card well-known URL\n- `tutor_card_fetch` - Fetch a Tutor Card from a URL\n- `tutor_card_validate` - Validate an AI Tutor Card JSON document against the v0.1\n- `tutor_card_inspect` - Structured summary of a Tutor Card: tutor identity, audience\n- `tutor_card_subject_check` - Classify a topic against the tutor's subject scope\n- `tutor_card_coppa_check` - Enforce the spec's COPPA conditional rule: if\n- `disclosure_validate` - Validate a Student AI Disclosure JSON document against the\n- `disclosure_inspect` - Structured summary of a Student AI Disclosure: assignment\n- `disclosure_verify_artifact_hash` - Recompute SHA-256 over a candidate artifact and compare to\n- `disclosure_verify_prompt_hash` - Verify a single prompt hash in a hashed-mode disclosure\n- `disclosure_aup_check` - Surface the disclosure's declared policy posture and any\n- `aup_well_known_url` - Compute the canonical Classroom AI AUP well-known URL\n- `aup_fetch` - Fetch a Classroom AI AUP from a URL\n- `aup_validate` - Validate a Classroom AI AUP JSON document against the v0.1\n- `aup_inspect` - Structured summary of a Classroom AI AUP: policy identity\n- `aup_check_compliance` - Compare an AUP with a Student AI Disclosure on eight declared\n- `clinical_ai_well_known_url` - Compute the canonical Clinical AI Card well-known URL\n- `clinical_ai_fetch` - Fetch a Clinical AI Card from a URL\n- `clinical_ai_validate` - Validate a Clinical AI Card JSON document against the v0.1\n- `clinical_ai_inspect` - Structured summary of a Clinical AI Card: system identity\n- `incident_well_known_url` - Compute the canonical AI Incident Card well-known URL\n- `incident_fetch` - Fetch an AI Incident Card from a URL\n- `incident_validate` - Validate an AI Incident Card JSON document against the v0.1\n- `incident_inspect` - Structured summary of an AI Incident Card: incident identity\n- `incident_index_fetch` - HEADLINE TOOL, fetch a vendor's\n- `decision_card_well_known_url` - Compute the canonical AI Procurement Decision Card well-known\n- `decision_card_fetch` - Fetch an AI Procurement Decision Card from a URL\n- `decision_card_validate` - Validate an AI Procurement Decision Card JSON document\n- `decision_card_inspect` - Structured summary of an AI Procurement Decision Card: buyer\n- `decision_card_infer_status` - Validate each rubric row, then infer a preview decision.status\n- `decision_card_to_policy_bundle` - Read-only deny preview for rejected, withdrawn, expired, or\n- `decision_card_signature_check` - Structural check on a Decision Card's signatures[] block\n- `incident_affected_walk` - Walk an Incident Card's affected block and return every\n- `incident_remediation_plan` - Map each affected URI in an Incident Card to a recommended\n- `attestation_canonical_hash` - Compute the SHA-256 canonical-JSON hash of an arbitrary value\n- `attestation_verify` - Verify an ed25519 Attestation envelope against a body and\n- `attestation_inspect` - Pretty-print an Attestation envelope with structural\n- `audit_event_compose` - Build a ready-to-POST audit-stream-py GovernanceEvent\n- `audit_chain_verify` - Walk an array of GovernanceEvents top-to-bottom and verify\n- `audit_event_inspect` - Pretty-print one GovernanceEvent with structural validation\n- `audit_event_emit` - POSTs a governance event to the audit-stream-py instance\n- `audit_events_query` - GET recent governance events from a running audit-stream-py\n- `audit_chain_verify_live` - Ask the configured audit-stream service to check its full\n- `suite_doc_detect_spec` - Detect which Kinetic Gain Suite spec a JSON document is by\n- `suite_doc_drift` - Structural diff between two versions of the same Suite\n- `defensetech_vault_resolve_3axis` - Deterministic preview of a DefenseTech 3-axis vault contract\n- `defensetech_audit_event_check_invariants` - Run three deterministic DefenseTech event checks: CUI\n- `defensetech_check_dfars_72h_clock` - Calculate the DFARS 252.204-7012 discovery-to-filing 72-hour\n- `defensetech_check_cui_distribution_statement` - Check that a CUI-Specified+ tier event carries the required\n- `defensetech_check_itar_us_person` - Check that an ITAR resource event has US-PERSON-VERIFIED (or\n- `defensetech_incident_classify_event_type` - Given a freeform description of a defense-AI incident\n- `defensetech_summarize_cmmc_evidence_bundle` - Summarize a CMMC L2/L3 readiness evidence bundle: target\n- `defensetech_vault_contract_cross_binding_check` - Verify the cross_binding_refs block on a DefenseTech vault\n- `claims_card_validate` - Validate an AI Claims Decision Card against the bundled v0.1\n- `claims_card_inspect` - Structured summary of an AI Claims Decision Card: claim type\n- `claims_card_sign` - Compute the canonical SHA-256 hash of an AI Claims Decision\n- `claims_card_chain` - Link a new AI Claims Decision Card to its predecessor: sets\n\n</details>\n<!-- END TOOL CATALOG -->\n\nSpecs **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.\n\n## Network and data boundaries\n\nURL fetch tools make outbound HTTP(S) requests to user-supplied origins. The server rejects local and nonpublic destinations, rechecks redirects, and limits JSON responses to 1 MB. The optional live audit tools require both `AUDIT_STREAM_URL` and `AUDIT_STREAM_TOKEN` in the MCP server's environment. The token must match the audit-stream service's bearer token and have at least 32 visible ASCII characters. Use HTTPS for a remote service; HTTP is accepted only for loopback development. Missing or invalid configuration returns an error without sending a request. `audit_event_emit` sends `kind`, caller-asserted `source`, and `payload` to the configured service and validates its event receipt. The receipt does not prove durable storage or event completeness. Its shared token authenticates this MCP process, not the source label or tenant. Approve the write before calling it; omit secrets and personal data unless the service is approved for them. Hash-chain verification checks continuity only; it does not prove audit completeness.\n\nSchema validation checks the document shape and selected rules. A passing result is not proof of FERPA, COPPA, HIPAA, FDA, EU AI Act, CMMC, export-control status, or other legal compliance. `attestation_verify` checks a signature against the public key supplied by the caller; it does not establish the key owner's identity. `aup_check_compliance` evaluates eight disclosed fields only; it does not check policy scope, tool/vendor requirements, parent consent, or Tutor Cards. A true `allowed` value is not an authorization grant. DefenseTech tools calculate from supplied data; they do not classify materials or verify a person's status or license. Positive Decision Cards require the live policy engine's identity, scope, action, expiry, and trusted-attestation checks before an enforceable bundle can be created.\n\nThe DefenseTech 72-hour clock uses the time an incident was **discovered**, not when it occurred or when an audit event was created. Supply discovered_at and filed_at with time zones; see [DFARS 252.204-7012](https://www.acquisition.gov/dfars/252.204-7012-safeguarding-covered-defense-information-and-cyber-incident-reporting.). A report's actual submission and contract applicability require external evidence.\n\n## Start with a task\n\n- **Review a card:** pass a parsed document to `claims_card_validate`, then use `claims_card_inspect` to summarize its declared decision. Investigate any validation failure before relying on the summary.\n- **Compare drafts:** call `suite_doc_drift` with two versions of the same Suite document to see structural changes before publication.\n- **Check a signature:** call `attestation_verify` with a public key obtained through a trusted channel; separately confirm that the key belongs to the claimed signer.\n- **Record an event:** prepare the payload with `audit_event_compose`, review it for sensitive data, then call `audit_event_emit` only when the configured audit-stream service and write are approved.\n\n## Install\n\nThe commands below install the version currently published on npm. To run this\nsource checkout instead, use `npm ci`, `npm run build`, then\n`node dist/server.js`. Check `npm view mcp-kinetic-gain version` before relying\non a particular source change.\n\n```bash\nnpm install -g mcp-kinetic-gain\n```\n\nOr run without installing via `npx`:\n\n```bash\nnpx mcp-kinetic-gain\n```\n\nFor a controlled deployment, pin a reviewed package version in the client config (`mcp-kinetic-gain@<version>`) and upgrade deliberately.\n\n## Claude Desktop config\n\nAdd to your `claude_desktop_config.json` (macOS: `~/Library/Application Support/Claude/`, Windows: `%APPDATA%\\Claude\\`):\n\n```json\n{\n  \"mcpServers\": {\n    \"kinetic-gain\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-kinetic-gain\"]\n    }\n  }\n}\n```\n\nRestart Claude. All 75 tools appear in the tools panel. Try:\n\n> *\"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.\"*\n\n## CLI mode (v0.5.1+)\n\nThe same binary doubles as a Suite JSON validator outside any MCP host. Useful in CI, pre-commit hooks, or local sanity-checks.\n\n```bash\n# Validate a single document\nnpx mcp-kinetic-gain validate path/to/ai-entity.json\n\n# Validate a tree of well-known files\nnpx mcp-kinetic-gain validate \".well-known/**/*.json\"\n\n# Multiple paths or globs\nnpx mcp-kinetic-gain validate cards/clinical-*.json cards/incident-*.json\n\n# Other commands\nnpx mcp-kinetic-gain --version\nnpx mcp-kinetic-gain --help\n```\n\nThe 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.\n\n**Exit codes:**\n\n| Code | Meaning |\n|---|---|\n| `0` | Every matched file passed validation |\n| `1` | At least one file failed validation, failed to parse, or no files matched |\n| `2` | No file in the input matched a known Suite spec |\n| `3` | Usage error (missing arg, unknown command or flag) |\n\nRunning `mcp-kinetic-gain` with **no arguments** still launches the stdio MCP server - existing Claude Desktop / Cursor configs are unaffected.\n\n## Why one server instead of five?\n\n- **One Claude Desktop config entry** instead of five\n- **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\n- **Shared schemas + utilities** keep the implementation cohesive\n- **Deprecation path** - if [mcp-aeo-server](https://github.com/mizcausevic-dev/mcp-aeo-server) (the AEO-only predecessor) gets retired, the AEO tools live on here with the same names and contracts\n\n## Architecture\n\n```\nsrc/\n├── server.ts              # MCP entrypoint and handler dispatch\n├── cli.ts                 # JSON validation CLI\n├── tools.ts               # 75 tool descriptors (JSON Schema inputs)\n├── schemas.ts             # Zod schemas for the 12 specs\n├── common.ts              # guarded fetch and canonical hashes\n└── handlers/              # one module per spec plus cross-spec and live tools\n```\n\nEach handler module is independent and could be split into a separate package if needed.\n\n## Hash canonicalization\n\n`ai_evidence_verify_hash` follows the AI Evidence Format spec's canonical SHA-256 rules:\n\n1. Read content as UTF-8\n2. Normalize line endings to `\\n`\n3. Strip a single trailing newline\n4. SHA-256, lowercase hex, prefixed `sha256:`\n\nIf your `candidate_text` produces an unexpected mismatch, check CRLF vs LF and trailing newlines first.\n\n## Tests\n\nRun the unit and local HTTP tests without an external service:\n\n```bash\nnpm install\nnpm run typecheck\nnpm test\nnpm run build\n```\n\n## License\n\n**This server: AGPL-3.0.** If a modified version serves users over a network, the AGPL requires an offer of Corresponding Source to those users under its terms. See the [GNU AGPL FAQ](https://www.gnu.org/licenses/gpl-faq.html.en#UnreleasedModsAGPL) and [LICENSE](LICENSE).\n\n**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.\n\n## Kinetic Gain Protocol Suite\n\n**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](#tools) catalog above for the full per-tool list (47 spec + 16 implementation-preview + 8 DefenseTech + 4 AI Claims Decision Card).\n\n| Spec | Vertical |\n|---|---|\n| AEO Protocol | Core |\n| Prompt Provenance | Core |\n| Agent Cards | Core |\n| AI Evidence Format | Core |\n| MCP Tool Cards | Core |\n| AI Tutor Cards | EdTech |\n| Student AI Disclosure | EdTech (FERPA/COPPA) |\n| Classroom AI AUP | EdTech |\n| Clinical AI Disclosure | HealthTech (FDA SaMD + HIPAA) |\n| AI Incident Card | Cross-cutting (EU AI Act Article 73) |\n| AI Procurement Decision Card | Cross-cutting (buyer-side, OMB M-24-10 / NIST AI RMF rubric-friendly) |\n| AI Claims Decision Card | InsurTech |\n\n**Suite hub:** [suite.kineticgain.com](https://suite.kineticgain.com/)\n**Companion visualizer:** [kinetic-gain-visualizer](https://github.com/mizcausevic-dev/kinetic-gain-visualizer)\n**Red-team bench:** [prompt-injection-bench](https://github.com/mizcausevic-dev/prompt-injection-bench)\n**Reference library:** [kgp-verify](https://github.com/mizcausevic-dev/kgp-verify) (npm `kinetic-gain-protocol`, zero-dep MIT hash/sign/verify for KGP)\n\n---\n\n**Connect:** [LinkedIn](https://www.linkedin.com/in/mirzacausevic/) · [Kinetic Gain](https://kineticgain.com) · [Medium](https://medium.com/@mizcausevic/) · [Skills](https://mizcausevic.com/skills/)\n"}