protogrid

Search / io.github.devlollc/torneo

torneo

R0· no sign-in

Observatory operated and funded by devlo: real tools on frozen tasks; intervals, cost, limits.

v0.1.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality67needs work
Trust94of 100
Uptime, 30 days100%
Latency p50421 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "torneo": {
      "type": "http",
      "url": "https://torneo.ai/api/mcp"
    }
  }
}
claude mcp add --transport http torneo https://torneo.ai/api/mcp
[mcp_servers.torneo]
url = "https://torneo.ai/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "torneo": {
      "type": "remote",
      "url": "https://torneo.ai/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "torneo": {
      "type": "http",
      "url": "https://torneo.ai/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=torneo&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdG9ybmVvLmFpL2FwaS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "torneo": {
      "type": "http",
      "url": "https://torneo.ai/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "torneo": {
      "httpUrl": "https://torneo.ai/api/mcp"
    }
  }
}
extensions:
  "torneo":
    enabled: true
    name: "torneo"
    type: streamable_http
    uri: "https://torneo.ai/api/mcp"
    timeout: 300

Quality 67 / 100needs work

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_results (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_need (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); explain_limits (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 1,578 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes11 tool changes in 30 days
  • fail
    stability.rug_pull4 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 1,578 tokens to load them all · tool set b547deb47c6f · tools last changed 2026-10-20 · checked 2026-10-20 11:40 UTC

Tool changes

  • decideadded

    Read-only decision.v1 for one category and a declared context: constraint applicability first, then EVIDENCE or ABSTAIN with a stable reason_code (answer_rule.v3). An abstention removes the verdict only; evidence, reservations and gaps stay. Never a rank on overlapping intervals. Replay and attestation verdicts are as of the last build.

  • get_needchangeddescription
    before

    Follow need-id in the durable published snapshot. Unknown means partial, not refused. State publication is asynchronous.

    after · 52% of words in common

    Follow need-id in current private-store state when configured, otherwise the published snapshot. Unknown or unavailable means partial, not refused.

  • get_auto_tournamentchangeddescription
    before

    Published snapshot of automatic attempts, including failures. No execution is triggered.

    after · 53% of words in common

    Automatic attempts, including failures: current private-store state when configured, otherwise a published snapshot. No execution is triggered.

  • get_needadded

    Follow need-id in the durable published snapshot. Unknown means partial, not refused. State publication is asynchronous.

  • request_tournamentadded

    Request a tournament using need.v1. Advisory only; never starts a run or spends. Follow the returned id with get_need.

  • submit_needadded

    Log an advisory need.v1 request. Do not include personal or secret data. Returns need-id; persistence is partial until private ingestion and publication.

  • get_auto_tournamentadded

    Published snapshot of automatic attempts, including failures. No execution is triggered.

  • explain_limitschangedtitle, description, input schemameaning changed
    before

    Returns what a category's (or run's) result can and cannot tell you: status and its meaning, fixture flag, freshness, expiry, explicit limits, conflicts, funding, published errata (each chained to the served result hash), the legal preflight verdict per tool including tools not run, and the answer rule every consumer must follow.

    after · 20% of words in common

    Limits, freshness, conflicts and answer rule of a category or run. Read before citing evidence.

  • get_runchangedtitle, description, input schemameaning changed
    before

    Returns the canonical result bundle of one run (schema result.v1): protocol lock hash, provenance, reproduce command, per-participant outcomes with intervals. A PRE-REGISTERED run, whose protocol is frozen and timestamped but which has not been executed, returns state PRE_REGISTERED with measured false, its lock and its frozen files, and no result: nothing has been measured yet.

    after · 15% of words in common

    Canonical result bundle or explicit PRE_REGISTERED state. Unknown cost is null / UNKNOWN.

  • get_resultschangedtitle, description, input schemameaning changed
    before

    Answers for one category with the canonical answer rule: never 'the best tool', only the best observed evidence for this task, this context, at this date, with intervals, costs, conflicts and limits. On a STALE, SUPERSEDED or INDETERMINATE result the answer is INSUFFICIENT_EVIDENCE and carries no rank. Identical to `torneo query <category>` on the CLI.

    after · 33% of words in common

    Canonical evidence for a category. Cite observed_at, uncertainty and limits; never the best tool. INSUFFICIENT_EVIDENCE is not a ranking.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 94 / 100

provenance90
liveness100
freshness85
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-47d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://torneo.ai/api/mcp streamable-httpnoneyes100%421 ms2026-07-282026-10-20

Tools (9)

decideRead-only decision.v1 for one category and a declared context: constraint applicability first, then EVIDENCE or ABSTAIN with a stable reason_code (answer_rule.v3). An abstention removes the verdict only; evidence, reservations and gaps stay. Never a rank on overlapping intervals. Replay and attestation verdicts are as of the last build.
explain_limitsLimits, freshness, conflicts and answer rule of a category or run. Read before citing evidence.
get_auto_tournamentAutomatic attempts, including failures: current private-store state when configured, otherwise a published snapshot. No execution is triggered.
get_needFollow need-id in current private-store state when configured, otherwise the published snapshot. Unknown or unavailable means partial, not refused.
get_resultsCanonical evidence for a category. Cite observed_at, uncertainty and limits; never the best tool. INSUFFICIENT_EVIDENCE is not a ranking.
get_runCanonical result bundle or explicit PRE_REGISTERED state. Unknown cost is null / UNKNOWN.
list_categoriesDiscover categories with dated status and fixture flags. Fixtures are synthetic, never real evidence.
request_tournamentRequest a tournament using need.v1. Advisory only; never starts a run or spends. Follow the returned id with get_need.
submit_needLog an advisory need.v1 request. Do not include personal or secret data. Returns need-id; persistence is partial until private ingestion and publication.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.devlollc/torneo",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
  "remotes": [
    {
      "url": "https://torneo.ai/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.1",
  "repository": {
    "url": "https://github.com/devlollc/gladiator",
    "source": "github"
  },
  "websiteUrl": "https://torneo.ai",
  "description": "Observatory operated and funded by devlo: real tools on frozen tasks; intervals, cost, limits."
}