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 a zero Kelly stake whenever your probability doesn't exceed the market's price: no edge. Edge cases: yourProbabilityPct 0.01 to 99.99; give exactly one of marketProbabilityPct (0.01 to 99.99) or a kalshiTicker, limitlessSlug or myriadSlug; bankrollUsd above zero; kellyFractionCap 0.01 to 1 (default quarter-Kelly); no edge (your probability not above the price) gives a zero stake. Not covered: how good your probability is (Kelly with a wrong estimate overbets), fees, slippage, correlated bets, and a limit on market depth. Use when user asks "does this bet have edge?" or "what does Kelly sizing give for my probability estimate against the market's price?". Provide exactly one of marketProbabilityPct/kalshiTicker/limitlessSlug/myriadSlug. Returns: edgePct, evPerDollarStaked, fullKellyFraction, cappedKellyFraction, recommendedStakeUsd, verdict (a label for the size of cappedKellyFraction: skip_this_one/think_twice/worth_the_risk/take_it, not a recommendation). If available is false, do not use any result field (computed figures and any verdict are null or empty), so read available first.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "yourProbabilityPct": "<yourProbabilityPct>",
      "bankrollUsd": "<bankrollUsd>"
    },
    "name": "workflow.run_prediction_market_edge"
  }
}

Input 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.7/5.0
Behavior5/5

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

Annotations already mark this read-only and non-destructive, and the description adds substantial context beyond them: zero stake on no edge, the quarter-Kelly default and why it is conservative, live external fetches, and the critical instruction to read `available` first and ignore all other fields when false.

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?

Front-loaded with the core comparison and sizing logic, but the edge-case sentence repeats ranges and defaults already stated (0.01–99.99 appears twice, quarter-Kelly default three times), making it denser than needed.

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, and the description compensates by enumerating every returned field (edgePct, evPerDollarStaked, fullKellyFraction, cappedKellyFraction, recommendedStakeUsd, verdict) and explaining the `available=false` semantics.

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 the cross-parameter mutual exclusivity rule (exactly one price source), restates and reinforces the valid ranges and defaults, and ties bankrollUsd to stake sizing. Some range/default text duplicates the schema.

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: comparing a user's probability estimate against a prediction market price (manual or live Kalshi/Limitless/Myriad) and sizing a bet with fractional Kelly. This is clearly separable from neighbors like run_kelly_frontier or run_market_implied_odds.

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

Usage Guidelines5/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?", "what does Kelly sizing give..."), states the exactly-one-of marketProbabilityPct/kalshiTicker/limitlessSlug/myriadSlug rule, and adds a clear 'Not covered' list (fees, slippage, estimate quality, correlated bets, depth).

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.