Bellwether
Server Details
Live Kalshi + Polymarket prediction-market data and cross-venue arbitrage spreads, one schema.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool serves a distinct purpose: single-market retrieval, market listing, and cross-venue matching. There is no overlap in their functionality, making them easy to distinguish.
All tool names follow a consistent verb_noun pattern with lower_snake_case: get_market, list_markets, matching_markets. The naming is predictable and clear.
Three tools is a well-scoped size for a read-only prediction market aggregator. Each tool has a clear role and covers the essential operations for this domain.
The surface covers the core needs: retrieve a specific market, list all markets, and find matching ones across venues. A minor gap is the lack of a search/filter capability, but the standard workflows are supported.
Available Tools
3 toolsget_marketAInspect
Get one normalized market. venue is 'kalshi' or 'polymarket'.
| Name | Required | Description | Default |
|---|---|---|---|
| venue | Yes | ||
| market_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the output is 'normalized' and restricts venue to the listed values, adding context beyond the schema. However, with no annotations, it does not disclose error behavior, return format, or side effects, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, front-loading the core action. Every part serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what 'normalized' means and what the function returns. It does not cover error cases or the exact return structure, leaving the tool under-specified for someone unfamiliar with the domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly defines venue as 'kalshi' or 'polymarket', giving it meaning beyond the raw string type. However, market_id is not described, and with 0% schema description coverage, the description only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Get') and resource ('one normalized market'), with 'one' distinguishing it from the sibling tools list_markets and matching_markets. It also specifies the venue scope, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when a specific market_id is known, but it does not explicitly contrast with alternatives or state when not to use it. The venue constraint provides some context, but no direct guidance on selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_marketsCInspect
List open prediction markets across Kalshi and Polymarket (normalized).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| venue | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds some context through the 'open' filter and 'normalized' qualifier, but does not explain pagination, venue filtering behavior, or what 'normalized' entails. This is a minimal disclosure for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, front-loading the primary action. However, its brevity omits crucial operational details, making it more under-specified than truly concise. Still, relative to the dimension, it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description remains insufficient for a tool with two unannotated parameters and no tool-level annotations. It lacks information about venue filtering, limit semantics, and the meaning of 'normalized', leaving significant gaps for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fails to compensate. It never mentions the 'limit' parameter and only indirectly hints at 'venue' by naming Kalshi and Polymarket, without explaining the parameter's format, nullable status, or allowed values. No parameter semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('List'), resource ('open prediction markets'), and scope ('across Kalshi and Polymarket (normalized)'). This specific phrasing differentiates it from sibling tools like get_market (single market) and matching_markets (likely searching/matching).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention get_market or matching_markets, nor any exclusions or prerequisites. The only implied use case is listing open markets, but no explicit usage direction is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
matching_marketsAInspect
Find the same real-world event on both venues, with the YES price spread.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. The verb 'Find' implies a read-only operation with no side effects, and mentioning the YES price spread adds some output context. However, it doesn't disclose the meaning of 'both venues' or any limitations (e.g., threshold impact), though the output schema covers return format. It's acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler words. It efficiently states the core purpose and key output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too brief for a tool with two parameters and no annotations. It fails to explain what 'both venues' refers to, what threshold controls, or when to adjust the default. The existence of an output schema mitigates but does not eliminate the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description provides no explicit meaning for limit or threshold. The phrase 'YES price spread' may indirectly relate to threshold but is ambiguous. Parameters are effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb 'Find' and specifies the resource 'same real-world event on both venues' and the key output 'YES price spread.' This distinguishes it from sibling tools like get_market and list_markets, which likely operate on a single venue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need cross-venue event matching, contrasting with sibling tools for individual market retrieval or listing. However, it does not explicitly state when not to use it or name alternatives directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_market - First observed
list_markets - First observed
matching_markets
Related MCP Connectors
Live Kalshi and Polymarket data: EV edges, cross-venue arbitrage, markets, and whale trades.
Live Kalshi + Polymarket prices, orderbooks, trades, results. Pay per result via Apify.
arb-alerts — persisted Polymarket/Kalshi cross-venue spread alerts.
Live prediction markets: Polymarket + Kalshi prices, odds, order books. Pay-per-call USDC, no key.
Related MCP Servers
- AlicenseAqualityBmaintenance24/7 autonomous monitoring and edge detection for prediction markets (Kalshi & Polymarket). Features causal tree analysis, orderbook depth tracking, cross-venue comparison, and real-time alerts.16196 npm12MIT
- AlicenseNot gradedqualityBmaintenanceReference data layer for prediction markets: resolution-clarity grades (A/B/C), named resolution sources with provenance, cross-venue linking, and per-contract eligibility screens across Kalshi and Polymarket. Open,read-only, no key required.3MIT
- AlicenseAqualityFmaintenanceAggregates prediction market data from 5 major platforms (Manifold, Polymarket, Metaculus, PredictIt, Kalshi), enabling users to search markets, compare odds across platforms, detect arbitrage opportunities, and track predictions through natural language.83MIT
- AlicenseNot gradedqualityFmaintenanceUnified access to prediction market data from Kalshi and Polymarket, enabling natural language queries for real-time odds, orderbooks, and trade history.16 npm12MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.