Server definition
- Hash
- sha256:8fd498e4f6464c2237a890a2176e9c5189aa0a6eba621b286d0813236b143298
- What it is
- What a remote MCP server returned when asked what it offers: 37 tools
The blob, as servednamed by its sha256
{
"instructions": "GeodesicAI is pre-execution governance for AI agents. Other tools do something; GeodesicAI decides whether it should happen — with deterministic, replayable verdicts, never a guess.\n\nGOVERNANCE (the core) — Validate agent outputs and authorize actions against Blueprint rules BEFORE they execute. Catches math errors, field inconsistencies, policy-limit breaches, and constraint violations. Every check returns PASS, FAIL, or REVIEW with plain-language reasons, repair suggestions, a tamper-evident determinism hash, and a proof certificate you can re-verify independently. Same input, same rules, same verdict — every time. Use authorize_execution for a go/no-go before real-world actions (payments, emails, filings, API writes); use validate for document and output checking. Requires a Blueprint (your governance contract): load_rule_pack for ready-made templates, create_blueprint for custom rules.\n\nDISCOVERY — Learn candidate rules and spot unusual records from batches of your own data, deterministically. Detect records that break no rules but don't fit the established pattern; track drift in a data stream over time. No Blueprint required. Discovered rules can be promoted into Blueprints.\n\nPROOF — verify_certificate re-computes every attested rule from the record's own numbers; verify_replay re-checks an execution's bound commitments (record, rules, reference context, result) so a re-run can be compared against them. It proves the bound decision was made by the rules under that context; it is not a claim of byte-identical replay across changed references or time-dependent rules. Trust nothing, recheck everything.\n\nNo machine learning. No probabilistic inference in the validation pipeline. Every verdict is reproducible and fully traceable.\n\nDOCUMENTATION — For the full user guide covering all tools, Blueprint design, Trajectory mode, and demo walkthroughs, read the 'user_guide' resource (geodesicai://docs/user-guide), or fetch https://app.geodesiclabs.ai/static/GeodesicAI_User_Guide.pdf. For Blueprint design specifics, invoke the 'blueprint_guide' prompt. To turn a validation result into plain English using your own LLM, invoke the 'explain_result' prompt.\n\nSign up at geodesiclabs.ai for an API key.",
"tools": [
{
"description": "This account's plan, key usage, Blueprint counts, and the deployed\n platform build fingerprint (version, build, deployed).\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "account_statusArguments",
"type": "object"
},
"name": "account_status",
"outputSchema": null
},
{
"description": "Explain whether a record fits the usual pattern for records like it,\n and which fields stand out. No Blueprint required.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"blueprint": {
"default": "default",
"description": "Discovery namespace used by discover_patterns",
"title": "Blueprint",
"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",
"structured_data"
],
"title": "analyze_anomalyArguments",
"type": "object"
},
"name": "analyze_anomaly",
"outputSchema": null
},
{
"description": "Promote a rule discovered by discover_patterns into Blueprint-ready\n form.\n ",
"inputSchema": {
"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"
},
"rule_id": {
"description": "Discovered rule ID from discover_patterns",
"title": "Rule Id",
"type": "string"
}
},
"required": [
"api_key",
"rule_id"
],
"title": "approve_ruleArguments",
"type": "object"
},
"name": "approve_rule",
"outputSchema": null
},
{
"description": "Go/no-go for a real-world action (payment, filing, API write): runs\n full validation, then the Blueprint's execution gate. authorized=true\n only on PASS; REVIEW means do not proceed automatically. Different\n from validate: validate asks is this data correct, authorize_execution\n asks should this action happen.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"blueprint": {
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"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",
"structured_data",
"blueprint"
],
"title": "authorize_executionArguments",
"type": "object"
},
"name": "authorize_execution",
"outputSchema": null
},
{
"description": "Static pre-deploy analysis of a Blueprint's rule set. Returns a health\n verdict - healthy, acceptable, fragile, rigid, split, brittle_islands,\n or unsatisfiable - with advice, including joint conflicts pairwise\n checks miss.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "check_blueprint_health",
"outputSchema": null
},
{
"description": "Check whether recent submissions still match the established pattern\n for this Blueprint. Returns a stability verdict and observation count.\n ",
"inputSchema": {
"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"
},
"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",
"structured_data"
],
"title": "check_driftArguments",
"type": "object"
},
"name": "check_drift",
"outputSchema": null
},
{
"description": "Structural realization analysis of a payload against the Blueprint's\n reference configuration (requires a 'realization' block; otherwise\n status=skipped). Diagnostics-tier tool; prefer validate or\n analyze_anomaly for standard checks.\n ",
"inputSchema": {
"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"
},
"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",
"structured_data"
],
"title": "check_realizationArguments",
"type": "object"
},
"name": "check_realization",
"outputSchema": null
},
{
"description": "Compare two payloads under the dual-hash design: content_hash is\n content_hash normalizes field order and numeric formatting. Semantic\n comparison preserves field roles; renaming requires an explicit bijection.\n With supplied rules, scalar types and whitespace remain significant.\n Structural similarity alone does not establish decision equivalence.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"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"
},
"field_mapping": {
"additionalProperties": true,
"default": null,
"description": "Explicit one-to-one field renaming from A to B",
"title": "Field Mapping",
"type": "object"
},
"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"
},
"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"
}
},
"required": [
"api_key",
"payload_a",
"payload_b"
],
"title": "compare_semantic_equivalenceArguments",
"type": "object"
},
"name": "compare_semantic_equivalence",
"outputSchema": null
},
{
"description": "Run the same data under two rule sets and compare which future states\n remain valid - what-if analysis for rule changes.\n ",
"inputSchema": {
"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"
},
"constraints_b": {
"default": null,
"description": "Alternative constraints (rule set B)",
"items": {},
"title": "Constraints B",
"type": "array"
},
"rules_b": {
"default": null,
"description": "Alternative derivation rules (rule set B)",
"items": {},
"title": "Rules B",
"type": "array"
},
"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",
"structured_data"
],
"title": "counterfactualArguments",
"type": "object"
},
"name": "counterfactual",
"outputSchema": null
},
{
"description": "Create a Blueprint - the governance contract validation runs against.\n\n A Blueprint defines what correct means for your data: fields, the math\n that must hold between them, and acceptable ranges. Start from\n load_rule_pack or discover_patterns if you have no rules yet; invoke\n the blueprint_guide prompt for the full rule/constraint reference.\n Returns the new Blueprint's API key.\n ",
"inputSchema": {
"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"
},
"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"
},
"derived_fields": {
"default": null,
"description": "Field names the platform computes from other fields, e.g. ['subtotal','total']",
"items": {},
"title": "Derived Fields",
"type": "array"
},
"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"
},
"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"
},
"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"
},
"mode": {
"default": "observe",
"description": "observe: platform checks the agent's work; enforce: platform computes derived fields itself",
"enum": [
"observe",
"enforce"
],
"title": "Mode",
"type": "string"
},
"require_coherence": {
"default": true,
"description": "Check cross-field plausibility",
"title": "Require Coherence",
"type": "boolean"
},
"require_consistency": {
"default": true,
"description": "Check internal field consistency",
"title": "Require Consistency",
"type": "boolean"
},
"require_high_assurance": {
"default": false,
"description": "Strictest mode: every check must pass",
"title": "Require High Assurance",
"type": "boolean"
},
"require_math": {
"default": true,
"description": "Validate mathematical relationships",
"title": "Require Math",
"type": "boolean"
},
"require_provenance": {
"default": false,
"description": "Require extraction source locations for fields",
"title": "Require Provenance",
"type": "boolean"
},
"semantic_checks": {
"default": null,
"description": "Domain-specific semantic check objects",
"items": {},
"title": "Semantic Checks",
"type": "array"
},
"workflow_name": {
"description": "Unique Blueprint identifier; the value passed as 'blueprint' in validate",
"title": "Workflow Name",
"type": "string"
}
},
"required": [
"api_key",
"customer_name",
"workflow_name"
],
"title": "create_blueprintArguments",
"type": "object"
},
"name": "create_blueprint",
"outputSchema": null
},
{
"description": "Create a multi-agent sequential chain: stages validate in order against\n one Blueprint, repairs propagate forward, TTL bounds the run. Siblings:\n submit_chain_stage advances the chain; handoff_audit verifies a\n transition between stages. Returns chain_id.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "create_chain",
"outputSchema": null
},
{
"description": "Split the error between original and corrected values into direct rule\n violations, boundary violations, and systemic structural error, with\n per-field contributions. Use with a known-correct version to diff\n against; use analyze_anomaly when you only have the suspicious payload.\n Diagnostics-tier tool.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"blueprint": {
"default": null,
"description": "Load rules from this Blueprint instead of passing them inline",
"title": "Blueprint",
"type": "string"
},
"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"
},
"original_values": {
"additionalProperties": true,
"description": "Original numeric field values as {field: number}",
"title": "Original Values",
"type": "object"
}
},
"required": [
"api_key",
"original_values",
"corrected_values"
],
"title": "decompose_failureArguments",
"type": "object"
},
"name": "decompose_failure",
"outputSchema": null
},
{
"description": "Permanently delete one of the caller's API keys.\n\n DESTRUCTIVE — agents using the deleted key will receive auth\n errors immediately. The Blueprint a key was tied to (if any) is\n NOT affected; only the credential is revoked. To delete a\n Blueprint and all its keys, use delete_blueprint.\n\n The target key can be specified two ways:\n - As the full key string (gai_...).\n - As a key_id (SHA-256 hash from list_api_keys).\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"confirm": {
"default": false,
"description": "Must be true to confirm this irreversible action",
"title": "Confirm",
"type": "boolean"
},
"key_to_delete": {
"description": "The gai_ key to delete",
"title": "Key To Delete",
"type": "string"
}
},
"required": [
"api_key",
"key_to_delete"
],
"title": "delete_api_keyArguments",
"type": "object"
},
"name": "delete_api_key",
"outputSchema": null
},
{
"description": "Permanently delete a Blueprint and revoke its API keys. Irreversible;\n requires confirm=true. Account-level keys are unaffected.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"confirm": {
"default": false,
"description": "Must be true to confirm this irreversible action",
"title": "Confirm",
"type": "boolean"
},
"workflow_name": {
"description": "Blueprint to delete; its API keys are revoked",
"title": "Workflow Name",
"type": "string"
}
},
"required": [
"api_key",
"workflow_name"
],
"title": "delete_blueprintArguments",
"type": "object"
},
"name": "delete_blueprint",
"outputSchema": null
},
{
"description": "Learn candidate validation rules and structural document types from a\n batch of your records, deterministically - no Blueprint required.\n Promote results with approve_rule. Source data is not stored.\n ",
"inputSchema": {
"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"
},
"documents": {
"description": "List of structured records (objects) to analyze",
"items": {},
"title": "Documents",
"type": "array"
}
},
"required": [
"api_key",
"documents"
],
"title": "discover_patternsArguments",
"type": "object"
},
"name": "discover_patterns",
"outputSchema": null
},
{
"description": "Deterministic forward reasoning: from the current data state, generate\n and rank the valid next states reachable under the Blueprint's rules.\n ",
"inputSchema": {
"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"
},
"max_branches": {
"default": 5,
"description": "Branches per step, 1-10",
"title": "Max Branches",
"type": "integer"
},
"max_depth": {
"default": 3,
"description": "Search depth, 1-10",
"title": "Max Depth",
"type": "integer"
},
"rank_by": {
"default": "drift",
"description": "Ranking criterion for returned paths",
"enum": [
"drift",
"confidence",
"shortest",
"risk"
],
"title": "Rank By",
"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",
"structured_data"
],
"title": "forecastArguments",
"type": "object"
},
"name": "forecast",
"outputSchema": null
},
{
"description": "Summarize an already-computed state_vector into a confidence level\n (high/medium/low) with a recommendation. Post-hoc digest - use\n analyze_anomaly or check_drift for fresh analysis of raw data.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "geometric_confidence",
"outputSchema": null
},
{
"description": "Run validation and return the per-node execution trace (node names,\n deterministic flags, timing) plus the verdict and determinism hash.\n Use validate for normal operation; this is for debugging and audit\n preparation.\n ",
"inputSchema": {
"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"
},
"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",
"structured_data"
],
"title": "get_execution_traceArguments",
"type": "object"
},
"name": "get_execution_trace",
"outputSchema": null
},
{
"description": "Retrieve the durable audit trail for a governed generation: every\n recorded decision and its reasons.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"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"
},
"inference_id": {
"description": "Caller-chosen ID grouping the steps of one generation",
"title": "Inference Id",
"type": "string"
}
},
"required": [
"api_key",
"inference_id"
],
"title": "get_inference_traceArguments",
"type": "object"
},
"name": "get_inference_trace",
"outputSchema": null
},
{
"description": "Quality-govern an in-progress AI generation step BEFORE its output is\n used (complements validate, which checks finished documents). Returns\n an action - STOP, CONTINUE, REPAIR_REGION, REUSE_MOTIF, REVIEW,\n ESCALATE - with a plain-language explanation. Structural scores do not\n establish task correctness. Check safe_to_finalize and acceptance coverage.\n Persistence success is reported; read traces in the same Blueprint namespace.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"blueprint": {
"default": "default",
"description": "Owned Blueprint namespace for the trace",
"title": "Blueprint",
"type": "string"
},
"constraints": {
"additionalProperties": true,
"default": null,
"description": "Optional governance constraint config object",
"title": "Constraints",
"type": "object"
},
"inference_id": {
"description": "Caller-chosen ID grouping the steps of one generation",
"title": "Inference Id",
"type": "string"
},
"payload": {
"additionalProperties": true,
"description": "Task-type payload: generative_text {text,...}; retrieval {query,candidates}; generic {features}",
"title": "Payload",
"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"
},
"task_type": {
"description": "Kind of generation step being governed",
"enum": [
"generative_text",
"retrieval",
"generic"
],
"title": "Task Type",
"type": "string"
}
},
"required": [
"api_key",
"task_type",
"payload",
"inference_id"
],
"title": "govern_inferenceArguments",
"type": "object"
},
"name": "govern_inference",
"outputSchema": null
},
{
"description": "Audit a handoff between two chain stages: a context capsule of verified\n facts from the prior stage, and (if proposed_data is given) a\n compatibility verdict that catches fields mutated in transit. Siblings:\n create_chain, submit_chain_stage.\n ",
"inputSchema": {
"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"
},
"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"
},
"to_stage": {
"description": "Stage about to start (agent B)",
"title": "To Stage",
"type": "string"
}
},
"required": [
"api_key",
"chain_id",
"from_stage",
"to_stage"
],
"title": "handoff_auditArguments",
"type": "object"
},
"name": "handoff_audit",
"outputSchema": null
},
{
"description": "List this account's API keys (masked) with their Blueprint bindings.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "list_api_keysArguments",
"type": "object"
},
"name": "list_api_keys",
"outputSchema": null
},
{
"description": "List the Blueprints on this account with field/rule/constraint counts\n and mode. Use the returned workflow_name as 'blueprint' in validate.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
}
},
"required": [
"api_key"
],
"title": "list_blueprintsArguments",
"type": "object"
},
"name": "list_blueprints",
"outputSchema": null
},
{
"description": "Load a prebuilt Blueprint template (invoices, timecards, legal, POs,\n claims). Call without pack_id to list packs; then create_blueprint to\n save a customized copy.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "load_rule_pack",
"outputSchema": null
},
{
"description": "Sweep the Blueprint's numeric constraint bounds and report verdict\n stability: the stable band, the scales where the verdict first flips,\n and advice. Use before deploying bound changes.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "profile_blueprint_robustness",
"outputSchema": null
},
{
"description": "Recent generation-governance decisions in this owner's Blueprint version.\n ",
"inputSchema": {
"properties": {
"action": {
"default": "",
"description": "Optional action filter (STOP, CONTINUE, REVIEW, ...)",
"title": "Action",
"type": "string"
},
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"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"
},
"limit": {
"default": 25,
"description": "Maximum rows to return",
"title": "Limit",
"type": "integer"
}
},
"required": [
"api_key"
],
"title": "recent_inference_decisionsArguments",
"type": "object"
},
"name": "recent_inference_decisions",
"outputSchema": null
},
{
"description": "Reject a discovered candidate rule so it will not be promoted into a\n Blueprint. Pair with approve_rule after discover_patterns.\n ",
"inputSchema": {
"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"
},
"rule_id": {
"description": "Discovered rule ID from discover_patterns",
"title": "Rule Id",
"type": "string"
}
},
"required": [
"api_key",
"rule_id"
],
"title": "reject_ruleArguments",
"type": "object"
},
"name": "reject_rule",
"outputSchema": null
},
{
"description": "One-shot repair: return corrected values that would make failing data\n valid under the Blueprint. Use repair_path to see the steps instead.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"blueprint": {
"default": null,
"description": "Blueprint name (workflow_name) to use",
"title": "Blueprint",
"type": "string"
},
"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"
},
"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",
"structured_data"
],
"title": "repairArguments",
"type": "object"
},
"name": "repair",
"outputSchema": null
},
{
"description": "Find the shortest sequence of field changes taking invalid data to a\n valid state, as an ordered path of intermediate states. Different from\n repair (one-shot nearest fix): use repair_path to explain or audit the\n fix, or compare alternative repairs.\n ",
"inputSchema": {
"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"
},
"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"
},
"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",
"structured_data"
],
"title": "repair_pathArguments",
"type": "object"
},
"name": "repair_path",
"outputSchema": null
},
{
"description": "Replace an API key with a fresh one. The old key stops working\n immediately; the new key inherits its bindings.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "rotate_api_key",
"outputSchema": null
},
{
"description": "Retrieve the document categories a discover_patterns session identified\n (counts, distinguishing fields, domain hints). Read-only; returns\n status=no_session if discovery has not run for this namespace.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "structural_types",
"outputSchema": null
},
{
"description": "Submit data for the chain's current stage; the platform validates it\n and advances the chain if it passes. Response includes next-stage info\n and accumulated repairs.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "submit_chain_stage",
"outputSchema": null
},
{
"description": "Update an existing Blueprint in place. Only passed fields change;\n pass [] to clear a list. workflow_name cannot be renamed and existing\n API keys keep working. Different from create_blueprint: modifies an\n existing Blueprint, mints no new key.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"type": "string"
},
"customer_name": {
"default": null,
"description": "Organization or project name (also used for storage folder naming)",
"title": "Customer Name",
"type": "string"
},
"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"
},
"derived_fields": {
"default": null,
"description": "Field names the platform computes from other fields, e.g. ['subtotal','total']",
"items": {},
"title": "Derived Fields",
"type": "array"
},
"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"
},
"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"
},
"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"
},
"mode": {
"default": null,
"description": "New mode: observe or enforce; omit to keep current",
"title": "Mode",
"type": "string"
},
"require_coherence": {
"default": null,
"description": "Check cross-field plausibility",
"title": "Require Coherence",
"type": "boolean"
},
"require_consistency": {
"default": null,
"description": "Check internal field consistency",
"title": "Require Consistency",
"type": "boolean"
},
"require_high_assurance": {
"default": null,
"description": "Strictest mode: every check must pass",
"title": "Require High Assurance",
"type": "boolean"
},
"require_math": {
"default": null,
"description": "Validate mathematical relationships",
"title": "Require Math",
"type": "boolean"
},
"require_provenance": {
"default": null,
"description": "Require extraction source locations for fields",
"title": "Require Provenance",
"type": "boolean"
},
"semantic_checks": {
"default": null,
"description": "Domain-specific semantic check objects",
"items": {},
"title": "Semantic Checks",
"type": "array"
},
"workflow_name": {
"description": "Unique Blueprint identifier; the value passed as 'blueprint' in validate",
"title": "Workflow Name",
"type": "string"
}
},
"required": [
"api_key",
"workflow_name"
],
"title": "update_blueprintArguments",
"type": "object"
},
"name": "update_blueprint",
"outputSchema": null
},
{
"description": "Validate structured data against a Blueprint's rules BEFORE the result\n is used. Returns PASS, FAIL, or REVIEW with plain-language findings,\n repair suggestions, a determinism hash, and a re-verifiable\n certificate. Same input + same rules = same verdict, every time.\n ",
"inputSchema": {
"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"
},
"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",
"structured_data"
],
"title": "validateArguments",
"type": "object"
},
"name": "validate",
"outputSchema": null
},
{
"description": "Validate structured data against a Blueprint and, when it fails,\n include repair suggestions (corrected values with the rule each fix is\n based on) in the same call. Same verdicts as validate: PASS, FAIL, or\n REVIEW, with reasons and proof.\n ",
"inputSchema": {
"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"
},
"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",
"structured_data"
],
"title": "validate_repairArguments",
"type": "object"
},
"name": "validate_repair",
"outputSchema": null
},
{
"description": "Independently re-verify a validation certificate. Integrity mode checks\n the hash chain; full mode (certificate + original data) recomputes\n every attested rule from scratch - trust nothing, recheck everything.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "verify_certificate",
"outputSchema": null
},
{
"description": "Check replay commitment integrity and compare recorded execution components.\n Version 4 includes reference context and the final result/status. A match\n compares commitments; this tool does not rerun the workflow or reconstruct\n historical reference populations, and does not prove factual correctness.\n ",
"inputSchema": {
"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",
"type": "object"
},
"name": "verify_replay",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:8fd498e4f6464c2237a890a2176e9c5189aa0a6eba621b286d0813236b143298 | sha256sum