Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 4 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:8fd498e4f6464c2237a890a2176e9c5189aa0a6eba621b286d0813236b143298 | sha256sum