# ai.geodesiclabs/governance-platform (remote · app.geodesiclabs.ai)

Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.

- Trust score: 70/100 (medium)
- Change this week: +10
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `app.geodesiclabs.ai`: 70/100 (this document), [markdown](https://verifymcp.io/servers/ai-geodesiclabs-governance-platform/app.md), [page](https://verifymcp.io/servers/ai-geodesiclabs-governance-platform/app)

## Channel facts

- Endpoint: `https://app.geodesiclabs.ai/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_blueprint).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5504 tokens (~144/item across 38 items; 37 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ai-geodesiclabs-governance-platform https://app.geodesiclabs.ai/mcp
```

### Codex

```toml
[mcp_servers.ai-geodesiclabs-governance-platform]
url = "https://app.geodesiclabs.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-geodesiclabs-governance-platform": {
      "type": "remote",
      "url": "https://app.geodesiclabs.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-geodesiclabs-governance-platform --url https://app.geodesiclabs.ai/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ai-geodesiclabs-governance-platform:
    url: "https://app.geodesiclabs.ai/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ai-geodesiclabs-governance-platform": {
      "type": "http",
      "url": "https://app.geodesiclabs.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 69, +7)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 60, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional improvement] Stability: unverified → 0.03
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 59)

First indexed and scored.

## MCP tools (37)

### `validate` (~131 tokens)

Validate structured data against a Blueprint's rules BEFORE the result
    is used. Returns PASS, FAIL, or REVIEW with plain-language findings,
    repair suggestions, a determinism hash, and a re-verifiable
    certificate. Same input + same rules = same verdict, every time.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `validate_repair` (~131 tokens)

Validate structured data against a Blueprint and, when it fails,
    include repair suggestions (corrected values with the rule each fix is
    based on) in the same call. Same verdicts as validate: PASS, FAIL, or
    REVIEW, with reasons and proof.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `create_blueprint` (~474 tokens)

Create a Blueprint - the governance contract validation runs against.

    A Blueprint defines what correct means for your data: fields, the math
    that must hold between them, and acceptable ranges. Start from
    load_rule_pack or discover_patterns if you have no rules yet; invoke
    the blueprint_guide prompt for the full rule/constraint reference.
    Returns the new Blueprint's API key.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `customer_name` (string, required): Organization or project name (also used for storage folder naming)
- `derivation_rules` (array): Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt
- `derived_fields` (array): Field names the platform computes from other fields, e.g. ['subtotal','total']
- `enable_anomaly_detection` (boolean): Flag records that break no rules but do not fit the reference pattern
- `enable_drift_tracking` (boolean): Track pattern stability across batches
- `extracted_fields` (array): Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost']
- `formal_constraints` (array): Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fi…
- `mode` (string): observe: platform checks the agent's work; enforce: platform computes derived fields itself
- `require_coherence` (boolean): Check cross-field plausibility
- `require_consistency` (boolean): Check internal field consistency
- `require_high_assurance` (boolean): Strictest mode: every check must pass
- `require_math` (boolean): Validate mathematical relationships
- `require_provenance` (boolean): Require extraction source locations for fields
- `semantic_checks` (array): Domain-specific semantic check objects
- `workflow_name` (string, required): Unique Blueprint identifier; the value passed as 'blueprint' in validate

### `list_blueprints` (~60 tokens)

List the Blueprints on this account with field/rule/constraint counts
    and mode. Use the returned workflow_name as 'blueprint' in validate.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)

### `repair` (~229 tokens)

One-shot repair: return corrected values that would make failing data
    valid under the Blueprint. Use repair_path to see the steps instead.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `derivation_rules` (array): Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt
- `formal_constraints` (array): Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fi…
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `check_blueprint_health` (~123 tokens)

Static pre-deploy analysis of a Blueprint's rule set. Returns a health
    verdict - healthy, acceptable, fragile, rigid, split, brittle_islands,
    or unsatisfiable - with advice, including joint conflicts pairwise
    checks miss.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `config` (object): Raw blueprint config with derivation_rules and formal_constraints (used when 'blueprint' is not given)

### `compare_semantic_equivalence` (~126 tokens)

Compare two payloads under the dual-hash design: content_hash is
    invariant to field order and numeric formatting (5 vs '5.00');
    semantic_hash additionally to field renaming. Verdicts:
    identical_content, same_structure_and_values_renamed_vocabulary,
    or semantically_different.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `payload_a` (object, required): First structured payload (arbitrary JSON object)
- `payload_b` (object, required): Second structured payload to compare against payload_a

### `govern_inference` (~202 tokens)

Quality-govern an in-progress AI generation step BEFORE its output is
    used (complements validate, which checks finished documents). Returns
    an action - STOP, CONTINUE, REPAIR_REGION, REUSE_MOTIF, REVIEW,
    ESCALATE - with a plain-language explanation. Durably recorded;
    retrieve later with get_inference_trace.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `constraints` (object): Optional governance constraint config object
- `inference_id` (string, required): Caller-chosen ID grouping the steps of one generation
- `payload` (object, required): Task-type payload: generative_text {text,...}; retrieval {query,candidates}; generic {features}
- `source` (string): Free-form caller label recorded for audit
- `step_index` (integer): Step number within this generation (0-based)
- `task_type` (string, required): Kind of generation step being governed

### `get_inference_trace` (~66 tokens)

Retrieve the durable audit trail for a governed generation: every
    recorded decision and its reasons.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `inference_id` (string, required): Caller-chosen ID grouping the steps of one generation

### `recent_inference_decisions` (~81 tokens)

Recent generation-governance decisions across all runs - what was
    approved, held, and escalated.

Input parameters:

- `action` (string): Optional action filter (STOP, CONTINUE, REVIEW, ...)
- `api_key` (string, required): GeodesicAI API key (gai_...)
- `limit` (integer): Maximum rows to return

### `verify_certificate` (~126 tokens)

Independently re-verify a validation certificate. Integrity mode checks
    the hash chain; full mode (certificate + original data) recomputes
    every attested rule from scratch - trust nothing, recheck everything.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `certificate` (object, required): The certificate object from a prior validation response
- `data` (object): Original payload for full re-verification; omit for integrity-only mode
- `derivation_rules` (array): Rule list for independent attestation recomputation (optional)

### `profile_blueprint_robustness` (~105 tokens)

Sweep the Blueprint's numeric constraint bounds and report verdict
    stability: the stable band, the scales where the verdict first flips,
    and advice. Use before deploying bound changes.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `config` (object): Raw blueprint config to profile (used when 'blueprint' is not given)

### `forecast` (~147 tokens)

Deterministic forward reasoning: from the current data state, generate
    and rank the valid next states reachable under the Blueprint's rules.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `max_branches` (integer): Branches per step, 1-10
- `max_depth` (integer): Search depth, 1-10
- `rank_by` (string): Ranking criterion for returned paths
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `discover_patterns` (~95 tokens)

Learn candidate validation rules and structural document types from a
    batch of your records, deterministically - no Blueprint required.
    Promote results with approve_rule. Source data is not stored.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `documents` (array, required): List of structured records (objects) to analyze

### `repair_path` (~155 tokens)

Find the shortest sequence of field changes taking invalid data to a
    valid state, as an ordered path of intermediate states. Different from
    repair (one-shot nearest fix): use repair_path to explain or audit the
    fix, or compare alternative repairs.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `max_depth` (integer): Search depth, 1-10
- `rank_by` (string): Ranking criterion for returned paths
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `counterfactual` (~130 tokens)

Run the same data under two rule sets and compare which future states
    remain valid - what-if analysis for rule changes.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `constraints_b` (array): Alternative constraints (rule set B)
- `rules_b` (array): Alternative derivation rules (rule set B)
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `analyze_anomaly` (~84 tokens)

Explain whether a record fits the usual pattern for records like it,
    and which fields stand out. No Blueprint required.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `create_chain` (~140 tokens)

Create a multi-agent sequential chain: stages validate in order against
    one Blueprint, repairs propagate forward, TTL bounds the run. Siblings:
    submit_chain_stage advances the chain; handoff_audit verifies a
    transition between stages. Returns chain_id.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string, required): Blueprint governing all stages of the chain
- `stages` (array, required): Stage definitions, e.g. [{'stage_name':'extract','agent_name':'PDF Agent'}]; minimum 2
- `ttl` (integer): Chain timeout in seconds; stages cannot advance after expiry

### `submit_chain_stage` (~128 tokens)

Submit data for the chain's current stage; the platform validates it
    and advances the chain if it passes. Response includes next-stage info
    and accumulated repairs.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `chain_id` (string, required): Chain identifier returned by create_chain
- `stage` (string, required): Stage name to submit for (must be the chain's current stage)
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `handoff_audit` (~149 tokens)

Audit a handoff between two chain stages: a context capsule of verified
    facts from the prior stage, and (if proposed_data is given) a
    compatibility verdict that catches fields mutated in transit. Siblings:
    create_chain, submit_chain_stage.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `chain_id` (string, required): Chain identifier returned by create_chain
- `from_stage` (string, required): Completed stage name (agent A)
- `proposed_data` (object): Data agent B intends to submit; checked for mutation against agent A's verified fields
- `to_stage` (string, required): Stage about to start (agent B)

### `approve_rule` (~71 tokens)

Promote a rule discovered by discover_patterns into Blueprint-ready
    form.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `rule_id` (string, required): Discovered rule ID from discover_patterns

### `reject_rule` (~82 tokens)

Reject a discovered candidate rule so it will not be promoted into a
    Blueprint. Pair with approve_rule after discover_patterns.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `rule_id` (string, required): Discovered rule ID from discover_patterns

### `structural_types` (~80 tokens)

Retrieve the document categories a discover_patterns session identified
    (counts, distinguishing fields, domain hints). Read-only; returns
    status=no_session if discovery has not run for this namespace.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use

### `decompose_failure` (~270 tokens)

Split the error between original and corrected values into direct rule
    violations, boundary violations, and systemic structural error, with
    per-field contributions. Use with a known-correct version to diff
    against; use analyze_anomaly when you only have the suspicious payload.
    Diagnostics-tier tool.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Load rules from this Blueprint instead of passing them inline
- `corrected_values` (object, required): Corrected/expected numeric field values as {field: number}
- `derivation_rules` (array): Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt
- `formal_constraints` (array): Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fi…
- `original_values` (object, required): Original numeric field values as {field: number}

### `geometric_confidence` (~96 tokens)

Summarize an already-computed state_vector into a confidence level
    (high/medium/low) with a recommendation. Post-hoc digest - use
    analyze_anomaly or check_drift for fresh analysis of raw data.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `state_vector` (object, required): state_vector object from a prior validate or get_execution_trace result

### `check_realization` (~122 tokens)

Structural realization analysis of a payload against the Blueprint's
    reference configuration (requires a 'realization' block; otherwise
    status=skipped). Diagnostics-tier tool; prefer validate or
    analyze_anomaly for standard checks.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `check_drift` (~98 tokens)

Check whether recent submissions still match the established pattern
    for this Blueprint. Returns a stability verdict and observation count.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `authorize_execution` (~141 tokens)

Go/no-go for a real-world action (payment, filing, API write): runs
    full validation, then the Blueprint's execution gate. authorized=true
    only on PASS; REVIEW means do not proceed automatically. Different
    from validate: validate asks is this data correct, authorize_execution
    asks should this action happen.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string, required): Blueprint name (workflow_name) to use
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `load_rule_pack` (~86 tokens)

Load a prebuilt Blueprint template (invoices, timecards, legal, POs,
    claims). Call without pack_id to list packs; then create_blueprint to
    save a customized copy.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `pack_id` (string): Rule pack ID; omit to list available packs

### `get_execution_trace` (~119 tokens)

Run validation and return the per-node execution trace (node names,
    deterministic flags, timing) plus the verdict and determinism hash.
    Use validate for normal operation; this is for debugging and audit
    preparation.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `blueprint` (string): Blueprint name (workflow_name) to use
- `structured_data` (object, required): The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked

### `verify_replay` (~122 tokens)

Verify two replay contracts represent the same deterministic execution:
    same input + same rules = same result, byte-identical. Mismatch fields
    localize the cause (data, rules, platform version, or trace). Use to
    prove a past decision reproduces today or that a migration changed
    nothing.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `contract_a` (object, required): replay_contract object from one execution
- `contract_b` (object, required): replay_contract object to compare against contract_a

### `account_status` (~53 tokens)

This account's plan, key usage, Blueprint counts, and the deployed
    platform build fingerprint (version, build, deployed).

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)

### `delete_blueprint` (~86 tokens)

Permanently delete a Blueprint and revoke its API keys. Irreversible;
    requires confirm=true. Account-level keys are unaffected.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `confirm` (boolean): Must be true to confirm this irreversible action
- `workflow_name` (string, required): Blueprint to delete; its API keys are revoked

### `update_blueprint` (~442 tokens)

Update an existing Blueprint in place. Only passed fields change;
    pass [] to clear a list. workflow_name cannot be renamed and existing
    API keys keep working. Different from create_blueprint: modifies an
    existing Blueprint, mints no new key.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `customer_name` (string): Organization or project name (also used for storage folder naming)
- `derivation_rules` (array): Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt
- `derived_fields` (array): Field names the platform computes from other fields, e.g. ['subtotal','total']
- `enable_anomaly_detection` (boolean): Flag records that break no rules but do not fit the reference pattern
- `enable_drift_tracking` (boolean): Track pattern stability across batches
- `extracted_fields` (array): Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost']
- `formal_constraints` (array): Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fi…
- `mode` (string): New mode: observe or enforce; omit to keep current
- `require_coherence` (boolean): Check cross-field plausibility
- `require_consistency` (boolean): Check internal field consistency
- `require_high_assurance` (boolean): Strictest mode: every check must pass
- `require_math` (boolean): Validate mathematical relationships
- `require_provenance` (boolean): Require extraction source locations for fields
- `semantic_checks` (array): Domain-specific semantic check objects
- `workflow_name` (string, required): Unique Blueprint identifier; the value passed as 'blueprint' in validate

### `list_api_keys` (~42 tokens)

List this account's API keys (masked) with their Blueprint bindings.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)

### `rotate_api_key` (~73 tokens)

Replace an API key with a fresh one. The old key stops working
    immediately; the new key inherits its bindings.

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `key_to_rotate` (string, required): The gai_ key to rotate; it stops working immediately

### `delete_api_key` (~165 tokens)

Permanently delete one of the caller's API keys.

    DESTRUCTIVE — agents using the deleted key will receive auth
    errors immediately. The Blueprint a key was tied to (if any) is
    NOT affected; only the credential is revoked. To delete a
    Blueprint and all its keys, use delete_blueprint.

    The target key can be specified two ways:
      - As the full key string (gai_...).
      - As a key_id (SHA-256 hash from list_api_keys).

Input parameters:

- `api_key` (string, required): GeodesicAI API key (gai_...)
- `confirm` (boolean): Must be true to confirm this irreversible action
- `key_to_delete` (string, required): The gai_ key to delete

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ai-geodesiclabs-governance-platform/app#diagnostics

## Score history

- 2026-08-03: 70
- 2026-08-02: 69
- 2026-08-01: 69
- 2026-07-31: 69
- 2026-07-30: 62
- 2026-07-29: 61
- 2026-07-28: 61
- 2026-07-27: 60
- 2026-07-26: 59

## Links

- Remote endpoint: https://app.geodesiclabs.ai/mcp
- Changelog RSS feed: https://verifymcp.io/servers/ai-geodesiclabs-governance-platform/app/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-geodesiclabs-governance-platform/app/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ai-geodesiclabs-governance-platform/app
