governance-platform
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Should I use this
Quality & Safety
Findings (2)
- LOWin repair
- LOWin recent_inference_decisions
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"governance-platform": {
"url": "https://app.geodesiclabs.ai/mcp"
}
}
}Remote endpoints
https://app.geodesiclabs.ai/mcpstreamable-httpWhat it can do
Tool inventory
Tools (37)
⚪validate(api_key, structured_data, blueprint)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "validateArguments"
}⚪validate_repair(api_key, structured_data, blueprint)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "validate_repairArguments"
}🟡create_blueprint(api_key, customer_name, workflow_name, mode, extracted_fields, ...)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"customer_name": {
"description": "Organization or project name (also used for storage folder naming)",
"title": "Customer Name",
"type": "string"
},
"workflow_name": {
"description": "Unique Blueprint identifier; the value passed as 'blueprint' in validate",
"title": "Workflow Name",
"type": "string"
},
"mode": {
"default": "observe",
"description": "observe: platform checks the agent's work; enforce: platform computes derived fields itself",
"enum": [
"observe",
"enforce"
],
"title": "Mode",
"type": "string"
},
"extracted_fields": {
"default": null,
"description": "Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost']",
"items": {},
"title": "Extracted Fields",
"type": "array"
},
"derived_fields": {
"default": null,
"description": "Field names the platform computes from other fields, e.g. ['subtotal','total']",
"items": {},
"title": "Derived Fields",
"type": "array"
},
"derivation_rules": {
"default": null,
"description": "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",
"items": {},
"title": "Derivation Rules",
"type": "array"
},
"formal_constraints": {
"default": null,
"description": "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",
"items": {},
"title": "Formal Constraints",
"type": "array"
},
"semantic_checks": {
"default": null,
"description": "Domain-specific semantic check objects",
"items": {},
"title": "Semantic Checks",
"type": "array"
},
"require_math": {
"default": true,
"description": "Validate mathematical relationships",
"title": "Require Math",
"type": "boolean"
},
"require_consistency": {
"default": true,
"description": "Check internal field consistency",
"title": "Require Consistency",
"type": "boolean"
},
"require_coherence": {
"default": true,
"description": "Check cross-field plausibility",
"title": "Require Coherence",
"type": "boolean"
},
"require_provenance": {
"default": false,
"description": "Require extraction source locations for fields",
"title": "Require Provenance",
"type": "boolean"
},
"require_high_assurance": {
"default": false,
"description": "Strictest mode: every check must pass",
"title": "Require High Assurance",
"type": "boolean"
},
"enable_anomaly_detection": {
"default": false,
"description": "Flag records that break no rules but do not fit the reference pattern",
"title": "Enable Anomaly Detection",
"type": "boolean"
},
"enable_drift_tracking": {
"default": false,
"description": "Track pattern stability across batches",
"title": "Enable Drift Tracking",
"type": "boolean"
}
},
"required": [
"api_key",
"customer_name",
"workflow_name"
],
"title": "create_blueprintArguments"
}🟢list_blueprints(api_key)
List the Blueprints on this account with field/rule/constraint counts and mode. Use the returned workflow_name as 'blueprint' in validate.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "list_blueprintsArguments"
}🟢repair(api_key, structured_data, derivation_rules, formal_constraints, blueprint)
One-shot repair: return corrected values that would make failing data valid under the Blueprint. Use repair_path to see the steps instead.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"derivation_rules": {
"default": null,
"description": "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",
"items": {},
"title": "Derivation Rules",
"type": "array"
},
"formal_constraints": {
"default": null,
"description": "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",
"items": {},
"title": "Formal Constraints",
"type": "array"
},
"blueprint": {
"default": null,
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "repairArguments"
}🟢check_blueprint_health(api_key, blueprint, config)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"blueprint": {
"default": "",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
},
"config": {
"additionalProperties": true,
"default": null,
"description": "Raw blueprint config with derivation_rules and formal_constraints (used when 'blueprint' is not given)",
"title": "Config",
"type": "object"
}
},
"required": [
"api_key"
],
"title": "check_blueprint_healthArguments"
}🟢compare_semantic_equivalence(api_key, payload_a, payload_b, field_mapping, rules_a, ...)
Compare 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.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"payload_a": {
"additionalProperties": true,
"description": "First structured payload (arbitrary JSON object)",
"title": "Payload A",
"type": "object"
},
"payload_b": {
"additionalProperties": true,
"description": "Second structured payload to compare against payload_a",
"title": "Payload B",
"type": "object"
},
"field_mapping": {
"additionalProperties": true,
"default": null,
"description": "Explicit one-to-one field renaming from A to B",
"title": "Field Mapping",
"type": "object"
},
"rules_a": {
"default": null,
"description": "Derivation rules for A",
"items": {},
"title": "Rules A",
"type": "array"
},
"rules_b": {
"default": null,
"description": "Derivation rules for B",
"items": {},
"title": "Rules B",
"type": "array"
},
"constraints_a": {
"default": null,
"description": "Formal constraints for A",
"items": {},
"title": "Constraints A",
"type": "array"
},
"constraints_b": {
"default": null,
"description": "Formal constraints for B",
"items": {},
"title": "Constraints B",
"type": "array"
}
},
"required": [
"api_key",
"payload_a",
"payload_b"
],
"title": "compare_semantic_equivalenceArguments"
}🟢govern_inference(api_key, task_type, payload, inference_id, constraints, ...)
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. 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.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"task_type": {
"description": "Kind of generation step being governed",
"enum": [
"generative_text",
"retrieval",
"generic"
],
"title": "Task Type",
"type": "string"
},
"payload": {
"additionalProperties": true,
"description": "Task-type payload: generative_text {text,...}; retrieval {query,candidates}; generic {features}",
"title": "Payload",
"type": "object"
},
"inference_id": {
"description": "Caller-chosen ID grouping the steps of one generation",
"title": "Inference Id",
"type": "string"
},
"constraints": {
"additionalProperties": true,
"default": null,
"description": "Optional governance constraint config object",
"title": "Constraints",
"type": "object"
},
"source": {
"default": "mcp",
"description": "Free-form caller label recorded for audit",
"title": "Source",
"type": "string"
},
"step_index": {
"default": 0,
"description": "Step number within this generation (0-based)",
"title": "Step Index",
"type": "integer"
},
"blueprint": {
"default": "default",
"description": "Owned Blueprint namespace for the trace",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"task_type",
"payload",
"inference_id"
],
"title": "govern_inferenceArguments"
}🟢get_inference_trace(api_key, inference_id, blueprint, blueprint_version)
Retrieve the durable audit trail for a governed generation: every recorded decision and its reasons.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"inference_id": {
"description": "Caller-chosen ID grouping the steps of one generation",
"title": "Inference Id",
"type": "string"
},
"blueprint": {
"default": "default",
"description": "Blueprint namespace used when recording the trace",
"title": "Blueprint",
"type": "string"
},
"blueprint_version": {
"default": "",
"description": "Optional historical blueprint_version hash returned by govern_inference",
"title": "Blueprint Version",
"type": "string"
}
},
"required": [
"api_key",
"inference_id"
],
"title": "get_inference_traceArguments"
}🟢recent_inference_decisions(api_key, limit, action, blueprint, blueprint_version)
Recent generation-governance decisions in this owner's Blueprint version.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum rows to return",
"title": "Limit",
"type": "integer"
},
"action": {
"default": "",
"description": "Optional action filter (STOP, CONTINUE, REVIEW, ...)",
"title": "Action",
"type": "string"
},
"blueprint": {
"default": "default",
"description": "Blueprint namespace used when recording the trace",
"title": "Blueprint",
"type": "string"
},
"blueprint_version": {
"default": "",
"description": "Optional historical blueprint_version hash returned by govern_inference",
"title": "Blueprint Version",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "recent_inference_decisionsArguments"
}🟢verify_certificate(api_key, certificate, data, derivation_rules, formal_constraints)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"certificate": {
"additionalProperties": true,
"description": "The certificate object from a prior validation response",
"title": "Certificate",
"type": "object"
},
"data": {
"additionalProperties": true,
"default": null,
"description": "Original payload for full re-verification; omit for integrity-only mode",
"title": "Data",
"type": "object"
},
"derivation_rules": {
"default": null,
"description": "Rule list for independent attestation recomputation (optional)",
"items": {},
"title": "Derivation Rules",
"type": "array"
},
"formal_constraints": {
"default": null,
"description": "Optional constraints to match against the committed bundle",
"items": {},
"title": "Formal Constraints",
"type": "array"
}
},
"required": [
"api_key",
"certificate"
],
"title": "verify_certificateArguments"
}🟢profile_blueprint_robustness(api_key, blueprint, config)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"blueprint": {
"default": "",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
},
"config": {
"additionalProperties": true,
"default": null,
"description": "Raw blueprint config to profile (used when 'blueprint' is not given)",
"title": "Config",
"type": "object"
}
},
"required": [
"api_key"
],
"title": "profile_blueprint_robustnessArguments"
}🟢forecast(api_key, structured_data, blueprint, max_depth, max_branches, ...)
Deterministic forward reasoning: from the current data state, generate and rank the valid next states reachable under the Blueprint's rules.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
},
"max_depth": {
"default": 3,
"description": "Search depth, 1-10",
"title": "Max Depth",
"type": "integer"
},
"max_branches": {
"default": 5,
"description": "Branches per step, 1-10",
"title": "Max Branches",
"type": "integer"
},
"rank_by": {
"default": "drift",
"description": "Ranking criterion for returned paths",
"enum": [
"drift",
"confidence",
"shortest",
"risk"
],
"title": "Rank By",
"type": "string"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "forecastArguments"
}⚪discover_patterns(api_key, documents, blueprint)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"documents": {
"description": "List of structured records (objects) to analyze",
"items": {},
"title": "Documents",
"type": "array"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"documents"
],
"title": "discover_patternsArguments"
}🟢repair_path(api_key, structured_data, blueprint, max_depth, rank_by)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
},
"max_depth": {
"default": 4,
"description": "Search depth, 1-10",
"title": "Max Depth",
"type": "integer"
},
"rank_by": {
"default": "shortest",
"description": "Ranking criterion for returned paths",
"enum": [
"shortest",
"drift",
"confidence",
"risk"
],
"title": "Rank By",
"type": "string"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "repair_pathArguments"
}🟢counterfactual(api_key, structured_data, blueprint, rules_b, constraints_b)
Run the same data under two rule sets and compare which future states remain valid - what-if analysis for rule changes.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
},
"rules_b": {
"default": null,
"description": "Alternative derivation rules (rule set B)",
"items": {},
"title": "Rules B",
"type": "array"
},
"constraints_b": {
"default": null,
"description": "Alternative constraints (rule set B)",
"items": {},
"title": "Constraints B",
"type": "array"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "counterfactualArguments"
}🟢analyze_anomaly(api_key, structured_data, blueprint)
Explain whether a record fits the usual pattern for records like it, and which fields stand out. No Blueprint required.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"default": "default",
"description": "Discovery namespace used by discover_patterns",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "analyze_anomalyArguments"
}🟡create_chain(api_key, blueprint, stages, ttl)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"blueprint": {
"description": "Blueprint governing all stages of the chain",
"title": "Blueprint",
"type": "string"
},
"stages": {
"description": "Stage definitions, e.g. [{'stage_name':'extract','agent_name':'PDF Agent'}]; minimum 2",
"items": {},
"title": "Stages",
"type": "array"
},
"ttl": {
"default": 3600,
"description": "Chain timeout in seconds; stages cannot advance after expiry",
"title": "Ttl",
"type": "integer"
}
},
"required": [
"api_key",
"blueprint",
"stages"
],
"title": "create_chainArguments"
}🟡submit_chain_stage(api_key, chain_id, stage, structured_data)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"chain_id": {
"description": "Chain identifier returned by create_chain",
"title": "Chain Id",
"type": "string"
},
"stage": {
"description": "Stage name to submit for (must be the chain's current stage)",
"title": "Stage",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
}
},
"required": [
"api_key",
"chain_id",
"stage",
"structured_data"
],
"title": "submit_chain_stageArguments"
}🟢handoff_audit(api_key, chain_id, from_stage, to_stage, proposed_data)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"chain_id": {
"description": "Chain identifier returned by create_chain",
"title": "Chain Id",
"type": "string"
},
"from_stage": {
"description": "Completed stage name (agent A)",
"title": "From Stage",
"type": "string"
},
"to_stage": {
"description": "Stage about to start (agent B)",
"title": "To Stage",
"type": "string"
},
"proposed_data": {
"additionalProperties": true,
"default": null,
"description": "Data agent B intends to submit; checked for mutation against agent A's verified fields",
"title": "Proposed Data",
"type": "object"
}
},
"required": [
"api_key",
"chain_id",
"from_stage",
"to_stage"
],
"title": "handoff_auditArguments"
}⚪approve_rule(api_key, rule_id, blueprint)
Promote a rule discovered by discover_patterns into Blueprint-ready form.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"rule_id": {
"description": "Discovered rule ID from discover_patterns",
"title": "Rule Id",
"type": "string"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"rule_id"
],
"title": "approve_ruleArguments"
}⚪reject_rule(api_key, rule_id, blueprint)
Reject a discovered candidate rule so it will not be promoted into a Blueprint. Pair with approve_rule after discover_patterns.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"rule_id": {
"description": "Discovered rule ID from discover_patterns",
"title": "Rule Id",
"type": "string"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"rule_id"
],
"title": "reject_ruleArguments"
}🟢structural_types(api_key, blueprint)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "structural_typesArguments"
}🟢decompose_failure(api_key, original_values, corrected_values, derivation_rules, formal_constraints, ...)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"original_values": {
"additionalProperties": true,
"description": "Original numeric field values as {field: number}",
"title": "Original Values",
"type": "object"
},
"corrected_values": {
"additionalProperties": true,
"description": "Corrected/expected numeric field values as {field: number}",
"title": "Corrected Values",
"type": "object"
},
"derivation_rules": {
"default": null,
"description": "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",
"items": {},
"title": "Derivation Rules",
"type": "array"
},
"formal_constraints": {
"default": null,
"description": "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",
"items": {},
"title": "Formal Constraints",
"type": "array"
},
"blueprint": {
"default": null,
"description": "Load rules from this Blueprint instead of passing them inline",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"original_values",
"corrected_values"
],
"title": "decompose_failureArguments"
}🟢geometric_confidence(api_key, state_vector)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"state_vector": {
"additionalProperties": true,
"description": "state_vector object from a prior validate or get_execution_trace result",
"title": "State Vector",
"type": "object"
}
},
"required": [
"api_key",
"state_vector"
],
"title": "geometric_confidenceArguments"
}🟢check_realization(api_key, structured_data, blueprint)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "check_realizationArguments"
}🟢check_drift(api_key, structured_data, blueprint)
Check whether recent submissions still match the established pattern for this Blueprint. Returns a stability verdict and observation count.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "check_driftArguments"
}⚪authorize_execution(api_key, structured_data, blueprint)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"structured_data",
"blueprint"
],
"title": "authorize_executionArguments"
}🟢load_rule_pack(api_key, pack_id)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"pack_id": {
"default": null,
"description": "Rule pack ID; omit to list available packs",
"title": "Pack Id",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "load_rule_packArguments"
}🟢get_execution_trace(api_key, structured_data, blueprint)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"structured_data": {
"additionalProperties": true,
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"title": "Structured Data",
"type": "object"
},
"blueprint": {
"default": "default",
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
}
},
"required": [
"api_key",
"structured_data"
],
"title": "get_execution_traceArguments"
}🟢verify_replay(api_key, contract_a, contract_b)
Check 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.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"contract_a": {
"additionalProperties": true,
"description": "replay_contract object from one execution",
"title": "Contract A",
"type": "object"
},
"contract_b": {
"additionalProperties": true,
"description": "replay_contract object to compare against contract_a",
"title": "Contract B",
"type": "object"
}
},
"required": [
"api_key",
"contract_a",
"contract_b"
],
"title": "verify_replayArguments"
}🟢account_status(api_key)
This account's plan, key usage, Blueprint counts, and the deployed platform build fingerprint (version, build, deployed).
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "account_statusArguments"
}🔴delete_blueprint(api_key, workflow_name, confirm)
Permanently delete a Blueprint and revoke its API keys. Irreversible; requires confirm=true. Account-level keys are unaffected.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"workflow_name": {
"description": "Blueprint to delete; its API keys are revoked",
"title": "Workflow Name",
"type": "string"
},
"confirm": {
"default": false,
"description": "Must be true to confirm this irreversible action",
"title": "Confirm",
"type": "boolean"
}
},
"required": [
"api_key",
"workflow_name"
],
"title": "delete_blueprintArguments"
}🔴update_blueprint(api_key, workflow_name, customer_name, mode, extracted_fields, ...)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"workflow_name": {
"description": "Unique Blueprint identifier; the value passed as 'blueprint' in validate",
"title": "Workflow Name",
"type": "string"
},
"customer_name": {
"default": null,
"description": "Organization or project name (also used for storage folder naming)",
"title": "Customer Name",
"type": "string"
},
"mode": {
"default": null,
"description": "New mode: observe or enforce; omit to keep current",
"title": "Mode",
"type": "string"
},
"extracted_fields": {
"default": null,
"description": "Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost']",
"items": {},
"title": "Extracted Fields",
"type": "array"
},
"derived_fields": {
"default": null,
"description": "Field names the platform computes from other fields, e.g. ['subtotal','total']",
"items": {},
"title": "Derived Fields",
"type": "array"
},
"derivation_rules": {
"default": null,
"description": "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",
"items": {},
"title": "Derivation Rules",
"type": "array"
},
"formal_constraints": {
"default": null,
"description": "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",
"items": {},
"title": "Formal Constraints",
"type": "array"
},
"semantic_checks": {
"default": null,
"description": "Domain-specific semantic check objects",
"items": {},
"title": "Semantic Checks",
"type": "array"
},
"require_math": {
"default": null,
"description": "Validate mathematical relationships",
"title": "Require Math",
"type": "boolean"
},
"require_consistency": {
"default": null,
"description": "Check internal field consistency",
"title": "Require Consistency",
"type": "boolean"
},
"require_coherence": {
"default": null,
"description": "Check cross-field plausibility",
"title": "Require Coherence",
"type": "boolean"
},
"require_provenance": {
"default": null,
"description": "Require extraction source locations for fields",
"title": "Require Provenance",
"type": "boolean"
},
"require_high_assurance": {
"default": null,
"description": "Strictest mode: every check must pass",
"title": "Require High Assurance",
"type": "boolean"
},
"enable_anomaly_detection": {
"default": null,
"description": "Flag records that break no rules but do not fit the reference pattern",
"title": "Enable Anomaly Detection",
"type": "boolean"
},
"enable_drift_tracking": {
"default": null,
"description": "Track pattern stability across batches",
"title": "Enable Drift Tracking",
"type": "boolean"
}
},
"required": [
"api_key",
"workflow_name"
],
"title": "update_blueprintArguments"
}🟢list_api_keys(api_key)
List this account's API keys (masked) with their Blueprint bindings.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "list_api_keysArguments"
}🔴rotate_api_key(api_key, key_to_rotate)
Replace an API key with a fresh one. The old key stops working immediately; the new key inherits its bindings.
Input Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"key_to_rotate": {
"description": "The gai_ key to rotate; it stops working immediately",
"title": "Key To Rotate",
"type": "string"
}
},
"required": [
"api_key",
"key_to_rotate"
],
"title": "rotate_api_keyArguments"
}🔴delete_api_key(api_key, key_to_delete, confirm)
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 Schema
{
"type": "object",
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"key_to_delete": {
"description": "The gai_ key to delete",
"title": "Key To Delete",
"type": "string"
},
"confirm": {
"default": false,
"description": "Must be true to confirm this irreversible action",
"title": "Confirm",
"type": "boolean"
}
},
"required": [
"api_key",
"key_to_delete"
],
"title": "delete_api_keyArguments"
}Recommended Prompts
get_inference_traceget_inference_tracelist_blueprintslist_blueprintslist_blueprintsget_inference_traceCommunity
Evidence