1. Conduid
  2. Healthcare
  3. CodeRifts API Governance
MCP server · Healthcare

CodeRifts API Governance

Signed, offline-verifiable decisions on API contract changes for AI agents. Three tools: preflight_change_set, verify_receipt, get_decision_details. The tool surface is pinned — its digest is published and checkable from three independent sources.

Unclaimed healthcare
34Low

Scored a month ago · breakdown

About CodeRifts API Governance

CodeRifts API Governance is an MCP server in the Healthcare category: signed, offline-verifiable decisions on API contract changes for AI agents. Three tools: preflight_change_set, verify_receipt, get_decision_details. The tool surface is pinned — its digest is published and checkable from three independent sources.

Install

From source
git clone https://github.com/coderifts/api-governance

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (3)

get_decision_detailsRetrieve a PAST CodeRifts decision by decision_id (or fingerprint): full report payload, breaking changes list, scores, and linked receipt metadata if stored. Use this when: - You have a decision_id (or fingerprint) from a previous preflight, PR comment, or CI log and need to inspect or explain that past decision. - You are auditing why a prior ALLOW/WARN/BLOCK was issued. - You are NOT requesting a new analysis of current before/after specs. Do not use when: - You need a decision for the CURRENT uncommitted or PR head change set — call coderifts.preflight_change_set with the current artifacts. - You hold a receipt token and only need cryptographic/lifecycle verification — use coderifts.verify_receipt. - You have no decision_id/fingerprint — run preflight first to create one. Inputs: at least one of decision_id (preferred) or fingerprint is required (empty {} is rejected by the server as INVALID_INPUT). Returns the stored decision document or not_found. Scoping — fingerprint lookup returns only YOUR OWN decisions. A fingerprint is derived from content, not from an account, so two callers who preflight byte-identical specs derive the same one; the lookup is therefore constrained to the decisions your credential can prove it owns. A decision that exists but is not yours returns the SAME not_found as one that was never issued. This is deliberate: a distinguishable "exists but forbidden" would confirm to any caller that a given content hash had been decided on by someone, which is the fact the scoping exists to withhold. Do not read not_found as proof that no such decision exists anywhere. Decisions persisted without context.repository cannot currently be attributed to an account, and are not retrievable by fingerprint at all — not by their owner either. Retrieve those by decision_id, which is unchanged and unscoped. This is a limitation of what older stored rows carry, not a property of the lookup: rows written from now on record the account directly, so the gap narrows as older rows age out. If a fingerprint you expect returns not_found, use the decision_id before concluding the decision is missing. When the stored envelope carries control fields, control_envelope.next_agent_step is structured remediation guidance the agent MAY follow for non-CONTINUE execution_action values (null on CONTINUE*). Still branch on execution_action; next_agent_step is a suggestion, not permission.

Parameters not published.

