Skip to main content
Glama

TradingCalc MCP: Options, Forex, Risk Stats, Prediction Markets, On-Chain & Crypto Futures

Prediction Market Edge

workflow.run_prediction_market_edge
Read-only

Compares your own probability estimate for an event against a prediction market's price (manual entry, or a live Kalshi ticker, Limitless slug, or Myriad slug) and sizes a bet using fractional Kelly criterion bet sizing (default: quarter-Kelly, a standard conservative haircut on full Kelly, stated explicitly as a convention). Returns zero recommended stake whenever your probability doesn't exceed the market's price: no edge, no bet. Use when user asks "does this bet have edge?" or "how much should I stake given my probability estimate vs the market's?". Provide exactly one of marketProbabilityPct/kalshiTicker/limitlessSlug/myriadSlug. Returns: edgePct, evPerDollarStaked, fullKellyFraction, cappedKellyFraction, recommendedStakeUsd, verdict (skip_this_one/think_twice/worth_the_risk/take_it).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
myriadSlugNoA Myriad Markets market slug to fetch the market probability from live instead of supplying it manually. Not every market has a Yes/No outcome.
bankrollUsdYesBankroll available for this bet, in USD
kalshiTickerNoA Kalshi market ticker to fetch the market probability from live instead of supplying it manually.
limitlessSlugNoA Limitless Exchange market slug to fetch the market probability from live instead of supplying it manually.
kellyFractionCapNoFraction of full Kelly to actually stake, 0.01-1. Default 0.25 (quarter-Kelly).
yourProbabilityPctYesYour own probability estimate, 0.01-99.99
marketProbabilityPctNoThe market's probability (price), 0.01-99.99. Use this OR one of the live sources below, not both.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / limitlessSlug
      Added value: +{
      +  "description": "A Limitless Exchange market slug to fetch the market probability from live instead of supplying it manually.",
      +  "type": "string"
      +}
    • changedInput schema / properties / marketProbabilityPct / description
      Previous value: -"The market's probability (price), 0.01-99.99. Use this OR kalshiTicker, not both."New value: +"The market's probability (price), 0.01-99.99. Use this OR one of the live sources below, not both."
    • addedInput schema / properties / myriadSlug
      Added value: +{
      +  "description": "A Myriad Markets market slug to fetch the market probability from live instead of supplying it manually. Not every market has a Yes/No outcome.",
      +  "type": "string"
      +}
  2. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorld=true), so the description's job is to add context — which it does: it discloses the no-edge/no-bet rule (zero stake returned), states the Kelly convention explicitly, and notes live-source fetching. It does not clarify that no bet is actually placed, only a recommendation returned, which keeps it from a 5.

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

Conciseness4/5

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

Front-loaded with the core comparison-and-sizing action, then usage triggers, then returns. Sentence two is somewhat heavy ("default: quarter-Kelly, a standard conservative haircut on full Kelly, stated explicitly as a convention") and duplicates the schema's default, so it is efficient but not lean.

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

Completeness5/5

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

No output schema exists, so the description compensates by enumerating every returned field (edgePct, evPerDollarStaked, fullKellyFraction, cappedKellyFraction, recommendedStakeUsd, verdict) plus the verdict enum values. An agent has everything needed to call and interpret the result.

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, but the description adds real value beyond it: the exclusive-or rule across the four market-price sources and the quarter-Kelly default convention. Marginal value is genuine, though it repeats the schema's own default statement.

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

Purpose5/5

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

States a precise verb+resource pair: compares the user's own probability estimate against a market price and sizes a stake via fractional Kelly. It is clearly separable from neighbours like run_kelly_frontier, run_position_sizing, and run_market_implied_odds because it is the only one framed around prediction-market edge and bet sizing.

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

Usage Guidelines4/5

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

Gives explicit trigger phrasing ("does this bet have edge?", "how much should I stake…") and a hard input constraint ("Provide exactly one of marketProbabilityPct/kalshiTicker/limitlessSlug/myriadSlug"). It does not name an alternative sibling tool or state when NOT to use it, so it stops short of a 5.

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.