ai.geodesiclabs/governance-platform
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Not Assessed
trustsnap_206d075030943065.- Utility Coverage
- Tool Surface Design
- Tool Snapshot Churn
- Make tools/list succeed unauthenticated when possible, or document the auth flow in the server card.
- Fix the failing checks first, then revalidate to confirm the recovery path.
- Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.
- Search crawler activity
- badge SVG inspection
Dispute this assessment
If any published claim about this server -- its score, a risk flag, a capability classification, or its taxonomy -- is factually wrong, tell us what evidence shows and we will review it. This does not require claiming or verifying ownership of the server first.
Verify responds to disputes within 5 business days and resolves them within 15.
Dispute history
No disputes filed for this server.
Risks
Security posture
Tool capability & risk inventory
No tool inventory available from the latest validation run.
Write-action governance
Status detail: No write-action governance evidence is available yet.
| Tool | Risk | Flags | Safeguards |
|---|---|---|---|
| High-risk tool assessment unavailable -- no tools were analyzed. | |||
Recommended runtime policy
No tool surface has been observed yet -- this is not the same as a clean bill of health. Revalidate before treating this server as policy-cleared.
Action-controls diff
Need at least two validation runs before diffing action controls.
Critical alerts
Compatibility
Client readiness verdicts
Client compatibility only means the server shape can work with a client. Production trust decision and write-action publishing are evaluated separately so a client-compatible server can still be blocked for production.
Evidence provenance
initialize• OKtools_list• Errortransport_compliance_probe• Warningstep_up_auth_probe• Missingconnector_replay_probe• Missing — Frozen tool snapshots must survive refresh.request_association_probe• Missing — Roots, sampling, and elicitation should stay request-scoped.
Evidence provenance
initialize• OKtools_list• Errortransport_compliance_probe• Warning
Evidence provenance
action_safety_probe• Not_Assessed
Evidence provenance
tool_snapshot_probe• Missingconnector_replay_probe• Missing
Client readiness gate details
Remediation checklist
- Add OAuth-based authentication for remote connector auth.
- Support dynamic client registration (DCR) to simplify connector setup.
- Fix the server so tools/list returns successfully.
- Document step-up auth requirements in a connector-friendly way.
- Improve OAuth interoperability -- see the OAuth Interop score breakdown.
- Limit the exposed surface to search/fetch-style read tools.
Remediation checklist
- Fix the server so tools/list returns successfully.
- Expose at least one tool.
- Limit the exposed surface to search/fetch-style read tools.
- Configure OAuth for authenticated remote MCP access.
- Remove export, bulk, mutating, and high-blast-radius exposure before certifying company-knowledge use.
- Satisfy OAuth, compatibility, and connector-refresh requirements before using the Messages API remote MCP path.
Remediation checklist
- Resolve the active alert: Latest validation is failing.
Verdict traces
server_failing• critical • Latest validation is failing
Client verdict trace table
| Verdict | Status | Checks | Winning source | Conflicts |
|---|---|---|---|---|
openai_connectors |
Not client-compatible | initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe | live_validation | none |
claude_desktop |
Not client-compatible | initialize, tools_list, transport_compliance_probe | live_validation | none |
unsafe_for_write_actions |
Publishing blocked | action_safety_probe | live_validation | none |
snapshot_churn_risk |
Not Assessed | tool_snapshot_probe, connector_replay_probe | history | none |
Publishability policy profiles
- Search Fetch Only: No
- Write Actions Present: No
- Oauth Configured: No
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
- Search Fetch Only: No
- Write Actions Present: No
- Oauth Configured: No
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
Compatibility fixtures
- remote_http_endpoint: Passes
- oauth_discovery: Degraded
- frozen_tool_snapshot_refresh: Not Assessed
- request_association: Not Assessed
- remote_transport: Passes
- tool_discovery: Likely to fail
- auth_connect: Passes
- safe_write_review: Degraded
Recommended for
Evidence
Current trust snapshot
trustsnap_206d075030943065Canonical machine links
Evidence confidence
Latest validation evidence
Failures
oauth_authorization_serverno authorization serveroauth_protected_resourceClient error '404 Not Found' for url 'https://app.geodesiclabs.ai/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404openid_configurationno authorization serverserver_cardClient error '404 Not Found' for url 'https://app.geodesiclabs.ai/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404tools_listClient error '400 Bad Request' for url 'https://app.geodesiclabs.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
Checks
| Check | Status | Latency | Evidence |
|---|---|---|---|
action_safety_probe |
Not_Assessed | n/a | No write-action risk evidence recorded. |
advanced_capabilities_probe |
Missing | n/a | No advanced MCP capability signals detected. |
connector_publishability_probe |
Error | n/a | Publishability blockers: tools list, protocol version, step up auth, transport compliance, +5 more. |
connector_replay_probe |
Missing | n/a | No connector replay evidence recorded. |
determinism_probe |
Missing | n/a | tools list unavailable |
initialize |
OK | 173.7 ms | Protocol 2025-03-26 |
instruction_tool_reference_probe |
Not_Assessed | n/a | initialize or tools unavailable |
interactive_flow_probe |
Missing | n/a | Check completed |
oauth_authorization_server |
Missing | n/a | no authorization server |
oauth_protected_resource |
Error | 171.7 ms | Client error '404 Not Found' for url 'https://app.geodesiclabs.ai/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
official_registry_probe |
OK | n/a | Check completed |
openid_configuration |
Missing | n/a | no authorization server |
probe_noise_resilience |
OK | 250.9 ms | Fetched https://app.geodesiclabs.ai/robots.txt |
prompt_get |
Missing | n/a | not advertised |
prompts_list |
Missing | 181.0 ms | Client error '400 Bad Request' for url 'https://app.geodesiclabs.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 |
protocol_version_probe |
Warning | n/a | Claims 2025-03-26; 2 release(s) behind 2025-11-25. |
provenance_divergence_probe |
Not_Assessed | n/a | Check completed |
request_association_probe |
Missing | n/a | No request-association capabilities were advertised. |
resource_read |
Missing | n/a | not advertised |
resources_list |
Missing | 191.0 ms | Client error '400 Bad Request' for url 'https://app.geodesiclabs.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 |
schema_divergence_probe |
Missing | n/a | no server card tools |
server_card |
Error | 134.3 ms | Client error '404 Not Found' for url 'https://app.geodesiclabs.ai/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
session_resume_probe |
OK | 262.1 ms | 37 tool(s) exposed |
step_up_auth_probe |
Missing | n/a | No OAuth or incremental-scope signals detected. |
tool_snapshot_probe |
Missing | n/a | no tools |
tools_list |
Error | 189.7 ms | Client error '400 Bad Request' for url 'https://app.geodesiclabs.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400 |
transport_compliance_probe |
Warning | 158.2 ms | Issues: missing protocol header (bad protocol=400, DELETE=200, expired session=404). |
utility_coverage_probe |
Missing | 80.4 ms | No completions evidence; no pagination evidence; tasks missing. |
Known versions
1.2.0
Public server reputation
Benchmark tasks
| Benchmark task | Status | Evidence |
|---|---|---|
| Discover tools | Likely to fail |
|
| Read-only fetch flow | Likely to fail |
|
| OAuth-required connect | Degraded |
|
| Safe write flow with confirmation | Likely to fail |
|
Utility coverage
Tool snapshot diff & changelog
Need at least two validation runs before building a tool changelog.
Validation diff
Need at least two validation runs before diffing changes.
Registry & provenance divergence
Active alerts
- Latest validation is failing (critical)
Core MCP flows did not validate successfully on the latest run.
Aliases & registry graph
| Identifier | Source | Canonical | Identity evidence | Score |
|---|---|---|---|---|
ai.geodesiclabs/governance-platform |
official_registry | yes | canonical | n/a |
Alias consolidation
Strong alias identity requires matching remote URL, server-card URL, repository slug, or explicit registry cross-reference; shared provider namespace alone is not identity.
Source disagreements
| Field | What differs | Observed values |
|---|---|---|
| No source disagreements detected. | ||
Fix it
Why this score?
Algorithmic score breakdown
8 component(s) not assessed for this run: Abuse/Noise Resilience, Action Safety, Provenance Divergence, Destructive Operation Safety, Egress / SSRF Resilience, Execution / Sandbox Safety, Least Privilege Scope, Secret Handling Hygiene
Experimental candidate components
Actionable remediation
| Severity | Remediation | Why it matters | Recommended action |
|---|---|---|---|
| Critical | Ensure tools/list succeeds consistently | Tools discovery is the minimum viable contract for most MCP clients and directories. | Make tools/list succeed unauthenticated when possible, or document the auth flow in the server card.Playbook
|
| Critical | Respond to latest validation is failing | Core MCP flows did not validate successfully on the latest run. | Fix the failing checks first, then revalidate to confirm the recovery path.Playbook
|
| High | Align session and protocol behavior with Streamable HTTP expectations | Clients increasingly rely on MCP-Protocol-Version, session teardown, and expired-session semantics. | Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.Playbook
|
| High | Expose /.well-known/oauth-protected-resource | Without a protected-resource document, OAuth clients cannot discover auth requirements reliably. | Serve /.well-known/oauth-protected-resource and point it at your authorization server metadata.Playbook
|
| High | Publish OAuth authorization-server metadata | Clients need authorization-server metadata to discover issuer, endpoints, and DCR support. | Publish /.well-known/oauth-authorization-server from your issuer and include registration_endpoint when supported.Playbook
|
| High | Publish a complete server card | Missing or incomplete server-card metadata weakens discovery, documentation, and trust signals. | Serve /.well-known/mcp/server-card.json and include tools, prompts/resources, homepage, and support links.Playbook
|
| Medium | Adopt a current MCP protocol revision | Older protocol revisions reduce compatibility with newer clients and registry programs. | Advertise a current MCP protocol revision (2025-06-18 or later) in both the initialize response and the MCP-Protocol-Version header.Playbook
|
| Medium | Close connector-publishing gaps | Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. | Resolve every blocker named by connector_publishability_probe, then rerun it before submitting or refreshing a connector listing.Playbook
|
| Medium | Document minimal scopes and return cleaner auth challenges | Modern clients expect granular scopes and step-up auth signals such as WWW-Authenticate scope hints. | Return granular scopes and WWW-Authenticate challenge hints instead of forcing overly broad auth upfront.Playbook
|
| Medium | Publish OpenID configuration | OIDC metadata improves token validation and client compatibility. | Expose /.well-known/openid-configuration with issuer, jwks_uri, and supported grants.Playbook
|
| Medium | Raise Adoption & Market score | Adoption clues and public evidence that the server is intended for external use. | Increase external documentation and directory coverage so users can discover and evaluate the server. |
| Medium | Raise Interface Quality score | How well the tool/resource interface communicates and behaves under automation. | Improve schemas, error contracts, and recovery messages so agents can reason about the surface automatically. |
| Medium | Raise Reliability & Trust score | Operational stability, consistency, and trustworthiness over time. | Stabilize behavior over time and reduce failure drift between validation runs. |
| Medium | Raise Security Posture score | How safely the exposed tool surface handles destructive actions, egress, execution, secrets, and risky inputs. | Reduce destructive, egress, exec, secret, and freeform-input risk across the exposed tool surface.Playbook
|
| Low | Expose modern utility surfaces like completions, pagination, or tasks | Utility coverage improves interoperability with larger clients and long-lived agent workflows. | Expose completions, pagination, and task metadata where supported so larger clients can plan and resume work safely.Playbook
|
| Low | Publish newer MCP capability signals | Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. | Advertise only the advanced capabilities (roots, sampling, elicitation) you have actually implemented end to end in the initialize capabilities object.Playbook
|
Point loss breakdown
| Component | Current | Points missing |
|---|---|---|
| Utility Coverage | 0/4 | -4.0 |
| Tool Surface Design | 0/4 | -4.0 |
| Tool Snapshot Churn | 0/4 | -4.0 |
| Tool Namespace Clarity | 0/4 | -4.0 |
| Tool Capability Clarity | 0/4 | -4.0 |
| Task Success | 0/4 | -4.0 |
| Step-Up Auth | 0/4 | -4.0 |
| SLO Health | 0/4 | -4.0 |
| Security Hygiene | 0/4 | -4.0 |
| Schema Completeness | 0/4 | -4.0 |
| Result Shape Stability | 0/4 | -4.0 |
| Resource Contract | 0/4 | -4.0 |
Technical compatibility profiles
These scores measure technical client compatibility only. Client publishability and production readiness are evaluated separately against policy, transport, and write-surface blockers.
Connector URL: https://app.geodesiclabs.ai/mcp # No OAuth metadata detected. # Server: ai.geodesiclabs/governance-platform
{
"mcpServers": {
"governance-platform": {
"command": "npx",
"args": ["mcp-remote", "https://app.geodesiclabs.ai/mcp"]
}
}
}
smithery mcp add "https://app.geodesiclabs.ai/mcp"
curl -sS https://app.geodesiclabs.ai/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Governance
MCP TrustOps
TrustOps turns this report into operational controls: validation targets and SLAs, authenticated validation, semantic benchmarks, policy exports, alert subscriptions, badges, cost/compliance metadata, and runtime routing. Fresh trusted index decisions stay separate from long-tail inventory so stale scores do not masquerade as current evidence.
/v1/decideAlert subscription types
MCP Runtime hosting
Verify Hosted MCP turns a trusted server report into a managed remote MCP endpoint with GitHub deployment provenance, sandbox policy, encrypted secrets, release history, rollback, and audit/usage events.
/hosted/{namespace}/{name}/mcp| Deployment | Status | Endpoint | Release |
|---|---|---|---|
| No hosted runtime deployments yet. | |||
Authenticated validation sessions
Public validation is free. Authenticated validation is paid and proves scoped behavior, write-action safeguards, and authenticated tool execution.
/v1/verify/v1/ci/previewInstall snippets
Connector URL: https://app.geodesiclabs.ai/mcp # No OAuth metadata detected. # Server: ai.geodesiclabs/governance-platform
{
"mcpServers": {
"governance-platform": {
"command": "npx",
"args": ["mcp-remote", "https://app.geodesiclabs.ai/mcp"]
}
}
}
smithery mcp add "https://app.geodesiclabs.ai/mcp"
curl -sS https://app.geodesiclabs.ai/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Agent access & tool surface
tools/list, prompts/list, and resources/list checks.ai.geodesiclabs/governance-platform.History
Validation history
| Timestamp | Status | Score | Latency | Tools |
|---|---|---|---|---|
| Aug 17, 2026 01:18:16 AM UTC | Failing | n/a | 2056.2 ms | 0 |
| Aug 16, 2026 01:17:40 PM UTC | Failing | n/a | 2036.2 ms | 0 |
| Aug 16, 2026 01:17:15 AM UTC | Failing | n/a | 1866.6 ms | 0 |
| Aug 15, 2026 01:15:43 PM UTC | Failing | n/a | 2044.7 ms | 0 |
| Aug 15, 2026 01:15:30 AM UTC | Failing | n/a | 1966.6 ms | 0 |
| Aug 14, 2026 01:13:56 PM UTC | Failing | n/a | 1919.2 ms | 0 |
| Aug 14, 2026 01:08:00 AM UTC | Failing | n/a | 1918.2 ms | 0 |
| Aug 13, 2026 04:54:45 PM UTC | Failing | n/a | 1993.5 ms | 0 |
| Aug 13, 2026 04:52:54 AM UTC | Failing | n/a | 2014.7 ms | 0 |
| Aug 12, 2026 04:52:16 PM UTC | Failing | n/a | 1937.2 ms | 0 |
Validation timeline
| Validated | Summary | Score | Protocol | Auth mode | Tools | High-risk tools | Changes |
|---|---|---|---|---|---|---|---|
| Aug 17, 2026 01:18:16 AM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
| Aug 16, 2026 01:17:40 PM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
| Aug 16, 2026 01:17:15 AM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
| Aug 15, 2026 01:15:43 PM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
| Aug 15, 2026 01:15:30 AM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
| Aug 14, 2026 01:13:56 PM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
| Aug 14, 2026 01:08:00 AM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
| Aug 13, 2026 04:54:45 PM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
| Aug 13, 2026 04:52:54 AM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
| Aug 12, 2026 04:52:16 PM UTC | Failing | n/a | 2025-03-26 | public | 0 | 0 | none |
Recent validation runs
| Started | Status | Summary | Latency | Checks |
|---|---|---|---|---|
| Aug 17, 2026 01:18:14 AM UTC | Completed | Failing | 2056.2 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, instruction_tool_reference_probe, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
| Aug 16, 2026 01:17:38 PM UTC | Completed | Failing | 2036.2 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, instruction_tool_reference_probe, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
| Aug 16, 2026 01:17:13 AM UTC | Completed | Failing | 1866.6 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, instruction_tool_reference_probe, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
| Aug 15, 2026 01:15:41 PM UTC | Completed | Failing | 2044.7 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, instruction_tool_reference_probe, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
| Aug 15, 2026 01:15:28 AM UTC | Completed | Failing | 1966.6 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, instruction_tool_reference_probe, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
| Aug 14, 2026 01:13:55 PM UTC | Completed | Failing | 1919.2 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, instruction_tool_reference_probe, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
| Aug 14, 2026 01:07:58 AM UTC | Completed | Failing | 1918.2 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, instruction_tool_reference_probe, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
| Aug 13, 2026 04:54:43 PM UTC | Completed | Failing | 1993.5 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
| Aug 13, 2026 04:52:52 AM UTC | Completed | Failing | 2014.7 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
| Aug 12, 2026 04:52:14 PM UTC | Completed | Failing | 1937.2 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe (not counted in confidence) |
Incident & change feed
| Timestamp | Event | Details |
|---|---|---|
| Aug 17, 2026 01:18:16 AM UTC | Latest validation: failing | Score n/a with status failing. |
| Aug 05, 2026 11:00:39 AM UTC | Score corrected (post-1.0.503 remediation, R1 zero-anchoring) | Prior: 21.81. Corrected: 13.89. |
Technical details
Raw evidence view
Show raw JSON evidence
{
"checks": {
"action_safety_probe": {
"details": {
"auth_present": false,
"confirmation_signals": [],
"reason": "empty_observation_set",
"safeguard_count": 0,
"summary": {
"annotation_conflict_tools": 0,
"bulk_access_tools": 0,
"capability_distribution": {},
"declared_non_read_only_tools": 0,
"destructive_tools": 0,
"egress_tools": 0,
"exec_tools": 0,
"has_mutating_capability": false,
"has_non_read_capability": false,
"high_risk_tools": 0,
"risk_distribution": {
"critical": 0,
"high": 0,
"low": 0,
"medium": 0
},
"secret_tools": 0,
"tool_count": 0
}
},
"latency_ms": null,
"status": "not_assessed"
},
"advanced_capabilities_probe": {
"details": {
"capabilities": {
"completions": false,
"elicitation": false,
"prompts": false,
"resource_links": false,
"resources": false,
"roots": false,
"sampling": false,
"structured_outputs": false
},
"enabled": [],
"enabled_count": 0,
"initialize_capability_keys": [
"experimental",
"prompts",
"resources",
"tools"
]
},
"latency_ms": null,
"status": "missing"
},
"connector_publishability_probe": {
"details": {
"blockers": [
"tools_list",
"protocol_version",
"step_up_auth",
"transport_compliance",
"connector_replay",
"request_association",
"action_safety",
"server_card",
"tool_surface"
],
"criteria": {
"action_safety": false,
"auth_flow": true,
"connector_replay": false,
"initialize": true,
"protocol_version": false,
"remote_transport": true,
"request_association": false,
"server_card": false,
"session_resume": true,
"step_up_auth": false,
"tool_surface": false,
"tools_list": false,
"transport_compliance": false
},
"high_risk_tools": 0,
"tool_count": 0,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "error"
},
"connector_replay_probe": {
"details": {
"reason": "no_tools"
},
"latency_ms": null,
"status": "missing"
},
"determinism_probe": {
"details": {
"reason": "tools_list_unavailable"
},
"latency_ms": null,
"status": "missing"
},
"initialize": {
"details": {
"headers": {
"content-type": "text/event-stream",
"mcp-session-id": "e1f6ebb85cee4607aef8ad8c3e1ffec5",
"strict-transport-security": "max-age=15552000"
},
"http_status": 200,
"payload": {
"id": 1,
"jsonrpc": "2.0",
"result": {
"capabilities": {
"experimental": {},
"prompts": {
"listChanged": false
},
"resources": {
"listChanged": false,
"subscribe": false
},
"tools": {
"listChanged": false
}
},
"instructions": "GeodesicAI is pre-execution governance for AI agents. Other tools do something; GeodesicAI decides whether it should happen \u2014 with deterministic, replayable verdicts, never a guess.\n\nGOVERNANCE (the core) \u2014 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 \u2014 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 \u2014 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 \u2014 verify_certificate re-computes every attested rule from the record's own numbers; verify_replay proves two executions are byte-identical. Trust nothing, recheck everything.\n\nNo machine learning. No probabilistic inference in the validation pipeline. Every verdict is reproducible and fully traceable.\n\nDOCUMENTATION \u2014 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.",
"protocolVersion": "2025-03-26",
"serverInfo": {
"name": "GeodesicAI",
"version": "1.27.0"
}
}
},
"url": "https://app.geodesiclabs.ai/mcp"
},
"latency_ms": 173.67,
"status": "ok"
},
"instruction_tool_reference_probe": {
"details": {
"reason": "initialize_or_tools_unavailable"
},
"latency_ms": null,
"status": "not_assessed"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": false,
"prompt_available": false,
"risk_hits": [],
"safe_hits": []
},
"latency_ms": null,
"status": "missing"
},
"oauth_authorization_server": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"oauth_protected_resource": {
"details": {
"error": "Client error '404 Not Found' for url 'https://app.geodesiclabs.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://app.geodesiclabs.ai/.well-known/oauth-protected-resource"
},
"latency_ms": 171.66,
"status": "error"
},
"official_registry_probe": {
"details": {
"direct_match": true,
"official_peer_count": 1,
"registry_identifier": "ai.geodesiclabs/governance-platform",
"registry_source": "official_registry"
},
"latency_ms": null,
"status": "ok"
},
"openid_configuration": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"probe_noise_resilience": {
"details": {
"consent_error": null,
"headers": {
"content-type": "text/plain; charset=utf-8"
},
"http_status": 200,
"url": "https://app.geodesiclabs.ai/robots.txt",
"validation_disallowed": false
},
"latency_ms": 250.93,
"status": "ok"
},
"prompt_get": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"prompts_list": {
"details": {
"error": "Client error '400 Bad Request' for url 'https://app.geodesiclabs.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
"headers": {
"content-type": "application/json",
"mcp-session-id": "4f56d76a77e64cd697aed64d3f878d4a",
"strict-transport-security": "max-age=15552000"
},
"http_status": 400,
"payload": {},
"reason": "not_advertised",
"url": "https://app.geodesiclabs.ai/mcp"
},
"latency_ms": 181.02,
"status": "missing"
},
"protocol_version_probe": {
"details": {
"claimed_version": "2025-03-26",
"lag_days": 244,
"latest_known_version": "2025-11-25",
"releases_behind": 2,
"validator_protocol_version": "2025-03-26"
},
"latency_ms": null,
"status": "warning"
},
"provenance_divergence_probe": {
"details": {
"comparable_field_count": 0,
"compared_fields": [
"title",
"version",
"homepage",
"repository"
],
"direct_official_match": true,
"drift_fields": [],
"metadata_document_count": 1,
"readable_sources": [
"registry"
],
"registry_homepage": null,
"registry_repository": null,
"registry_title": null,
"registry_version": null,
"server_card_homepage": null,
"server_card_repository": null,
"server_card_title": null,
"server_card_version": null
},
"latency_ms": null,
"status": "not_assessed"
},
"request_association_probe": {
"details": {
"reason": "no_request_association_capabilities_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resource_read": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resources_list": {
"details": {
"error": "Client error '400 Bad Request' for url 'https://app.geodesiclabs.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
"headers": {
"content-type": "application/json",
"mcp-session-id": "bf31c0c572c54756bfd987388c9f6f74",
"strict-transport-security": "max-age=15552000"
},
"http_status": 400,
"payload": {},
"reason": "not_advertised",
"url": "https://app.geodesiclabs.ai/mcp"
},
"latency_ms": 191.03,
"status": "missing"
},
"schema_divergence_probe": {
"details": {
"auth_scheme_mismatch": false,
"card_server_name": null,
"card_server_version": null,
"compared_dimensions": [
"server_name",
"server_version",
"declared_vs_observed_auth",
"tool_membership",
"parameter_names",
"required_parameters",
"parameter_types",
"output_schema_presence"
],
"compared_tool_count": 0,
"live_server_name": "GeodesicAI",
"live_server_version": "1.27.0",
"reason": "no_server_card_tools",
"server_name_mismatch": false,
"server_version_mismatch": false
},
"latency_ms": null,
"status": "missing"
},
"server_card": {
"details": {
"error": "Client error '404 Not Found' for url 'https://app.geodesiclabs.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://app.geodesiclabs.ai/.well-known/mcp/server-card.json"
},
"latency_ms": 134.32,
"status": "error"
},
"session_resume_probe": {
"details": {
"headers": {
"content-type": "text/event-stream",
"mcp-session-id": "e1f6ebb85cee4607aef8ad8c3e1ffec5",
"strict-transport-security": "max-age=15552000"
},
"http_status": 200,
"payload": {
"id": 301,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Compare two payloads under the dual-hash design: content_hash is\n invariant to field order and numeric formatting (5 vs '5.00');\n semantic_hash additionally to field renaming. Verdicts:\n identical_content, same_structure_and_values_renamed_vocabulary,\n or semantically_different.\n ",
"inputSchema": {
"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"
}
},
"required": [
"api_key",
"payload_a",
"payload_b"
],
"title": "compare_semantic_equivalenceArguments",
"type": "object"
},
"name": "compare_semantic_equivalence"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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. Durably recorded;\n retrieve later with get_inference_trace.\n ",
"inputSchema": {
"properties": {
"api_key": {
"description": "GeodesicAI API key (gai_...)",
"title": "Api Key",
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Recent generation-governance decisions across all runs - what was\n approved, held, and escalated.\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"
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
}
},
"required": [
"api_key",
"certificate"
],
"title": "verify_certificateArguments",
"type": "object"
},
"name": "verify_certificate"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"description": "Verify two replay contracts represent the same deterministic execution:\n same input + same rules = same result, byte-identical. Mismatch fields\n localize the cause (data, rules, platform version, or trace). Use to\n prove a past decision reproduces today or that a migration changed\n nothing.\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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": true
},
"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"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false,
"readOnlyHint": false
},
"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"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
},
"description": "Permanently delete one of the caller's API keys.\n\n DESTRUCTIVE \u2014 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"
}
]
}
},
"requested_protocol_version": "2025-03-26",
"resumed": true,
"session_id_present": true,
"transport": "streamable-http",
"url": "https://app.geodesiclabs.ai/mcp"
},
"latency_ms": 262.1,
"status": "ok"
},
"step_up_auth_probe": {
"details": {
"auth_required_checks": [],
"broad_scopes": [],
"challenge_headers": [],
"minimal_scope_documented": false,
"oauth_present": false,
"scope_specificity_ratio": 0.0,
"step_up_signals": [],
"supported_scopes": []
},
"latency_ms": null,
"status": "missing"
},
"tool_snapshot_probe": {
"details": {
"reason": "no_tools"
},
"latency_ms": null,
"status": "missing"
},
"tools_list": {
"details": {
"error": "Client error '400 Bad Request' for url 'https://app.geodesiclabs.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
"headers": {
"content-type": "application/json",
"mcp-session-id": "49b20fb9edde45ea90f65d2e92544496",
"strict-transport-security": "max-age=15552000"
},
"http_status": 400,
"payload": {},
"url": "https://app.geodesiclabs.ai/mcp"
},
"latency_ms": 189.71,
"status": "error"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json",
"mcp-session-id": "e1f6ebb85cee4607aef8ad8c3e1ffec5",
"strict-transport-security": "max-age=15552000"
},
"bad_protocol_payload": {
"error": {
"code": -32600,
"message": "Bad Request: Unsupported protocol version: 1999-99-99. Supported versions: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25"
},
"id": "server-error",
"jsonrpc": "2.0"
},
"bad_protocol_status_code": 400,
"delete_error": null,
"delete_status_code": 200,
"expired_session_error": null,
"expired_session_status_code": 404,
"issues": [
"missing_protocol_header"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": true,
"transport": "streamable-http"
},
"latency_ms": 158.16,
"status": "warning"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": null
},
"initialize_capability_keys": [
"experimental",
"prompts",
"resources",
"tools"
],
"pagination": {
"metadata_signal": false,
"next_cursor_methods": [],
"supported": false
},
"tasks": {
"advertised": false,
"http_status": 400,
"probe_status": "missing"
}
},
"latency_ms": 80.44,
"status": "missing"
}
},
"failures": {
"oauth_authorization_server": {
"reason": "no_authorization_server"
},
"oauth_protected_resource": {
"error": "Client error '404 Not Found' for url 'https://app.geodesiclabs.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://app.geodesiclabs.ai/.well-known/oauth-protected-resource"
},
"openid_configuration": {
"reason": "no_authorization_server"
},
"server_card": {
"error": "Client error '404 Not Found' for url 'https://app.geodesiclabs.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://app.geodesiclabs.ai/.well-known/mcp/server-card.json"
},
"tools_list": {
"error": "Client error '400 Bad Request' for url 'https://app.geodesiclabs.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
"headers": {
"content-type": "application/json",
"mcp-session-id": "49b20fb9edde45ea90f65d2e92544496",
"strict-transport-security": "max-age=15552000"
},
"http_status": 400,
"payload": {},
"url": "https://app.geodesiclabs.ai/mcp"
}
},
"remote_url": "https://app.geodesiclabs.ai/mcp",
"server_card_payload": null,
"server_identifier": "ai.geodesiclabs/governance-platform"
}
Capabilities
- OAuth:
- DCR/CIMD:
- Prompts:
- Homepage: none
- Docs: none
- Support: none
- Icon: none
- Remote endpoint: https://app.geodesiclabs.ai/mcp
- Directory listing: none
- Server card: none
Transport compliance drilldown
Issues: missing_protocol_header
Request association
Connector replay
Required-argument replay breaks
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument replay breaks detected. | ||
Output-schema replay breaks
| Tool | Removed properties | Added properties |
|---|---|---|
| No output-schema replay breaks detected. | ||