preflight_change_setPreflight a COMPLETE base→head change set of contract artifacts and return risk score and breaking-change analysis — plus, on the AUTHORIZE path only, a governance decision (ALLOW / WARN / REQUIRE_APPROVAL / BLOCK) and a signed chain-receipt when applicable. ANALYZE returns informational risk only: analysis_outcome, may_execute:false, no decision, no receipt. Requires a pending base→head (before/after) contract change you are about to act on (merge, deploy, publish, or register tools). No pending change set → do not call this tool. Use this when: - You are about to merge, push, deploy, publish, or register/expose agent tools, AND the change includes ≥1 contract artifact (OpenAPI/Swagger, GraphQL SDL, gRPC/protobuf, AsyncAPI, MCP manifest, or agent tool schemas: type=agent_tools, including before re-registering tools with a runtime). - You have (or can assemble) FULL base and head for every changed contract artifact in this set — not a single-file subset when other contract files also change. - You need a NEW decision for the CURRENT change; you do not already hold a currently-valid receipt for this exact target/operation. - You hold a receipt for a different operation or target than the act you will perform (e.g. ALLOW for merge, now deploying). A receipt authorizes ONE operation: a merge receipt does not authorize a deploy. Run a NEW preflight with context.operation set to that operation (deploy, publish); a differently-scoped receipt is not reusable authorization and will fail at the gate. Do not use when: - The change is documentation-only (README, guides, comments) with no contract artifact content change — do not call any CodeRifts tool. - You already hold a signed receipt and only need to check it is authentic and currently valid — use coderifts.verify_receipt instead. - You need details of a PREVIOUS decision by decision_id — use coderifts.get_decision_details instead. - You want a static 0–100 "agent readiness" score for one OpenAPI/MCP file and there is no pending base→head mutate — use coderifts.agent_readiness_score (advanced / opt-in; not one of the three default tools). If that tool is not in your available list, call none of the CodeRifts tools; do not substitute preflight_change_set. - You cannot supply both before and after (or base and head) for the artifacts that change — fix the change set first; do not invent empty before specs. Inputs: list of artifacts, each with type, before, after (or equivalent), plus optional operation (merge|deploy|tool_call|publish), environment/stakes, and context. Opt-in derivation:"server" (proven tenant↔repo binding + context.repository + base + head): omit artifacts[] — the server lists the contract-class set via the SCM provider for the proven binding (GitHub App Compare, or GitLab/Bitbucket Compare with a per-request X-Coderifts-Scm-Token, never stored; completeness_mode SERVER_DERIVED). Default (flag absent) is unchanged. Returns decision, execution_action, risk fields, and chain_receipt when issued. CHANGE SOURCE — EXACTLY ONE, ENFORCED AT THE ROUTE (400), NOT BY THIS SCHEMA. Supply either artifacts[] OR derivation:"server". All three of these are rejected with HTTP 400 INVALID_INPUT, on analyze and on authorize alike: • neither artifacts[] nor derivation → "artifacts must be a non-empty array" • authorize with context.operation but no change source → same 400 • artifacts[] together with derivation:"server" → "derivation:"server" forbids caller-supplied artifacts[] — one source of truth per request" This constraint is NOT expressible in the schema you are reading: a top-level oneOf/allOf union is rejected by at least one major MCP client (measured), so the schema stays permissive and the route is the enforcement point. Do not read schema acceptance as request validity — verified live against these exact three shapes on 2026-08-26, over REST and over MCP tools/call (isError:true on all three). Mode (required): pass preflight_mode. Use "analyze" for informational risk only (returns analysis_outcome with may_execute:false, no decision/execution_action/ safe_for_agent, no receipt). Use "authorize" for the operation-bound path that can mint a receipt (requires context.operation: merge|deploy|publish|tool_call). Under Decision Spec 2.0 the mode is mandatory; omission is an error unless a legacy decision_spec_version "1.0" pin is set. Branch on execution_action only (CONTINUE | CONTINUE_WITH_MONITORING | REQUEST_APPROVAL | STOP). On non-CONTINUE authorize responses, control_envelope.next_agent_step is a structured remediation SUGGESTION the agent MAY follow (action, reason, resume_condition, then_call). It is NOT permission and NOT a control-flow override — still branch on execution_action. On CONTINUE / CONTINUE_WITH_MONITORING, next_agent_step is null (no remediation step). Human tier remains human_report.next_steps_prose (same source; prose, not machine).

Parameters not published.

verify_receiptVerify a CodeRifts signed chain-receipt you ALREADY HOLD: cryptographic authenticity (signature + key id), body binding, and — when lifecycle indices are available — whether it is currently valid authorization (not expired, superseded, or revoked) for a stated operation/target. Use this when: - You already obtained a chain_receipt / receipt token from a prior preflight (or CI artifact) and are about to act (merge/deploy) under that receipt. - A contract-gate or policy requires offline/online proof that the receipt is authentic for this change before proceeding. - You must distinguish "signature ok" from "currently authorized" (stale or superseded receipts must not be treated as live approval). Do not use when: - You do not have a receipt yet — call coderifts.preflight_change_set first. - You need a NEW decision for a changed base→head set — preflight again; verify_receipt does not re-diff specs. - The receipt you hold binds a different operation or target than the one you are about to perform — call coderifts.preflight_change_set with context.operation set to that operation (a merge receipt does not authorize a deploy); verify_receipt cannot re-scope or re-issue a decision. - You only need human-readable history of an old decision_id without a receipt token — use coderifts.get_decision_details. - The change set itself is unknown or incomplete — fix the change set and preflight; do not "verify" a placeholder. Inputs: receipt token (required); optional intended context (operation, environment, fingerprint, target_id, audience, repository/branch/pull_request, base/head) and the body_hash-bound decision_result envelope. 30s clock-skew leeway on expiry; 0s for destructive operations in production when the intended context declares them. Returns { valid, status, currently_authorized (bool|null), reason, payload, authz_* }. Branch on currently_authorized; null = not evaluated. When a decision envelope is also in hand (e.g. from a prior preflight), its control_envelope.next_agent_step (if present) is structured remediation guidance the agent MAY follow after a non-CONTINUE decision — still branch on execution_action; next_agent_step is suggestion, not permission.

Parameters not published.

Ask AI

✦

Ask AI about CodeRifts API Governance

Powered by Claude · Grounded in docs

I know everything about CodeRifts API Governance. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

6 checks have not been run yet.

Questions

About CodeRifts API Governance

How do I install CodeRifts API Governance?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is CodeRifts API Governance safe to use with an AI agent?

Its trust score is 34 out of 100 (low). Conduid hasn't run static security checks on this repository yet, so review the source yourself before granting it credentials. It has no ConduID identity yet, so agent calls to it are not receipted.

Is CodeRifts API Governance still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.