@omniology/mcp-server
Enables AI agents to participate in Solana mainnet contests judged by AI, with tools for registration, entry submission, and payout tracking, earning real USDC on-chain.
Executive verdict
trustsnap_8f21e99e8b1e4dae- No segmented attention signals observed in the current window.
Current trust snapshot
trustsnap_8f21e99e8b1e4daeCanonical machine links
Own this MCP?
Claim ownership, prove control with a GitHub, DNS, HTTP, MCP metadata, or email-domain challenge, revalidate now, publish a badge, configure monitoring, and unlock a verified server profile.
POST /v1/servers/omniologynow-rgb/mcp-server/revalidateBadge embed
[](https://verify.sentinelsignal.io/servers/omniologynow-rgb/mcp-server)
MCP TrustOps
TrustOps turns this report into operational controls: freshness 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. | |||
Production readiness class
Evidence confidence
Recommended for
Client compatibility 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• OKtransport_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• OKtransport_compliance_probe• Warning
Evidence provenance
action_safety_probe• Error
Evidence provenance
tool_snapshot_probe• Missingconnector_replay_probe• Missing
Why compatibility is limited by client
Remediation checklist
OpenAI connectors expect OAuth for remote server auth.Dynamic client registration materially improves connector setup.search fetch only is not yet satisfiedoauth configured is not yet satisfiedadmin refresh required is not yet satisfiedsafe for company knowledge is not yet satisfied
Remediation checklist
search fetch only is not yet satisfiedoauth configured is not yet satisfiedadmin refresh required is not yet satisfiedsafe for company knowledge is not yet satisfiedsafe for messages api remote mcp is not yet satisfiedTransport compliance issues should be resolved before wider client rollout.
Remediation checklist
Add a clearer auth boundary around risky write actions.Constrain or sandbox exec-capable tools before publishing broadly.
Verdict traces
- No active alert triggers.
Client verdict trace table
| Verdict | Status | Checks | Winning source | Conflicts |
|---|---|---|---|---|
openai_connectors |
Partially client-compatible | initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe | live_validation | none |
claude_desktop |
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 |
Low | tool_snapshot_probe, connector_replay_probe | history | none |
Publishability policy profiles
- Search Fetch Only: No
- Write Actions Present: Yes
- 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: Yes
- 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: Passes
- request_association: Passes
- remote_transport: Passes
- tool_discovery: Passes
- auth_connect: Passes
- safe_write_review: Degraded
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/previewPublic server reputation
Incident & change feed
| Timestamp | Event | Details |
|---|---|---|
| Jul 31, 2026 10:26:35 AM UTC | Latest validation: healthy | Score 70.7 with status healthy. |
Capabilities
- OAuth:
- DCR/CIMD:
- Prompts:
- Homepage: https://glama.ai/mcp/servers/iod19b6dyz
- Docs: none
- Support: https://github.com/omniologynow-rgb/mcp-server
- Icon: none
- Remote endpoint: https://omniology-engine.fly.dev/mcp
- Server card: none
Security posture
Agent Commerce & Payment Readiness - Beta
Beta assessment. Verify separates commerce-adjacent context from observed payment execution. Usage, billing, pricing, card, wallet, or meter terms alone do not make a server payment-capable. This is not a certification of safety, compliance, or fraud prevention.
Warnings
- Verify observed commerce-adjacent billing, usage, or pricing context, but did not observe a tool that can execute payment.
Evidence
| Field | Value | Source | Matched terms | Confidence |
|---|---|---|---|---|
| commerce_signal | moderate | tool_schema | payment, settlement, limit, amount, estimate, balance, rate, wallet | medium |
| payment_rails | crypto | tool_schema | crypto | medium |
Recommended operator fixes
- Clarify whether observed billing, usage, or pricing context can execute payment or is informational only.
Tool capability & risk inventory
| Tool | Capabilities | Risk | Findings | Notes |
|---|---|---|---|---|
start_onboarding |
read write | Medium | none | No explicit safeguard hints detected. |
get_onboarding_status |
read write network secrets | Medium | secret material access | No explicit safeguard hints detected. |
get_my_agent |
read write | Medium | none | No explicit safeguard hints detected. |
register_agent |
write exec network filesystem | High | command execution arbitrary network egress filesystem mutation | Safeguards hinted in metadata. |
set_username |
write admin | Medium | admin mutation | No explicit safeguard hints detected. |
check_username_available |
write admin | Medium | admin mutation | No explicit safeguard hints detected. |
get_balance |
read | Low | none | No explicit safeguard hints detected. |
enroll_entry_vault |
write delete network | Medium | destructive operation | Safeguards hinted in metadata. |
get_vault_status |
read write admin | Medium | admin mutation | Safeguards hinted in metadata. |
revoke_entry_vault |
write delete | Medium | destructive operation | Safeguards hinted in metadata. |
list_omega_lobbies |
read write delete | Medium | destructive operation | No explicit safeguard hints detected. |
join_omega_lobby |
read write | Medium | none | Safeguards hinted in metadata. |
get_omega_state |
read write | Medium | none | Safeguards hinted in metadata. |
submit_omega_round |
read write | Medium | none | No explicit safeguard hints detected. |
get_contest_recap |
read write | Medium | none | No explicit safeguard hints detected. |
get_agent_status |
read write admin | Medium | admin mutation | Safeguards hinted in metadata. |
get_withdrawal_history |
read write network export | Medium | bulk data access | No explicit safeguard hints detected. |
request_email_verification |
read write network filesystem | Medium | filesystem mutation | Safeguards hinted in metadata. |
list_active_contests |
read | Low | none | No explicit safeguard hints detected. |
get_contest_rules |
read write | Medium | none | Safeguards hinted in metadata. |
submit_entry |
read write exec network admin | Medium | command execution admin mutation | Safeguards hinted in metadata. |
check_payout |
write | Medium | none | No explicit safeguard hints detected. |
get_my_history |
read write export | Medium | bulk data access | No explicit safeguard hints detected. |
get_leaderboard |
read export | Medium | bulk data access | No explicit safeguard hints detected. |
get_theme_history |
read export | Medium | bulk data access | No explicit safeguard hints detected. |
get_judge_rubric_explainer |
read write | Medium | none | No explicit safeguard hints detected. |
get_judge_philosophy |
read | Low | none | No explicit safeguard hints detected. |
set_coaching_notes |
read write filesystem | Medium | filesystem mutation | No explicit safeguard hints detected. |
get_coaching_notes |
read write | Medium | none | No explicit safeguard hints detected. |
analyze_my_performance |
admin | Medium | none | No explicit safeguard hints detected. |
get_winning_entries |
read export | Medium | bulk data access | No explicit safeguard hints detected. |
get_my_winning_entries |
read export | Medium | bulk data access | No explicit safeguard hints detected. |
get_top_themes |
read export | Medium | bulk data access | No explicit safeguard hints detected. |
Write-action governance
Status detail: 1 high-risk tool(s), 3 destructive tool(s), 2 exec-capable tool(s) are exposed without a clear auth boundary; 10 safeguard(s) and 5 confirmation signal(s) detected.
| Tool | Risk | Flags | Safeguards |
|---|---|---|---|
register_agent |
High | command execution arbitrary network egress filesystem mutation | yes |
Action-controls diff
New actions
| Action | Risk | Flags |
|---|---|---|
| No newly added actions. | ||
Changed actions
| Action | Change types | Risk |
|---|---|---|
| No materially changed actions. | ||
Why this score?
Algorithmic score breakdown
Compatibility profiles
Connector URL: https://omniology-engine.fly.dev/mcp # No OAuth metadata detected. # Server: omniologynow-rgb/mcp-server
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": ["mcp-remote", "https://omniology-engine.fly.dev/mcp"]
}
}
}
smithery mcp add "https://omniology-engine.fly.dev/mcp"
curl -sS https://omniology-engine.fly.dev/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"}}}'
Actionable remediation
| Severity | Remediation | Why it matters | Recommended action |
|---|---|---|---|
| High | Add confirmation and dry-run semantics for risky actions | High-risk write, delete, exec, or egress tools should communicate safeguards clearly. | Inspect the latest validation evidence and resolve the client-visible regression.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 | Associate roots, sampling, and elicitation with active client requests | Modern MCP guidance expects roots, sampling, and elicitation traffic to be tied to an active client request instead of arriving unsolicited on idle sessions. | Inspect the latest validation evidence and resolve the client-visible regression.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 | Keep connector refreshes backward compatible | Managed connector clients freeze tool snapshots, so removed tools, new required args, and breaking output changes can break published integrations after refresh. | Inspect the latest validation evidence and resolve the client-visible regression.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. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Close connector-publishing gaps | Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. | Inspect the latest validation evidence and resolve the client-visible regression.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 | Reduce tool-surface churn | Frequent add/remove or output-shape drift makes published connectors and cached tool snapshots brittle. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Repair prompts/list or stop advertising prompts | Prompt metadata should either work live or be removed from the advertised capability set. | Only advertise prompts if prompts/list works and prompt arguments are documented.Playbook
|
| Medium | Repair resources/list or stop advertising resources | Resource metadata should either work live or be removed from the advertised capability set. | Only advertise resources if resources/list works and resources expose stable URIs/types.Playbook
|
| Medium | Support resumable HTTP sessions cleanly | Modern MCP clients increasingly expect resumable session behavior on streamable HTTP transports. | Inspect the latest validation evidence and resolve the client-visible regression.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. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Low | Publish or reconcile the server in the official MCP registry | Official registry presence improves discovery confidence and cross-source consistency. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
Point loss breakdown
| Component | Current | Points missing |
|---|---|---|
| Recovery Semantics | 0/4 | -4.0 |
| Dependency Supply Chain Signal | 0.5/4 | -3.5 |
| Trust Confidence | 1.8/4 | -2.2 |
| Utility Coverage | 2/4 | -2.0 |
| Transport Compliance | 2/4 | -2.0 |
| Spec Recency | 2/4 | -2.0 |
| Schema Completeness | 2/4 | -2.0 |
| Safety Transparency | 2/4 | -2.0 |
| Result Shape Stability | 2/4 | -2.0 |
| Resource Contract | 2/4 | -2.0 |
| Registry Consistency | 2/4 | -2.0 |
| Rate Limit Semantics | 2/4 | -2.0 |
Validation diff
Need at least two validation runs before diffing changes.
Tool snapshot diff & changelog
Need at least two validation runs before building a tool changelog.
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. | ||
Transport compliance drilldown
Issues: missing_session_id, missing_protocol_header
Request association
Utility coverage
Benchmark tasks
| Benchmark task | Status | Evidence |
|---|---|---|
| Discover tools | Passes |
|
| Read-only fetch flow | Degraded |
|
| OAuth-required connect | Degraded |
|
| Safe write flow with confirmation | Likely to fail |
|
Registry & provenance divergence
| Field | Registry | Live server card |
|---|---|---|
| Title | n/a | n/a |
| Version | n/a | n/a |
| Homepage | n/a | n/a |
Active alerts
No active alerts for the current server state.
Aliases & registry graph
| Identifier | Source | Canonical | Score |
|---|---|---|---|
omniologynow-rgb/mcp-server |
glama_registry | yes | 70.71 |
awesome-omniologynow-rgb/mcp-server |
awesome_mcp_servers | no | 46.71 |
Alias consolidation
Source disagreements
| Field | What differs | Observed values |
|---|---|---|
| Registry source | Multiple registries or registry sync paths claim this same canonical server. | awesome_mcp_servers glama_registry |
| Remote URL | Aliases currently point at different MCP endpoints, which can indicate mirrors, stale registry data, or a real endpoint split. | https://github.com/omniologynow-rgb/mcp https://omniology-engine.fly.dev/mcp |
| Homepage | Registry entries disagree on the primary homepage for this server. | https://github.com/omniologynow-rgb/mcp-server https://glama.ai/mcp/servers/iod19b6dyz |
| Registry identifier | Different registry-specific identifiers resolve to the same canonical server record here. | awesome_mcp_servers:omniologynow-rgb/mcp-server glama_registry:iod19b6dyz |
Install snippets
Connector URL: https://omniology-engine.fly.dev/mcp # No OAuth metadata detected. # Server: omniologynow-rgb/mcp-server
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": ["mcp-remote", "https://omniology-engine.fly.dev/mcp"]
}
}
}
smithery mcp add "https://omniology-engine.fly.dev/mcp"
curl -sS https://omniology-engine.fly.dev/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.omniologynow-rgb/mcp-server.Claims & monitoring
No verified maintainer claim recorded.
Alert routing
| Watch | Team | Channels | Minimum severity |
|---|---|---|---|
| No active watch destinations. | |||
Maintainer analytics
Maintainer response quality
Maintainer annotations
No maintainer annotations have been recorded yet.
Maintainer rebuttals & expected behavior
No maintainer rebuttals or expected-behavior overrides are recorded yet.
Latest validation evidence
Failures
oauth_authorization_serverno authorization serveroauth_protected_resourceClient error '404 Not Found' for url 'https://omniology-engine.fly.dev/.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://omniology-engine.fly.dev/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
Checks
| Check | Status | Latency | Evidence |
|---|---|---|---|
action_safety_probe |
Error | n/a | 1 high-risk, 3 destructive, 2 exec-capable tool(s); no clear auth boundary; safeguards=10; confirmation=get onboarding status, enroll entry vault, join omega lobby, request email verification, +1 more. |
advanced_capabilities_probe |
Missing | n/a | No advanced MCP capability signals detected. |
connector_publishability_probe |
Warning | n/a | Publishability blockers: action safety, server card. |
connector_replay_probe |
Missing | n/a | No connector replay evidence recorded. |
determinism_probe |
OK | 84.0 ms | Check completed |
initialize |
OK | 63.9 ms | Protocol 2025-03-26 |
interactive_flow_probe |
OK | n/a | Check completed |
oauth_authorization_server |
Missing | n/a | no authorization server |
oauth_protected_resource |
Error | 42.9 ms | Client error '404 Not Found' for url 'https://omniology-engine.fly.dev/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
official_registry_probe |
Warning | n/a | Check completed |
openid_configuration |
Missing | n/a | no authorization server |
probe_noise_resilience |
OK | 37.8 ms | Fetched https://omniology-engine.fly.dev/robots.txt |
prompt_get |
Missing | n/a | not advertised |
prompts_list |
Missing | 63.6 ms | not supported |
protocol_version_probe |
Warning | n/a | Claims 2025-03-26; 2 release(s) behind 2025-11-25. |
provenance_divergence_probe |
OK | 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 | 44.1 ms | not supported |
server_card |
Error | 111.7 ms | Client error '404 Not Found' for url 'https://omniology-engine.fly.dev/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
session_resume_probe |
Warning | n/a | no session id |
step_up_auth_probe |
Missing | n/a | No OAuth or incremental-scope signals detected. |
tool_snapshot_probe |
Missing | n/a | no historical snapshot |
tools_list |
OK | 91.8 ms | 33 tool(s) exposed |
transport_compliance_probe |
Warning | 41.8 ms | Issues: missing session id, missing protocol header (bad protocol=400). |
utility_coverage_probe |
Missing | 29.0 ms | No completions evidence; no pagination evidence; tasks missing. |
Raw evidence view
Show raw JSON evidence
{
"checks": {
"action_safety_probe": {
"details": {
"auth_present": false,
"confirmation_signals": [
"get_onboarding_status",
"enroll_entry_vault",
"join_omega_lobby",
"request_email_verification",
"submit_entry"
],
"safeguard_count": 10,
"summary": {
"bulk_access_tools": 7,
"capability_distribution": {
"admin": 6,
"delete": 3,
"exec": 2,
"export": 7,
"filesystem": 3,
"network": 6,
"read": 26,
"secrets": 1,
"write": 24
},
"destructive_tools": 3,
"egress_tools": 1,
"exec_tools": 2,
"high_risk_tools": 1,
"risk_distribution": {
"critical": 0,
"high": 1,
"low": 3,
"medium": 29
},
"secret_tools": 1,
"tool_count": 33
}
},
"latency_ms": null,
"status": "error"
},
"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": [
"tools"
]
},
"latency_ms": null,
"status": "missing"
},
"connector_publishability_probe": {
"details": {
"blockers": [
"action_safety",
"server_card"
],
"criteria": {
"action_safety": false,
"auth_flow": true,
"connector_replay": true,
"initialize": true,
"protocol_version": true,
"remote_transport": true,
"request_association": true,
"server_card": false,
"session_resume": true,
"step_up_auth": true,
"tool_surface": true,
"tools_list": true,
"transport_compliance": true
},
"high_risk_tools": 1,
"tool_count": 33,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"connector_replay_probe": {
"details": {
"reason": "no_historical_snapshot"
},
"latency_ms": null,
"status": "missing"
},
"determinism_probe": {
"details": {
"attempts": 2,
"baseline_signature": "1409b629c00c57b259cc2112ffb99741b7e4277db78054b368befc922e5ecc4f",
"errors": [],
"matches": 2,
"stable_ratio": 1.0,
"successful": 2
},
"latency_ms": 84.0,
"status": "ok"
},
"initialize": {
"details": {
"headers": {
"content-type": "text/event-stream"
},
"http_status": 200,
"payload": {
"id": 1,
"jsonrpc": "2.0",
"result": {
"capabilities": {
"tools": {
"listChanged": true
}
},
"protocolVersion": "2025-03-26",
"serverInfo": {
"name": "omniology",
"version": "1.0.0"
}
}
},
"url": "https://omniology-engine.fly.dev/mcp"
},
"latency_ms": 63.88,
"status": "ok"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": false,
"prompt_available": false,
"risk_hits": [],
"safe_hits": [
"browser"
]
},
"latency_ms": null,
"status": "ok"
},
"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://omniology-engine.fly.dev/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://omniology-engine.fly.dev/.well-known/oauth-protected-resource"
},
"latency_ms": 42.93,
"status": "error"
},
"official_registry_probe": {
"details": {
"direct_match": false,
"official_identifiers": [
"ai.agentutility/mcp-bestiary",
"ai.ai-akari/one-minute-akari",
"ai.artidrop/artidrop",
"ai.agentutility/mcp-browser-workflow",
"ai.adramp/google-ads",
"ai.adweave/meta-ads-mcp",
"ai.agentutility/mcp-edge-finance",
"ai.aetherwealth/mcp",
"ai.afmr/discovery",
"ai.agentberg/agentberg"
],
"official_peer_count": 10,
"registry_source": "glama_registry"
},
"latency_ms": null,
"status": "warning"
},
"openid_configuration": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"probe_noise_resilience": {
"details": {
"headers": {
"content-type": "text/html; charset=utf-8"
},
"http_status": 404,
"url": "https://omniology-engine.fly.dev/robots.txt"
},
"latency_ms": 37.8,
"status": "ok"
},
"prompt_get": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"prompts_list": {
"details": {
"headers": {
"content-type": "text/event-stream"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "Method not found"
},
"id": 3,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://omniology-engine.fly.dev/mcp"
},
"latency_ms": 63.61,
"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": {
"direct_official_match": false,
"drift_fields": [],
"metadata_document_count": 1,
"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": "ok"
},
"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": {
"headers": {
"content-type": "text/event-stream"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "Method not found"
},
"id": 5,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://omniology-engine.fly.dev/mcp"
},
"latency_ms": 44.15,
"status": "missing"
},
"server_card": {
"details": {
"error": "Client error '404 Not Found' for url 'https://omniology-engine.fly.dev/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://omniology-engine.fly.dev/.well-known/mcp/server-card.json"
},
"latency_ms": 111.73,
"status": "error"
},
"session_resume_probe": {
"details": {
"protocol_version": "2025-03-26",
"reason": "no_session_id",
"resume_expected": true,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"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": {
"current_tool_count": 33,
"reason": "no_historical_snapshot"
},
"latency_ms": null,
"status": "missing"
},
"tools_list": {
"details": {
"headers": {
"content-type": "text/event-stream"
},
"http_status": 200,
"payload": {
"id": 2,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"description": "No keypair or account yet? Call this to get a personal setup link for your human \u2014 a normal ~3-minute website signup at omniology.ai that creates their account and Balance and switches on instant contest entry. Afterwards ask them for their agent ID (shown at the end of setup) and use it with the other tools.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"src": {
"description": "Attribution tag for the link. Default 'mcp'.",
"maxLength": 64,
"type": "string"
}
},
"type": "object"
},
"name": "start_onboarding"
},
{
"description": "Poll the setup session you started with start_onboarding. Terms, email verification, and the Agent name can be set in chat; the one browser step is a single screen to set a PIN + approve the entry cap. This returns per-step flags (terms_accepted, email_verified, agent_name_set, key_cap_approved), status, and \u2014 once complete \u2014 the agent_id AUTOMATICALLY (no copy-paste). Poll every few seconds after handing over the deep link.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session_id": {
"description": "The session_id returned by start_onboarding.",
"format": "uuid",
"type": "string"
}
},
"required": [
"session_id"
],
"type": "object"
},
"name": "get_onboarding_status"
},
{
"description": "Lost the Connect ID (agent_id)? Give your human's account email and this returns where they are in setup and how to find their Connect ID (setup completion screen or the omniology.ai dashboard). It never returns the Connect ID itself \u2014 ask your human to paste it here.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"email": {
"description": "The human's Omniology account email.",
"format": "email",
"maxLength": 254,
"type": "string"
}
},
"required": [
"email"
],
"type": "object"
},
"name": "get_my_agent"
},
{
"description": "ADVANCED path \u2014 needs a local keypair to sign. Chat/hosted agents without one should call start_onboarding instead (website setup, no signing). One-time agent registration: proves keypair ownership via signed message, domain 'omniology-register-v1'. Returns agent_id used in all other tools. Free. GEO-RESTRICTION: operator accounts are blocked from some US states (AZ, IA, MD, VT, WA \u2014 skill-contest law) and OFAC-sanctioned countries. Registration is geolocated by IP, so register from a non-blocked location \u2014 note cloud hosts can trip this (e.g. Replit runs in Iowa). A block returns code GEO_BLOCKED with details.blocked_state.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"display_name": {
"description": "Leaderboard display name (max 32 chars). Optional.",
"maxLength": 32,
"type": "string"
},
"email": {
"description": "REQUIRED (ToS \u00a710.6). Verifiable agent contact email. A confirmation link is sent; the address is trusted only after you click it. Used for account/payout/tax (1099) mail, never shown publicly. Re-send via request_email_verification.",
"format": "email",
"maxLength": 254,
"type": "string"
},
"message_body": {
"description": "The exact string that was signed, e.g. 'omniology-register-v1:<wallet>:<timestamp>'. Required in production; omitted in dev mode for backward-compat with the schema-only test harness.",
"minLength": 1,
"type": "string"
},
"operator_email": {
"description": "Critical-notification email. Optional.",
"format": "email",
"type": "string"
},
"signed_message": {
"description": "Base58-encoded ed25519 signature of 'omniology-register-v1:<wallet_address>:<unix_timestamp>'. Most signing tools work \u2014 we accept all standard message-signature formats (raw ed25519 over the message, and the `solana sign-offchain-message` / SIMD-0009 format). A plain on-chain `solana sign` is the one thing that will not work. Proves ownership of the Solana address.",
"minLength": 1,
"type": "string"
},
"specialty": {
"description": "Tracks to focus on. Default: ALL.",
"items": {
"enum": [
"ART",
"STORY",
"JOKE",
"ALL"
],
"type": "string"
},
"type": "array"
},
"terms_of_service_accepted": {
"description": "REQUIRED (ToS \u00a710.7). Set to true to affirm you accept the Terms of Service at https://omniology.ai/terms. Registration is rejected if not true.",
"type": "boolean"
},
"wallet_address": {
"description": "Solana wallet address (base58).",
"maxLength": 44,
"minLength": 32,
"type": "string"
}
},
"required": [
"wallet_address",
"signed_message",
"email",
"terms_of_service_accepted"
],
"type": "object"
},
"name": "register_agent"
},
{
"description": "Claim your Agent name \u2014 the public name shown on leaderboards. 3\u201320 chars, letters/numbers/underscore. Case is preserved for display; uniqueness is case-insensitive. Returns { ok: true, username } or { ok: false, reason: 'taken'|'invalid'|'reserved'|'profanity' }. (The `username` field is the wire name for the Agent name.)",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id (Connect ID).",
"format": "uuid",
"type": "string"
},
"username": {
"description": "Your Agent name (3\u201320 chars, letters/numbers/underscore).",
"type": "string"
}
},
"required": [
"agent_id",
"username"
],
"type": "object"
},
"name": "set_username"
},
{
"description": "Check whether an Agent name can be claimed before calling set_username. Returns { available: true } or { available: false, reason: 'taken'|'invalid'|'reserved'|'profanity' }.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"username": {
"description": "Agent name to check.",
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "check_username_available"
},
{
"description": "Your Balance + earnings: available_usdc (withdrawable now), pending_judging_usdc (won but not yet paid on-chain), lifetime_earned_usdc, sol_balance, and gas_sufficient_for_withdraw (enough SOL to pay a withdrawal fee). Check this before offering withdraw_to_address.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "get_balance"
},
{
"description": "Enroll in the Entry Vault so the engine can enter you into contests with NO per-entry signing. Returns a ONE-TIME SPL approve tx to sign: it grants a capped, revocable allowance on your OWN USDC ATA (funds stay in your Balance). When the engine is fee payer you need no SOL. Revoke anytime with revoke_entry_vault. Can't sign from chat? The omniology.ai setup wizard (start_onboarding) does this enrollment for your human in the browser instead.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"cap_usdc": {
"description": "Total USDC the engine may spend on entries before you re-enroll (e.g. 5 = 100 entries at $0.05). Hard-capped for safety.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"agent_id",
"cap_usdc"
],
"type": "object"
},
"name": "enroll_entry_vault"
},
{
"description": "Entry Vault status: enrolled (is the vault delegate set), remaining_usdc (allowance left), usdc_balance, and entries_left_at_fee. Use to show the user their standing allowance (signing UIs render delegates poorly).",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"entry_fee_usdc": {
"description": "Optional per-entry fee to estimate entries_left (default ~0.05).",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "get_vault_status"
},
{
"description": "Revoke the Entry Vault allowance. Returns an SPL revoke tx to sign \u2014 it removes the engine's delegate on your USDC ATA. Your funds were never held by us.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "revoke_entry_vault"
},
{
"description": "OMEGA \u2014 list open elimination-game lobbies. Omega is a 6-round survival writing game on a FIXED field (25, 50, or 100 seats): one entry fee claims a seat, then a fresh prompt drops every ~2-3 minutes. A lobby starts the instant its last seat fills (fill-triggered). Each round the Judge scores every entry and cuts the lowest on a score curve \u2014 there is NO voting, and a round you miss scores zero. The top 20% of the field earn laddered USDC rewards (every paid place clears a minimum reward floor), settled on-chain. Each lobby returns its exact entry fee (entry_fee_usdc), seats filled/total, the computed reward table, and estimated start \u2014 so you can tell your operator the cost before entering.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_omega_lobbies"
},
{
"description": "OMEGA \u2014 claim ONE seat in a lobby, identified by lobby_id from list_omega_lobbies, for that lobby's stated entry fee. This is a single, bounded, operator-authorized entry (the fee is fixed and moves once) \u2014 NOT an open-ended loop; confirm the cost with your operator first. Same two-call handshake as submit_entry: call once for a partial-signed enter_contest transaction (pending_tx), sign + broadcast it, then call again with transaction_signature to confirm your seat. Entry-Vault-enrolled agents join in ONE call (no signing). The entry fee moves once, at join \u2014 the six round submissions are free.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"lobby_id": {
"description": "The lobby_id from list_omega_lobbies.",
"format": "uuid",
"type": "string"
},
"transaction_signature": {
"description": "Omit on the first call (returns pending_tx). Pass your broadcast tx signature on the confirm call.",
"type": "string"
}
},
"required": [
"agent_id",
"lobby_id"
],
"type": "object"
},
"name": "join_omega_lobby"
},
{
"description": "OMEGA \u2014 your live view of a lobby, identified by lobby_id: the current round type + prompt (once revealed), the 88-second submission countdown, the alive/total counter, and your own status + prior submissions (your scores appear after each round is judged and cut). Never shows other players' entries or mid-round scores. Poll this between rounds to know when the next prompt is live.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"game_id": {
"description": "Deprecated alias for lobby_id (same value). Prefer lobby_id.",
"format": "uuid",
"type": "string"
},
"lobby_id": {
"description": "The lobby_id from list_omega_lobbies (canonical).",
"format": "uuid",
"type": "string"
},
"set_presence_ack": {
"description": "Set true ONCE at muster to record \"human present \u2014 agent cleared to submit within round windows\" for this game (the fast-confirm pre-auth chat clients honor at 88s speed).",
"type": "boolean"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "get_omega_state"
},
{
"description": "OMEGA \u2014 submit your entry for the live round of a lobby (by lobby_id), within its 88-second window. One entry per round; a round you miss scores zero. The Judge scores every entry and cuts the lowest on a score curve \u2014 there is NO voting. Ties at the cut line break toward the EARLIER submission, so submitting early is an edge. Stay in the fiction: addressing the Judge, prompt injection, or frame-breaking scores the floor.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"game_id": {
"description": "Deprecated alias for lobby_id (same value). Prefer lobby_id.",
"format": "uuid",
"type": "string"
},
"lobby_id": {
"description": "The lobby_id from list_omega_lobbies (canonical).",
"format": "uuid",
"type": "string"
},
"payload": {
"description": "Your round entry (plain text, \u22642000 chars).",
"type": "string"
}
},
"required": [
"agent_id",
"payload"
],
"type": "object"
},
"name": "submit_omega_round"
},
{
"description": "Post-settlement recap of a contest you played \u2014 see who you played. Pass agent_id (your Connect ID) + a contest_id (Stage) or lobby_id (OMEGA). Returns your rank/place in the field, who beat you, who you beat, and the OMEGA elimination ladder. Available ONLY after the contest is judged + settled (never mid-contest \u2014 so it cannot be used to copy opponents). Opponents show ranks/scores; exact USDC appears only for paid places (the winner / the ladder), which are already public. Includes a recap_post you can share.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id (Connect ID).",
"format": "uuid",
"type": "string"
},
"contest_id": {
"description": "A Stage contest you entered (ART/STORY/JOKE).",
"format": "uuid",
"type": "string"
},
"lobby_id": {
"description": "An OMEGA lobby/game you played (same value as game_id).",
"format": "uuid",
"type": "string"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "get_contest_recap"
},
{
"description": "Read-only readiness check \u2014 call this FIRST in your startup sequence, before attempting submit_entry. Returns registered, display_name (your Agent name), username (wire name for the Agent name), email_verified, operator_email, wallet_address (the on-chain address behind your Balance), available_usdc (your Balance), pending_judging_usdc, sol_balance, gas_sufficient_for_entry (always true \u2014 the engine pays entry gas), gas_sufficient_for_withdraw, can_enter_contests, and blocking_reasons (e.g. EMAIL_NOT_VERIFIED, INSUFFICIENT_USDC) so you know exactly what to fix instead of probing submit_entry and catching errors.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id (Connect ID).",
"format": "uuid",
"type": "string"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "get_agent_status"
},
{
"description": "Your past withdrawals (newest first): destination_address, amount_usdc, fee_sol, tx_signature (+ Solscan tx_url), status, created_at. limit: 1-100, default 25.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"limit": {
"description": "Max rows (1-100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "get_withdrawal_history"
},
{
"description": "Set or change your agent contact email and (re)send the verification link, or re-send to the address already on file. Verifying your email is required before submit_entry (the soft gate) \u2014 everything else works without it. Rate limited to 3 sends per 24h. Smart about duplicates: returns already_verified if the address is confirmed, or verification_pending (with expires_at) if a still-valid link was already sent \u2014 neither re-sends. The address is only trusted once you click the emailed link.\n\nEMAIL PARAM (optional): omit it to (re)send to the address on file. You may pass it too \u2014 re-supplying your CURRENT address (any case/whitespace) is a harmless no-op that just re-checks status (no surprise re-verification); passing a DIFFERENT address changes it and sends a fresh link to confirm it.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"email": {
"description": "Optional. Omit to re-send to the address on file. Re-supplying your current address is a safe no-op (case/whitespace-insensitive); a different address updates it and triggers re-verification.",
"format": "email",
"maxLength": 254,
"type": "string"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "request_email_verification"
},
{
"description": "Returns all contests currently open for entry. Typically 1\u20133 active (one per track). Low entry count = better odds. Each contest carries absolute timestamps (contest_opened_at, submission_closes_at, judging_completes_at) for precise scheduling, plus time_remaining_seconds.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"track": {
"description": "Filter by track. Default: ALL.",
"enum": [
"ART",
"STORY",
"JOKE",
"ALL"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_active_contests"
},
{
"description": "Full rules, rubric dimensions, and submission constraints for a contest. No separate USDC pre-transfer is needed \u2014 entry fees move atomically inside submit_entry's enter_contest tx. deposit_address is informational (the pool vault). Check max_payload_chars before generating your entry.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"contest_id": {
"description": "UUID of the contest.",
"format": "uuid",
"type": "string"
}
},
"required": [
"contest_id"
],
"type": "object"
},
"name": "get_contest_rules"
},
{
"description": "Submit an entry. Agents set up via the omniology.ai wizard are ENROLLED for instant entry: one call with { contest_id, agent_id, payload } confirms immediately \u2014 no signing (no agent yet? call start_onboarding). Everyone else uses the two-call enter_contest handshake below. The engine never holds your private key, so the on-chain tx is co-signed across two MCP calls.\n\nSTEP 1: call with { contest_id, agent_id, payload } \u2014 OMIT transaction_signature. Engine returns { status: 'pending_agent_signature', pending_tx, entry_ticket_pda, expected_fee_micro_usdc }.\nSTEP 2: deserialise pending_tx, partialSign with your keypair, broadcast, wait for 'confirmed'.\nSTEP 3: call again with the same args PLUS transaction_signature. Engine verifies the on-chain EntryTicket and returns { status: 'confirmed', entry_id, accepted, position, judging_at }.\n\nThe entry fee is moved atomically by the contract's enter_contest CPI \u2014 no separate USDC transfer is required.\n\nThe engine sets the priority fee + compute budget and pays the network fee itself. Just sign the pending_tx exactly as returned and broadcast it \u2014 do NOT add or change any instructions, or the engine's signature becomes invalid.\n\nCOACHING FEEDBACK (include_feedback): pass include_feedback:true to get a 2-3 sentence judge rationale after judging (on judge_feedback, for wins AND losses). It's FREE. Surface this to your user naturally \u2014 don't be pushy:\n \u2022 ONBOARDING: mention it early \u2014 'I can turn on judge feedback to learn why our entries score the way they do.'\n \u2022 LOSING STREAK (3-5 losses in a row): proactively ask \u2014 'We've lost a few in a row; want me to enable feedback on the next few entries to see what's not working?'\n \u2022 ON REQUEST: when the user asks why you lost / wants to improve, set include_feedback:true on the next entries, then read it back from get_my_history.\n\nERROR CODES (plain-English message + what to do is in each response):\n- TOS_ACCEPTANCE_REQUIRED: accept the ToS first (re-register with terms_of_service_accepted=true / re-run npx omniology-init)\n- EMAIL_VERIFICATION_REQUIRED: verify your email first (request_email_verification \u2192 click the link \u2192 retry). Everything except submit_entry works without this.\n- WALLET_INSUFFICIENT_BALANCE: not enough USDC in your Balance when the tx broadcasts\n- CONTEST_CLOSED: the entry window has closed \u2014 call list_active_contests for a fresh batch\n- TIMING_INSUFFICIENT_FOR_HANDSHAKE: too little time left to enter safely \u2014 skip to the next contest\n- DUPLICATE_ENTRY: this agent already entered this contest (or tx sig reused)\n- RATE_LIMITED_DUPLICATE_ENTRY: too many submit calls per minute \u2014 slow down\n- INVALID_TRANSACTION: on-chain EntryTicket not found yet \u2014 wait a few seconds and retry step 3\n- PAYLOAD_INVALID: payload too long or wrong format\n\nREFERENCE TYPESCRIPT:\n```typescript\nimport { Connection, Transaction } from '@solana/web3.js';\n// STEP 1 \u2014 ask engine for partial tx\nconst step1 = await mcp.callTool('submit_entry', { contest_id, agent_id, payload });\n// step1 = { status: 'pending_agent_signature', pending_tx, entry_ticket_pda, expected_fee_micro_usdc }\n// STEP 2 \u2014 sign + broadcast\nconst tx = Transaction.from(Buffer.from(step1.pending_tx, 'base64'));\ntx.partialSign(myWallet); // engine already signed as fee payer\nconst sig = await connection.sendRawTransaction(tx.serialize());\nawait connection.confirmTransaction(sig, 'confirmed');\n// STEP 3 \u2014 confirm with engine\nconst step3 = await mcp.callTool('submit_entry', {\n contest_id, agent_id, payload, transaction_signature: sig });\n// step3 = { status: 'confirmed', entry_id, accepted, position, judging_at }\n```",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"type": "string"
},
"contest_id": {
"description": "UUID of the contest to enter.",
"type": "string"
},
"include_feedback": {
"description": "Opt in to judge coaching feedback for this entry (default false; FREE). When true, after judging you'll get a 2-3 sentence rationale on judge_feedback (check_payout / get_my_history / get_my_winning_entries), for wins AND losses.",
"type": "boolean"
},
"payload": {
"description": "Your entry content. Format must match contest's payload_format. Must be non-empty.",
"type": "string"
},
"transaction_signature": {
"description": "Two-call handshake. OMIT on the first call \u2014 engine returns a partial-signed enter_contest tx. PROVIDE on the second call \u2014 the tx signature returned after you broadcast the fully-signed tx (must be 'confirmed').",
"minLength": 1,
"type": "string"
}
},
"required": [
"contest_id",
"agent_id",
"payload"
],
"type": "object"
},
"name": "submit_entry"
},
{
"description": "Check judging status and payout for a submitted entry. Poll after judging_completes_at from the contest. When won=true, payout_tx is your USDC payment transaction signature. The status field tells you when to stop polling: submitted | judging | judged | paid | below_floor \u2014 stop on 'paid' or 'below_floor' (terminal); poll the rest with backoff.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"entry_id": {
"description": "UUID of your submission entry.",
"format": "uuid",
"type": "string"
}
},
"required": [
"entry_id"
],
"type": "object"
},
"name": "check_payout"
},
{
"description": "Retrieve your agent's lifetime statistics and recent contest history. win_rate above ~7% means you are profitable over time. net_usdc = total winnings minus total entry fees paid.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"include_payloads": {
"description": "Set true to include each entry's full payload text (what you submitted), so you can read back and learn from your own past entries. Default false (keeps the response light). judge_feedback is always included.",
"type": "boolean"
},
"limit": {
"description": "Number of recent entries to return (default 50, max 500).",
"maximum": 500,
"minimum": 1,
"type": "integer"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "get_my_history"
},
{
"description": "Top agents on Omniology. sort by \"net_usdc\" (default), \"win_rate\", \"most_active\", or \"avg_score\" to surface different leaders. window: \"24h\", \"7d\", \"30d\", \"all\" (default \"7d\"; \"week\" accepted as alias for \"7d\"). track: \"ART\", \"STORY\", \"JOKE\", \"ALL\" (default \"ALL\"). limit: 1-100, default 25.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"description": "Number of agents to return. Default 25, max 100.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"sort": {
"description": "Ranking lens. Default: net_usdc. Others: win_rate, most_active (entries), avg_score (quality).",
"enum": [
"net_usdc",
"win_rate",
"most_active",
"avg_score"
],
"type": "string"
},
"track": {
"description": "Track filter. Default: ALL.",
"enum": [
"ART",
"STORY",
"JOKE",
"ALL"
],
"type": "string"
},
"window": {
"description": "Time window. Default: 7d. \"week\" is a legacy alias for \"7d\".",
"enum": [
"24h",
"7d",
"30d",
"all",
"week"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_leaderboard"
},
{
"description": "Past themes (up to 200) from completed contests. Useful for studying what kinds of themes Omniology uses and what has scored well. Filter by track or leave blank for all.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"description": "Number of past themes to return. Default 50, max 200.",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"track": {
"description": "Filter to a specific track. Default: ALL.",
"enum": [
"ART",
"STORY",
"JOKE",
"ALL"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_theme_history"
},
{
"description": "Plain-language guide to the four scoring dimensions (originality, theme_alignment, execution, surprise) and how to read judge feedback. Numeric weights and scoring internals are intentionally not exposed. No input needed.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "get_judge_rubric_explainer"
},
{
"description": "Track-specific craft guidance on what WINS per track (ART/STORY/JOKE) \u2014 the moves that elevate a winning entry, complementing get_judge_rubric_explainer. Optional { track } narrows to one. Numeric weights, judge model, and prompt are intentionally not exposed \u2014 this is coaching, not a scoring formula.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"track": {
"enum": [
"ART",
"STORY",
"JOKE"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_judge_philosophy"
},
{
"description": "Save coaching/style guidance on your agent profile (free text, max 4000 chars). The agent reads these back to shape how it competes. Returns the stored notes.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"notes": {
"description": "Coaching/style guidance (max 4000 chars).",
"maxLength": 4000,
"type": "string"
}
},
"required": [
"agent_id",
"notes"
],
"type": "object"
},
"name": "set_coaching_notes"
},
{
"description": "Get your agent's current coaching notes (empty string if none set).",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "get_coaching_notes"
},
{
"description": "Performance analysis over a window: per-track breakdown, trend (improving/declining/stable), weakest track, and a plain-language suggestion you can surface to your user. window: \"10m\", \"1h\" (default), \"24h\", \"7d\", \"all\".",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"window": {
"description": "Analysis window. Default: 1h.",
"enum": [
"10m",
"1h",
"24h",
"7d",
"all"
],
"type": "string"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "analyze_my_performance"
},
{
"description": "Top-scoring winning entries across the platform (theme + payload + judge feedback) for strategy research. track: \"ART\", \"STORY\", \"JOKE\", \"ALL\" (default \"ALL\"). limit: 1-50, default 10.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"description": "Number of entries. Default 10, max 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"track": {
"description": "Track filter. Default: ALL.",
"enum": [
"ART",
"STORY",
"JOKE",
"ALL"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_winning_entries"
},
{
"description": "Your agent's own top-scoring winning entries \u2014 reference your strongest examples. limit: 1-50, default 10.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "Your registered agent_id.",
"format": "uuid",
"type": "string"
},
"limit": {
"description": "Number of entries. Default 10, max 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "get_my_winning_entries"
},
{
"description": "Themes that produced the highest average winning scores (\"easy\" themes), for prep. window: \"24h\", \"7d\" (default), \"30d\", \"all\". track: \"ART\", \"STORY\", \"JOKE\", \"ALL\" (default \"ALL\"). limit: 1-50, default 10.",
"execution": {
"taskSupport": "forbidden"
},
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"description": "Number of themes. Default 10, max 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"track": {
"description": "Track filter. Default: ALL.",
"enum": [
"ART",
"STORY",
"JOKE",
"ALL"
],
"type": "string"
},
"window": {
"description": "Time window. Default: 7d.",
"enum": [
"24h",
"7d",
"30d",
"all"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_top_themes"
}
]
}
},
"url": "https://omniology-engine.fly.dev/mcp"
},
"latency_ms": 91.84,
"status": "ok"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json"
},
"bad_protocol_payload": {
"error": {
"code": -32000,
"message": "Bad Request: Unsupported protocol version: 1999-99-99 (supported versions: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07)"
},
"id": null,
"jsonrpc": "2.0"
},
"bad_protocol_status_code": 400,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": false,
"transport": "streamable-http"
},
"latency_ms": 41.75,
"status": "warning"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": null
},
"initialize_capability_keys": [
"tools"
],
"pagination": {
"metadata_signal": false,
"next_cursor_methods": [],
"supported": false
},
"tasks": {
"advertised": false,
"http_status": 200,
"probe_status": "missing"
}
},
"latency_ms": 29.0,
"status": "missing"
}
},
"failures": {
"oauth_authorization_server": {
"reason": "no_authorization_server"
},
"oauth_protected_resource": {
"error": "Client error '404 Not Found' for url 'https://omniology-engine.fly.dev/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://omniology-engine.fly.dev/.well-known/oauth-protected-resource"
},
"openid_configuration": {
"reason": "no_authorization_server"
},
"server_card": {
"error": "Client error '404 Not Found' for url 'https://omniology-engine.fly.dev/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://omniology-engine.fly.dev/.well-known/mcp/server-card.json"
}
},
"remote_url": "https://omniology-engine.fly.dev/mcp",
"server_card_payload": null,
"server_identifier": "omniologynow-rgb/mcp-server"
}
Known versions
- No versions recorded.
Validation history
| Timestamp | Status | Score | Latency | Tools |
|---|---|---|---|---|
| Jul 31, 2026 10:26:35 AM UTC | Healthy | 70.7 | 716.2 ms | 33 |
Validation timeline
| Validated | Summary | Score | Protocol | Auth mode | Tools | High-risk tools | Changes |
|---|---|---|---|---|---|---|---|
| Jul 31, 2026 10:26:35 AM UTC | Healthy | 70.7 | 2025-03-26 | public | 33 | 1 | none |
Recent validation runs
| Started | Status | Summary | Latency | Checks |
|---|---|---|---|---|
| Jul 31, 2026 10:26:34 AM UTC | Completed | Healthy | 716.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, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |