Skip to main content
Glama

Bet Research

bet_research
Read-onlyIdempotent

Research a Polymarket bet by pulling the relevant Pipeworx data for it in one call. Pass a market slug ("will-bitcoin-hit-150k-by-june-30-2026"), a polymarket.com URL, or a question text. The tool resolves the market, classifies the bet, fans out to category-specific data packs in parallel, and returns an evidence packet + simple market-vs-model comparison. Use for "should I bet on X", "what does the data say about Y", or "is there edge in Z". CLASSIFIERS: crypto_price, fed_rate, geopolitical, sports, sports_championship, drug_approval, election_candidate, tech_launch, space_launch, corporate, corporate_earnings, corporate_event, public_figure_speech, weather, other. FAN-OUT EXAMPLES: BTC bet → coingecko + fred + gdelt+gnews; Fed bet → fred (DFEDTARU + EFFR + CPIAUCSL) + kalshi_macro (KXFED implied probs) + recent_fed_actions (federal-register rules, last 365d); Hormuz bet → imf_portwatch + airspace + gdelt; Yankees WS → mlb_stats_standings + parent_event partition + news; hottest-year bet → climate_projection_nyc + gistemp_latest (NASA global anomaly, rank since 1880) + news; NVDA-vs-AAPL → finnhub get_quote + edgar shares-outstanding (derived market cap) + edgar filings + news. RESPONSE SHAPES: result.market carries best_bid/best_ask/spread_pp/liquidity/price_change_1h/1d/1w; result.analysis carries model_probability/edge_pp/kelly_fraction_half when a closed-form model fires PLUS a 24h-move warning ("Market moved X.Xpp in 24h, comparable to model edge — your edge may already be priced in") when relevant; result.evidence is keyed by source. RESOLVER CONTRACT: result.market_match_confidence ∈ {high, medium, low, none}, market_match_score (0-1 token-overlap), market_match_alternatives[] (other candidate markets the resolver considered), and suggestions[] (explicit re-query hints when the match is fuzzy) — ALWAYS inspect these before trusting the analysis block, because medium/low matches can still surface other fields. PARENT_EVENT EXTRACTOR: when the bet is one leg of a partition (Yankees WS, Romania election), result.parent_event{matched_candidate, top_legs_by_price[], partition_size, placeholders_filtered} gives you the peer prices in one place — that's the headline for elections/championships. NEWS FIELDS: news entries carry _fallback_attempted / _fallback_failed_reason / retry_after_sec when GDELT 429s and GNews backfill ran or failed. SAFETY: low-confidence resolutions short-circuit with status:"low_confidence_match" and suppress analysis fields so agents can't accidentally size on phantom matches. Closed/dead markets that ARE still indexed by Polymarket (yes_price≈0, no volume, no liquidity) return status:"market_closed_or_inactive" and skip fan-out. In practice resolved markets are usually de-indexed and instead surface via the low_confidence_match path above — both routes are BLOCKING, just different mechanisms. Wide-spread markets (>10pp) carry tradeability:"illiquid_wide_spread" + an explanatory note. RESOLUTION-RULE RISK: market.cancellation_rule parses the void/postponement settlement out of the resolution text — refund_50_50 (shares settle flat 50¢ on void; EV-material for any entry away from 50¢, with ev_impact quantified), resolves_no_on_cancel, resolves_yes_on_cancel, carries_to_reschedule, or mentioned_unclear. null means the description never mentions cancellation. Check this before sizing sports/esports/event-occurrence bets — audited arb-bot ledgers show flat-50¢ void settlements are a recurring pure-rules loss.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
depthNoquick = 2-3 evidence sources, thorough = full fan-out. Default thorough.
marketYesPolymarket slug ("will-bitcoin-hit-150k-by-june-30-2026"), full URL ("https://polymarket.com/event/..."), or question text ("Will Bitcoin hit $150k by June 30?")
include_rawNoDefault false. When false (recommended), FRED/FDA/GDELT/Federal-Register evidence is summarized to the few fields agents actually use — keeps responses under ~20KB. Pass true to get full upstream payloads (50KB-500KB) when you need to recompute deltas, cite specific observations, or post-process.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "market_input": "will fed cut rates in june 2026"
      -  },
      -  {
      -    "market_input": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026"
      -  }
      -]New value: +[
      +  {
      +    "market": "will-bitcoin-reach-100k-in-july-2026"
      +  },
      +  {
      +    "market": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026"
      +  }
      +]
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "market_input": "will fed cut rates in june 2026"
      +  },
      +  {
      +    "market_input": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026"
      +  }
      +]
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish readOnly=true, idempotent=true, and non-destructive, but the description adds substantial behavioral context beyond that: low-confidence short-circuiting, closed-market status handling, resolver match confidence semantics, parent-event extraction, news fallback mechanisms (GDELT 429s), and resolution-rule risk (flat-50¢ void settlements). This is a rich behavioral contract that goes far beyond what annotations provide.

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?

