Skip to main content
Glama

List prediction markets

list_markets
Read-only

Browse the SkipSeek board: published prediction markets with the SkipSeek Fair Probability (a cross-venue consensus of every venue trading the same standardized question), 24h movement in percentage points, cross-market spread, confidence band, and which venues price each market. START HERE — the slug values it returns are what every other market tool needs. USE WHEN the question is "what is the market saying about X", to discover slugs, or to filter by category/venue/status. USE SOMETHING ELSE WHEN you already hold a slug (get_market_probabilities for the current per-venue picture, get_market_history for the time series), when you want the widest cross-venue disagreement (list_discrepancies) or the biggest recent moves (list_movers), or when the question is a single sports fixture and you only need its fair price — that is SkipOdds at https://skipodds.com/mcp. Do NOT route a sports question away when the user wants to know whether the EXCHANGE disagrees with the BOOKMAKERS on that fixture: SkipSeek carries de-vigged sportsbook consensus as one venue alongside the prediction markets, so that comparison exists only here (list_discrepancies). Read-only: nothing is written and no bet is placed. Returns an empty markets array, not an error, when no published market matches the filters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoOrdering: "volume" (default; most-sourced first), "movement" (largest 24h swing), "discrepancy" (widest cross-venue spread), "quality" (highest confidence score), "closing" (soonest to close), "newest".volume
limitNoMaximum markets to return. Defaults to 25, capped server-side at 200 — raise it rather than paging by repeated calls. Demo callers get at most 5 regardless.
queryNoCase-insensitive substring match on the market title, e.g. "Fed" or "Bitcoin". Free text, not a boolean query language.
statusNoRestrict to one lifecycle status as stored on the market, e.g. "open". Omit to include every published market regardless of status.
categoryNoRestrict to one category by slug, e.g. "politics", "economics", "crypto", "world", "tech", "sports". Omit for all categories. An unknown slug simply matches nothing.
platformNoRestrict to markets priced by one venue, by venue slug (e.g. "polymarket"). Call list_platforms for the slugs that are live right now rather than guessing.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tierNo
noticeNoSet INSTEAD of data when the call succeeded but has nothing to return: unknown slug, empty result, a tool not on this tier, or quota spent. Not an error.
sourceNo
marketsNo
attributionNo
generated_atNo
requests_remaining_todayNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and openWorldHint, but the description adds concrete behavioral context: read-only confirmation, empty-array behavior instead of error, demo caller cap, and the fact that slug values are prerequisites for other tools. This goes well beyond annotation data and helps the agent predict behavior.

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

Conciseness5/5

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

Though longer than average, every sentence earns its place: purpose, usage, exclusion criteria, edge-case nuance, and behavioral notes are each in a distinct segment. The structure is front-loaded and scannable, with no filler or redundancy.

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?

Given the rich annotations and detailed input schema, the description covers all necessary context: what the tool returns, why it is the entry point, when to use alternatives, and edge-case behaviors. The presence of an output schema means return values need not be spelled out, and this description is complete for an AI agent to select and invoke the tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description doesn't add much parameter-level detail beyond the schema; it mentions filtering by category/venue/status and emphasizes slug output, but that is more about overall semantics than individual parameters. No contradiction or gap requires a lower score, but no meaningful extra hint beyond schema exists.

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 description opens with a clear verb+resource statement ('Browse the SkipSeek board: published prediction markets') and immediately highlights the key output (`slug` values). It explicitly distinguishes from siblings by naming alternatives, so purpose is unambiguous.

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?

It provides explicit 'START HERE', 'USE WHEN', and 'USE SOMETHING ELSE WHEN' guidance, naming specific sibling tools for each scenario. It even addresses a nuanced edge case (sports bettor vs. bookmaker disagreement) and tells when not to route away, which is exemplary 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.

TDQS

A4.7/5.0
Disambiguation5/5

Every tool targets a distinct resource and action: create_forecast is the only write tool, get_* reads single entities (market probabilities, history, research, forecaster record), and list_* scans collections (markets, movers, discrepancies, platforms). No two tools overlap in purpose, and the three market reads are clearly separated as current vs. historical vs. qualitative.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_ for single-item reads, list_ for collection reads, and create_ for the sole write operation. There are no mixed conventions or vague verbs.

Tool Count5/5

9 tools is well-scoped for a prediction-market server: one deliberate write action, four single-market/forecaster reads, and four collection-browsing tools. Nothing feels redundant, and the count is right in the sweet spot for the domain.

Completeness4/5

The server covers the core workflow: discover markets (list_markets), analyze current price/history/research (get_market_*), detect cross-venue disagreement and movement (list_discrepancies, list_movers, list_platforms), and commit a forecast (create_forecast) with auditing via get_forecaster_record. A minor gap is the lack of a tool to fetch a single forecast's details after submission, though the returned URL and aggregate record mitigate this.

Resources