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.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations declare readOnly, openWorld, idempotent, non-destructive. Description adds extensive behavioral details: fan-out logic per category, resolver contract with match confidence and alternatives, parent event extraction for partitioned bets, news fallback mechanisms, safety short-circuit for low-confidence/closed markets, wide-spread liquidity warning, and resolution-rule risk. No contradiction; description greatly expands on annotations.

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?

Description is long (approx. 500 words) but well-structured with clear sections. It front-loads the core purpose and then covers response shapes, resolver contract, parent event, news fields, safety, and resolution rules. Every section earns its place given the complexity. Could be slightly more concise, but not wasteful.

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, so description must document return fields. It thoroughly covers result.market, result.analysis, result.evidence, market_match_confidence, parent_event, news fields, and all safety/error states (low-confidence, closed, wide-spread). Complete for a complex tool with multiple data sources.

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

Parameters5/5

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

Schema covers all three parameters with descriptions. The description adds examples for the 'market' parameter (slug, URL, question text), explains 'depth' enum (quick vs thorough with defaults), and elaborates on 'include_raw' (summarized vs full payloads, size implications, use cases). Adds significant meaning beyond 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?

Description explicitly states it researches Polymarket bets by pulling Pipeworx data. It specifies the tool resolves market, classifies bet, fans out to data packs, and returns evidence packet. It distinguishes from siblings by focusing on single bet research, unlike polymarket_edges or polymarket_arbitrage. Very specific verb+resource+scope.

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?

Description provides explicit use cases: 'should I bet on X', 'what does the data say about Y', 'is there edge in Z'. It gives guidance on when to use (research single bet) but does not explicitly contrast with sibling tools or state when not to use. Still, clear and actionable.

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

A3.8/5.0
Disambiguation2/5

The server packs in three near-identical question-answering entry points (ask_pipeworx, ask_pipeworx_beta which explicitly states it 'currently matches ask_pipeworx exactly', and ask_pipeworx_grounded), plus overlapping research tools like deep_research and validate_claim — an agent can easily misroute. The Watchmode cluster also blurs title_search vs list_titles and list_titles vs releases. The very detailed descriptions save it from a 1, but the ask_pipeworx_beta duplicate is a genuine selection hazard.

Naming Consistency4/5

Everything is snake_case and the clusters follow good prefixes — title_detail/title_search/title_seasons/title_sources, polymarket_edges/polymarket_arbitrage/polymarket_fill_risk, ask_pipeworx/ask_pipeworx_beta/ask_pipeworx_grounded. Minor inconsistency: scan_competitor_ai_presence and ai_visibility_check are sibling tools but don't share a naming pattern, and the pipeworx_*/ask_pipeworx*/plain-noun (genres, sources, regions) mix is slightly uneven. Still readable and mostly predictable.

Tool Count2/5

41 tools is heavy, but the real problem is scope: only ~10 of them are Watchmode streaming tools, while the rest are a Pipeworx data-router suite, a Polymarket/Kalshi prediction-market suite, memory, subscriptions, npm scanning, and llms.txt generation. This isn't a focused Watchmode server — it's three or four unrelated product surfaces bolted together under one name. Any single coherent feature area would justify closer to 10-15 tools.

Completeness3/5

The Watchmode core is actually well covered for a read-only catalog: search, detail, seasons/episodes, source availability, releases, and directory tools (genres/regions/networks/sources) make a complete browse-to-detail flow. But the overall surface is unfocused — AI visibility, npm deps, and llms.txt have nothing to do with the apparent purpose — and several tools are gated (deep_research needs an account, ask_pipeworx_grounded costs extra, ai_visibility_check needs a BYO key), leaving dead ends for anonymous agents.