ai.geodesiclabs/governance-platform
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
| Author | ai.geodesiclabs |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 226 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"governance-platform": {
"url": "https://app.geodesiclabs.ai/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (37)
validateValidate 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedblueprint— string — Blueprint name (workflow_name) to usesource_text— Optional. The text of the document the fields were extracted from. When the Blueprint has a source check, extracted values are compared against this text. It is used for the check only and is not stored
Hints: read-only no · destructive no · idempotent no · open-world no
validate_repairValidate 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedblueprint— string — Blueprint name (workflow_name) to use
Hints: read-only no · destructive no · idempotent no · open-world no
create_blueprintCreate 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)customer_name(required) — string — Organization or project name (also used for storage folder naming)workflow_name(required) — string — Unique Blueprint identifier; the value passed as 'blueprint' in validatemode— string — observe: platform checks the agent's work; enforce: platform computes derived fields itselfrequire_math— boolean — Validate mathematical relationshipsderived_fields— array — Field names the platform computes from other fields, e.g. ['subtotal','total']semantic_checks— array — Domain-specific semantic check objectsderivation_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 promptextracted_fields— array — Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost']require_coherence— boolean — Check cross-field plausibilityformal_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 {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide promptrequire_provenance— boolean — Require extraction source locations for fieldsrequire_consistency— boolean — Check internal field consistencyenable_drift_tracking— boolean — Track pattern stability across batchesrequire_high_assurance— boolean — Strictest mode: every check must passenable_anomaly_detection— boolean — Flag records that break no rules but do not fit the reference pattern
Hints: read-only no · destructive no · idempotent no · open-world no
list_blueprintsread-onlyList the Blueprints on this account with field/rule/constraint counts and mode. Use the returned workflow_name as 'blueprint' in validate.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)
Hints: read-only yes · destructive no · idempotent yes · open-world no
repairread-onlyOne-shot repair: return corrected values that would make failing data valid under the Blueprint. Use repair_path to see the steps instead.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedblueprint— string — Blueprint name (workflow_name) to usederivation_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 promptformal_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 {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_blueprint_healthread-onlyStatic 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)config— object — Raw blueprint config with derivation_rules and formal_constraints (used when 'blueprint' is not given)blueprint— string — Blueprint name (workflow_name) to use
Hints: read-only yes · destructive no · idempotent yes · open-world no
compare_semantic_equivalenceread-onlyCompare two payloads under the dual-hash design: content_hash is content_hash normalizes field order and numeric formatting. Semantic comparison preserves field roles; renaming requires an explicit bijection. With supplied rules, scalar types and whitespace remain significant. Structural similarity alone does not establish decision equivalence.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)payload_a(required) — object — First structured payload (arbitrary JSON object)payload_b(required) — object — Second structured payload to compare against payload_arules_a— array — Derivation rules for Arules_b— array — Derivation rules for Bconstraints_a— array — Formal constraints for Aconstraints_b— array — Formal constraints for Bfield_mapping— object — Explicit one-to-one field renaming from A to B
Hints: read-only yes · destructive no · idempotent yes · open-world no
govern_inferenceQuality-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. Structural scores do not establish task correctness. Check safe_to_finalize and acceptance coverage. Persistence success is reported; read traces in the same Blueprint namespace.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)task_type(required) — string — Kind of generation step being governedpayload(required) — object — Task-type payload: generative_text {text,...}; retrieval {query,candidates}; generic {features}inference_id(required) — string — Caller-chosen ID grouping the steps of one generationsource— string — Free-form caller label recorded for auditblueprint— string — Owned Blueprint namespace for the tracestep_index— integer — Step number within this generation (0-based)constraints— object — Optional governance constraint config object
Hints: read-only no · destructive no · idempotent no · open-world no
get_inference_traceread-onlyRetrieve the durable audit trail for a governed generation: every recorded decision and its reasons.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)inference_id(required) — string — Caller-chosen ID grouping the steps of one generationblueprint— string — Blueprint namespace used when recording the traceblueprint_version— string — Optional historical blueprint_version hash returned by govern_inference
Hints: read-only yes · destructive no · idempotent yes · open-world no
recent_inference_decisionsread-onlyRecent generation-governance decisions in this owner's Blueprint version.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)limit— integer — Maximum rows to returnaction— string — Optional action filter (STOP, CONTINUE, REVIEW, ...)blueprint— string — Blueprint namespace used when recording the traceblueprint_version— string — Optional historical blueprint_version hash returned by govern_inference
Hints: read-only yes · destructive no · idempotent yes · open-world no
verify_certificateread-onlyIndependently 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)certificate(required) — object — The certificate object from a prior validation responsedata— object — Original payload for full re-verification; omit for integrity-only modederivation_rules— array — Rule list for independent attestation recomputation (optional)formal_constraints— array — Optional constraints to match against the committed bundle
Hints: read-only yes · destructive no · idempotent yes · open-world no
profile_blueprint_robustnessread-onlySweep 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)config— object — Raw blueprint config to profile (used when 'blueprint' is not given)blueprint— string — Blueprint name (workflow_name) to use
Hints: read-only yes · destructive no · idempotent yes · open-world no
forecastread-onlyDeterministic forward reasoning: from the current data state, generate and rank the valid next states reachable under the Blueprint's rules.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedrank_by— string — Ranking criterion for returned pathsblueprint— string — Blueprint name (workflow_name) to usemax_depth— integer — Search depth, 1-10max_branches— integer — Branches per step, 1-10
Hints: read-only yes · destructive no · idempotent yes · open-world no
discover_patternsLearn 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)documents(required) — array — List of structured records (objects) to analyzeblueprint— string — Blueprint name (workflow_name) to use
Hints: read-only no · destructive no · idempotent no · open-world no
repair_pathread-onlyFind 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedrank_by— string — Ranking criterion for returned pathsblueprint— string — Blueprint name (workflow_name) to usemax_depth— integer — Search depth, 1-10
Hints: read-only yes · destructive no · idempotent yes · open-world no
counterfactualread-onlyRun the same data under two rule sets and compare which future states remain valid - what-if analysis for rule changes.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedrules_b— array — Alternative derivation rules (rule set B)blueprint— string — Blueprint name (workflow_name) to useconstraints_b— array — Alternative constraints (rule set B)
Hints: read-only yes · destructive no · idempotent yes · open-world no
analyze_anomalyread-onlyExplain whether a record fits the usual pattern for records like it, and which fields stand out. No Blueprint required.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedblueprint— string — Discovery namespace used by discover_patterns
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_chainCreate 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)blueprint(required) — string — Blueprint governing all stages of the chainstages(required) — array — Stage definitions, e.g. [{'stage_name':'extract','agent_name':'PDF Agent'}]; minimum 2ttl— integer — Chain timeout in seconds; stages cannot advance after expiry
Hints: read-only no · destructive no · idempotent no · open-world no
submit_chain_stageSubmit 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)chain_id(required) — string — Chain identifier returned by create_chainstage(required) — string — Stage name to submit for (must be the chain's current stage)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked
Hints: read-only no · destructive no · idempotent no · open-world no
handoff_auditread-onlyAudit 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)chain_id(required) — string — Chain identifier returned by create_chainfrom_stage(required) — string — Completed stage name (agent A)to_stage(required) — string — Stage about to start (agent B)proposed_data— object — Data agent B intends to submit; checked for mutation against agent A's verified fields
Hints: read-only yes · destructive no · idempotent yes · open-world no
approve_rulePromote a rule discovered by discover_patterns into Blueprint-ready form.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)rule_id(required) — string — Discovered rule ID from discover_patternsblueprint— string — Blueprint name (workflow_name) to use
Hints: read-only no · destructive no · idempotent yes · open-world no
reject_ruleReject a discovered candidate rule so it will not be promoted into a Blueprint. Pair with approve_rule after discover_patterns.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)rule_id(required) — string — Discovered rule ID from discover_patternsblueprint— string — Blueprint name (workflow_name) to use
Hints: read-only no · destructive no · idempotent yes · open-world no
structural_typesread-onlyRetrieve 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)blueprint— string — Blueprint name (workflow_name) to use
Hints: read-only yes · destructive no · idempotent yes · open-world no
decompose_failureread-onlyMeasure the numeric difference between original and corrected values: how much lies along the supplied linear rule directions (projection) and how much lies outside them (residual), with per-field contributions. Diagnostic only: it does not establish a cause, and neither record is verified. Use with a known-correct version to diff against; use analyze_anomaly when you only have the suspicious payload. Diagnostics-tier tool.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)original_values(required) — object — Original numeric field values as {field: number}corrected_values(required) — object — Corrected/expected numeric field values as {field: number}blueprint— string — Load rules from this Blueprint instead of passing them inlinederivation_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 promptformal_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 {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt
Hints: read-only yes · destructive no · idempotent yes · open-world no
geometric_confidenceread-onlySummarize 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)state_vector(required) — object — state_vector object from a prior validate or get_execution_trace result
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_realizationStructural 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedblueprint— string — Blueprint name (workflow_name) to use
Hints: read-only no · destructive no · idempotent no · open-world no
check_driftCheck whether recent submissions still match the established pattern for this Blueprint. Returns a stability verdict and observation count.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedblueprint— string — Blueprint name (workflow_name) to use
Hints: read-only no · destructive no · idempotent no · open-world no
authorize_executionGo/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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedblueprint(required) — string — Blueprint name (workflow_name) to use
Hints: read-only no · destructive no · idempotent yes · open-world no
load_rule_packread-onlyLoad a prebuilt Blueprint template (invoices, timecards, legal, POs, claims). Call without pack_id to list packs; then create_blueprint to save a customized copy.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)pack_id— string — Rule pack ID; omit to list available packs
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_execution_traceRun 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)structured_data(required) — object — The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checkedblueprint— string — Blueprint name (workflow_name) to use
Hints: read-only no · destructive no · idempotent yes · open-world no
verify_replayread-onlyCheck replay commitment integrity and compare recorded execution components. Version 4 includes reference context and the final result/status. A match compares commitments; this tool does not rerun the workflow or reconstruct historical reference populations, and does not prove factual correctness.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)contract_a(required) — object — replay_contract object from one executioncontract_b(required) — object — replay_contract object to compare against contract_a
Hints: read-only yes · destructive no · idempotent yes · open-world no
account_statusread-onlyThis account's plan, key usage, Blueprint counts, and the deployed platform build fingerprint (version, build, deployed).
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)
Hints: read-only yes · destructive no · idempotent yes · open-world no
delete_blueprintdestructivePermanently delete a Blueprint and revoke its API keys. Irreversible; requires confirm=true. Account-level keys are unaffected.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)workflow_name(required) — string — Blueprint to delete; its API keys are revokedconfirm— boolean — Must be true to confirm this irreversible action
Hints: read-only no · destructive yes · idempotent yes · open-world no
update_blueprintUpdate 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.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)workflow_name(required) — string — Unique Blueprint identifier; the value passed as 'blueprint' in validatemode— string — New mode: observe or enforce; omit to keep currentrequire_math— boolean — Validate mathematical relationshipscustomer_name— string — Organization or project name (also used for storage folder naming)derived_fields— array — Field names the platform computes from other fields, e.g. ['subtotal','total']semantic_checks— array — Domain-specific semantic check objectsderivation_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 promptextracted_fields— array — Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost']require_coherence— boolean — Check cross-field plausibilityformal_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 {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide promptrequire_provenance— boolean — Require extraction source locations for fieldsrequire_consistency— boolean — Check internal field consistencyenable_drift_tracking— boolean — Track pattern stability across batchesrequire_high_assurance— boolean — Strictest mode: every check must passenable_anomaly_detection— boolean — Flag records that break no rules but do not fit the reference pattern
Hints: read-only no · destructive no · idempotent yes · open-world no
list_api_keysread-onlyList this account's API keys (masked) with their Blueprint bindings.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)
Hints: read-only yes · destructive no · idempotent yes · open-world no
rotate_api_keydestructiveReplace an API key with a fresh one. The old key stops working immediately; the new key inherits its bindings.
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)key_to_rotate(required) — string — The gai_ key to rotate; it stops working immediately
Hints: read-only no · destructive yes · idempotent no · open-world no
delete_api_keydestructivePermanently 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).
Parameters:
api_key(required) — string — GeodesicAI API key (gai_...)key_to_delete(required) — string — The gai_ key to deleteconfirm— boolean — Must be true to confirm this irreversible action
Hints: read-only no · destructive yes · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.