The description is long but well-structured with labeled sections (CLASSIFIERS, FAN-OUT EXAMPLES, RESPONSE SHAPES, RESOLVER CONTRACT, SAFETY, etc.) and front-loaded purpose. Each section adds necessary detail for a complex tool, and there is minimal repetition. It is slightly verbose but not bloated, so it earns a 4 rather than 5.

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?

With no output schema, the description fully documents the response structure: result.market, result.analysis, result.evidence, resolver contract fields, parent_event fields, and status values (low_confidence_match, market_closed_or_inactive). It also covers failure modes and edge cases like news fallback and cancellation-rule parsing, making the description self-sufficient for an agent to anticipate all relevant outcomes.

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% with each parameter described, so the baseline is 3. The description adds real value by illustrating how to pass different `market` formats (slug, URL, question text), providing fan-out examples that clarify interpretation (e.g., 'BTC bet → coingecko + fred + gdelt+gnews'), and explaining the practical consequences of `include_raw` and `depth` choices. This elevates semantics beyond the raw 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?

The opening sentence states a specific, unique purpose: 'Research a Polymarket bet by pulling the relevant Pipeworx data for it in one call.' This clearly distinguishes the tool from siblings like polymarket_arbitrage or polymarket_edges by focusing on per-bet research. The 'Use for' examples ('should I bet on X', 'what does the data say about Y', 'is there edge in Z') further clarify the intended niche.

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?

The description gives explicit usage scenarios: 'Use for "should I bet on X", "what does the data say about Y", or "is there edge in Z".' It also provides category-specific fan-out examples that implicitly guide when to use specific data sources. However, it does not explicitly name sibling tools as alternatives or state when NOT to use this tool, which would merit 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.

TDQS

C2.9/5.0
Disambiguation2/5

The tools fall into two unrelated domains (Ticketmaster event discovery and Pipeworx data research), and within the Pipeworx set there are near-duplicate tools like ask_pipeworx, ask_pipeworx_beta, and ask_pipeworx_grounded, plus multiple overlapping prediction-market tools (polymarket_edges, polymarket_arbitrage, polymarket_fill_risk, etc.). An agent would struggle to choose among these overlapping options and may not realize that most tools are unrelated to the server's stated name.

Naming Consistency3/5

Naming uses consistent snake_case, but the pattern is mixed: Ticketmaster resource fetchers are bare nouns (event, venue, attraction, classification) while search tools use verb_noun (event_search, venue_search). Pipeworx tools vary between verb phrases (ask_pipeworx, validate_claim) and descriptive noun phrases (entity_profile, polymarket_kalshi_spread). This inconsistency makes predicting tool names harder, though each name is still readable.

Tool Count2/5

41 tools is excessive for a server titled 'Ticketmaster' when only about 10 are Ticketmaster-related; the other 30 cover an entirely different service (Pipeworx). The count is far beyond a focused scope and suggests the server should be split into two separate, well-scoped MCP servers.

Completeness4/5

For the Ticketmaster half, the surface is complete for read-only event discovery (search events/venues/attractions, get single resources, classifications, autocomplete). For the Pipeworx half, the tool suite is extensive, covering lookup, research, prediction markets, memory, subscriptions, and feedback. The only notable gap is the lack of any write operations, but this is consistent with the read-only nature of the underlying APIs.