Skip to main content
Glama

MolTrust MCP Server

mt_fantasy_commit

DestructiveIdempotent

Commit a fantasy lineup with a SHA-256 hash anchored on Base L2.

Creates a FantasyLineupCredential (W3C VC) proving the lineup was
locked before contest start. The commitment hash is tamper-proof.

Args:
    agent_did: Agent DID (e.g. "did:moltrust:a1b2c3d4e5f67890")
    contest_id: Unique contest identifier (e.g. "dk-nfl-sun-main-2026w12")
    platform: Platform name: draftkings, fanduel, yahoo, sleeper, custom
    sport: Sport type: nfl, nba, mlb, nhl, pga, nascar, soccer, custom
    contest_start_iso: Contest start time in ISO 8601 (must be in the future)
    lineup_json: JSON string of lineup object (e.g. '{"QB":"Mahomes","RB1":"Henry"}')
    projected_score: Agent's projected score for this lineup
    confidence: Confidence level 0.0 to 1.0
    entry_fee_usd: Contest entry fee in USD
    contest_type: Contest type (e.g. "classic", "showdown")

Input Schema

NameRequiredDescriptionDefault
sportYesSport type: nfl, nba, mlb, nhl, pga, nascar, soccer, custom
platformYesPlatform name: draftkings, fanduel, yahoo, sleeper, custom
agent_didYesAgent DID (e.g. "did:moltrust:a1b2c3d4e5f67890")
confidenceNoConfidence level 0.0 to 1.0
contest_idYesUnique contest identifier (e.g. "dk-nfl-sun-main-2026w12")
lineup_jsonYesJSON string of lineup object (e.g. '{"QB":"Mahomes","RB1":"Henry"}')
contest_typeNoContest type (e.g. "classic", "showdown")classic
entry_fee_usdNoContest entry fee in USD
projected_scoreNoAgent's projected score for this lineup
contest_start_isoYesContest start time in ISO 8601 (must be in the future)

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • addedInput schema / properties / agent_did / description
      Added value: +"Agent DID (e.g. \"did:moltrust:a1b2c3d4e5f67890\")"
    • addedInput schema / properties / confidence / description
      Added value: +"Confidence level 0.0 to 1.0"
    • addedInput schema / properties / contest_id / description
      Added value: +"Unique contest identifier (e.g. \"dk-nfl-sun-main-2026w12\")"
    • addedInput schema / properties / contest_start_iso / description
      Added value: +"Contest start time in ISO 8601 (must be in the future)"
    • addedInput schema / properties / contest_type / description
      Added value: +"Contest type (e.g. \"classic\", \"showdown\")"
    • addedInput schema / properties / entry_fee_usd / description
      Added value: +"Contest entry fee in USD"
    • addedInput schema / properties / lineup_json / description
      Added value: +"JSON string of lineup object (e.g. '{\"QB\":\"Mahomes\",\"RB1\":\"Henry\"}')"
    • addedInput schema / properties / platform / description
      Added value: +"Platform name: draftkings, fanduel, yahoo, sleeper, custom"
    • addedInput schema / properties / projected_score / description
      Added value: +"Agent's projected score for this lineup"
    • addedInput schema / properties / sport / description
      Added value: +"Sport type: nfl, nba, mlb, nhl, pga, nascar, soccer, custom"
  2. First observed

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=false, idempotent=true, destructive=true. The description adds useful context beyond them: the output is a W3C VC whose hash is anchored on Base L2, and the lineup is 'locked', implying irreversibility. However, it never explains why the operation is destructive, what cannot be undone after commit, whether the agent DID must be registered first, or what happens if a contest is already started beyond 'must be in the future'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first paragraph is well front-loaded and earns its place, but the Args block is a verbatim restatement of the input schema's property descriptions and provides no new information to an agent that already receives the schema. Roughly half the text is redundant for a schema-aware caller.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 10 parameters and an output schema, and the description covers purpose, mechanism, and inputs, so the core is present. It omits preconditions that matter for a destructive, money-attached operation (agent identity/registration requirements, whether failure cases like a past contest start return an error, gas/anchoring latency), leaving gaps for an agent deciding whether to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description restates the same argument documentation with examples (DID format, contest_id, ISO 8601 format, lineup_json example) and clarifies the acceptance rule 'must be in the future'. It adds examples beyond the schema but largely duplicates it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

First line gives a specific verb (commit) plus resource (fantasy lineup) and states the mechanism (SHA-256 hash anchored on Base L2). It follows with the artifact produced (a FantasyLineupCredential W3C VC) proving the lineup was locked before contest start. It does not explicitly distinguish itself from mt_fantasy_verify or mt_fantasy_history, but the write-vs-read distinction is inferable from 'commit' and 'locked'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use / when-not-to-use guidance and no mention of the sibling tools (mt_fantasy_verify, mt_fantasy_history, mt_prediction_*) that an agent might pick instead. The only usage constraint given is that contest_start_iso must be in the future, which is a precondition rather than routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.