mcpbeat Sign in

API Governance MCP Server

by coderifts Your server? Claim it
answering

API Governance is answering right now. Last checked 10 min ago. It exposes 3 tools. Last commit 9 Oct 2026.

Signed, offline-verifiable contract-change authorization. Only a granted change can proceed.

Uptime history 91 days of history · worst day 92%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
3
Tools
read from the server
181 ms
Response time
average over 24h
0
Stars
last commit 9 Oct 2026

What changed 48

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 10 August 2026. No other catalogue keeps this.

26 Sep 2 tool descriptions were rewritten preflight_change_set, verify_receipt
26 Sep a tool changed the parameters it asks for preflight_change_set
25 Sep a tool changed the parameters it asks for verify_receipt
21 Sep a tool changed version
20 Sep a tool changed the parameters it asks for get_decision_details
20 Sep a tool description was rewritten get_decision_details
19 Sep a tool description was rewritten preflight_change_set
19 Sep a tool changed the parameters it asks for preflight_change_set
18 Sep a tool changed the parameters it asks for2 times that day preflight_change_set
13 Sep 2 tools changed the parameters they ask for3 times that day preflight_change_set, verify_receipt
and 36 more, back to 10 August 2026

What the code does

We read the source, 2 d ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Builds a file path from a variable lib/recorded-app-generator.js:58
    const p = path.join(SNAP_DIR, a.path);

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 10 min ago.

run in your terminal
claude mcp add api-governance --transport http https://app.coderifts.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://app.coderifts.com/mcp
~/.codex/config.toml
[mcp_servers.api-governance]
url = "https://app.coderifts.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "api-governance": {
      "url": "https://app.coderifts.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "api-governance": {
      "type": "http",
      "url": "https://app.coderifts.com/mcp"
    }
  }
}

Available tools 3

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

decision
get_decision_details
Retrieve a PAST CodeRifts decision by exactly one identifier (case_id | decision_id | fingerprint): full report, breaking changes, 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 identifier — run preflight first to create one. Inputs: exactly one of case_id, decision_id, or fingerprint. {} → INVALID_INPUT; two identifiers → LOOKUP_IDENTIFIER_CONFLICT; case_id → CASE_NOT_FOUND (lookup never opens a case). Returns the stored 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.
preflight
preflight_change_set
Use this when: a contract artifact (OpenAPI, GraphQL, protobuf, AsyncAPI, MCP manifests, or agent tool schemas) changes before merge, deploy, publish, or tool registration; AND any agent-executed operation with no supported contract type — send type agent_operation. Do not call for documentation-only changes, static readiness scoring, or receipt verification. Use analyze for risk only; authorize requires context.operation. Skipping this call is not permission. Absence of a key is not permission. Inputs: preflight_mode is required: "analyze" (risk only; no receipt, no execution_action) or "authorize" (may mint a receipt; requires context.operation — merge is not deploy is not publish). Supply exactly one artifact source: artifacts[] (1–20 items, each {id, type, before, after} as the FULL spec/schema text, not a path or URL; type is openapi|graphql|grpc|asyncapi|mcp_manifest|agent_tools|agent_operation) XOR derivation="server" (server reads GitHub Compare; needs context.repository + context.base + context.head; sending artifacts[] together is 400). Grant fields sit in one object, execution_grant_request {include_execution_grant, grant_version, tenant_id, executor_id, adapter_id, target_uri, expected_state_token, state_nonce, audience, policy_hash}; analyze ignores it; required is preflight_mode only. previous_receipt is a chain token base64url(body).base64url(signature) to LINK a prior decision — it does not re-verify; use coderifts.verify_receipt instead; for details of a past decision use coderifts.get_decision_details instead. idempotency_key replays authorize only (24h), never analyze.
verify
verify_receipt
Verify 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); target_id = decision_result.artifact_digest — required for an authorization verdict; omitted → target_not_stated. Optional intended context (operation, environment, fingerprint, audience, repository/branch/pull_request, base/head) and the body_hash-bound decision_result envelope. 30s clock-skew leeway on expiry. A 0s grace for declared destructive production operations is defined in the policy but is unreachable today: the intended-context schema has no destructive field, so nothing can declare one and the 30s leeway always applies. 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.

Endpoints

URLTransportStateLatencyChecked
https://app.coderifts.com/mcp streamable-http answering 172 ms 10 min ago

Alternatives to API Governance

same job, measured the same way
Soma
by medianemi-beep

Execution-verified code generation and verification with signed, offline-checkable certificates.

42 installs/wk local only
Heddle
by davet47

Content-addressed contracts and a verification cache that cut agent context by skipping proven code.

113 installs/wk local only
Hashloom
by davet47

Content-addressed contracts and a verification cache that cut agent context by skipping proven code.

79 installs/wk local only
OpenWorkProof
by dengyier

Verifiable agent work contracts; separate opt-in Codex preview-directory guard.

896 installs/wk local only
Agent Transaction Control
by flint

Issue Agent Passports and verify agent authority before value moves. Signed verification records.

17 tools answering
Whetstone
by cyberelf-whetstone

Verifier-grounded AI promotion gates, disposable report cards, and signed PASS/HOLD/BLOCK receipts.

14 tools answering
Cosine Astro MCP
by ganguoguo444004-coder

Astrology: natal charts, transits, synastry, retrogrades, profections. Computed offline.

60 installs/wk local only
Gatefile
by cloudcorprecords

Extract a repo's contribution gates into machine-readable contribution-gates.json.

714 installs/wk local only

API Governance — questions

Answers built from our own checks of this server.

What can API Governance do?
It exposes 3 tools, read directly from the server on our last check. Among them: get_decision_details, preflight_change_set, verify_receipt. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is API Governance working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 181 ms. The bar chart above shows every period we have measured.
How do I connect API Governance?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does API Governance need an API key?
No. API Governance completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 3 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is API Governance?
It answers our handshake in 181 ms on average, which is faster than 75% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is API Governance open source?
The code is open source: it is published under the MIT licence, written in JavaScript and 0 stars on GitHub. The licence covers the code in the repository, not the hosted service at app.coderifts.com, which runs on its operator's own terms.