Parlay
Server Details
Read-only MCP server for live Polymarket, Kalshi, Limitless odds; Manifold sentiment.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- parlay-run/parlay-mcp
- GitHub Stars
- 6
- Server Listing
- Parlay
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 6 of 6 tools scored.
Each tool has a clearly distinct purpose: searching, browsing, comparing, inspecting a single venue, scanning for discrepancies, and generating a synthesized brief. The descriptions explicitly cross-reference each other to clarify when to use which. No two tools are likely to be confused.
Five of six tools follow a consistent verb_noun pattern (compare_markets, discover_markets, inspect_platform, scan_discrepancies, search_markets). 'market_brief' is a noun phrase, breaking the pattern slightly, but it is still clear and readable.
With six tools, the server is well-scoped for a prediction market intelligence domain. Each tool earns its place, covering discovery, search, comparison, discrepancy scanning, single-platform inspection, and synthesis without redundancy or bloat.
The tool surface covers the core workflows: searching, browsing, comparing, inspecting, scanning, and briefing. A minor gap is the lack of a tool to fetch a single contract's detailed history or order book, but the current set is sufficient for most analytical queries.
Available Tools
6 toolscompare_marketsCompare markets across venuesARead-onlyInspect
Compare the same event contract across Polymarket, Kalshi, and Limitless side-by-side: probability, liquidity, settlement rules, and venue type. Use when the user wants to know "what's the spread between Polymarket and Kalshi on X" or "which venue has better liquidity for Y". Returns match confidence buckets (high/medium/low) and explains any mismatches. Real-money venues only — Manifold is excluded because play-money pricing isn't comparable to real-money.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the readOnlyHint=true and openWorldHint=true annotations by disclosing return behavior (match confidence buckets high/medium/low), explaining mismatch handling, and noting the venue exclusion. These are behavioral traits not present in annotations, adding meaningful context for the agent.
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 three sentences, front-loaded with purpose, then usage, then exclusions/return details. Every sentence adds necessary information without redundancy or filler, making it highly efficient and well-structured.
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?
Without an output schema, the description adequately summarizes return values (confidence buckets and mismatch explanations) and covers essential context: purpose, usage examples, venue scope, and exclusions. It lacks explicit parameter details and error conditions, but for a query-based comparison tool, the provided information is nearly complete.
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%, so the description should compensate for parameter meaning. It indirectly clarifies the 'query' parameter via examples (e.g., 'what's the spread between Polymarket and Kalshi on X'), but it does not explicitly map parameters or explain 'limit'. This is a partial compensation, earning a baseline-adjacent but not high score.
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 states a specific verb ('Compare') with a specific resource ('the same event contract across Polymarket, Kalshi, and Limitless') and lists key comparison dimensions (probability, liquidity, settlement rules, venue type). It clearly differentiates from siblings like search_markets (searching) and market_brief (single-market detail) by focusing on cross-venue comparison.
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 explicitly provides when-to-use guidance with example user intents ('what's the spread between Polymarket and Kalshi on X' or 'which venue has better liquidity for Y'). It also states an exclusion (Manifold) with a rationale, helping the agent avoid using this tool for play-money venues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_marketsDiscover trending marketsARead-onlyInspect
Browse trending, high-volume, fast-moving, or high-disagreement prediction markets across Polymarket, Kalshi, Limitless, and Manifold. Use when the user wants to explore what's happening — "what's hot on Polymarket today", "show me biggest political markets", "what events are ending soon" — rather than search a specific topic. Filter by category and sort by volume, newest, or ending soon.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| sort_by | No | volume | |
| category | No | ||
| real_money_only | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds value by specifying the cross-platform scope (Polymarket, Kalshi, Limitless, Manifold) and filtering/sorting capabilities, which helps the agent understand the tool's behavior beyond 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 concise and well-structured. It opens with a clear verb and resource, provides usage examples, and adds filtering/sorting details in a compact three-sentence format without unnecessary fluff.
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?
Given the tool's browse/explore nature and the presence of helpful annotations, the description covers the core behavior and most key parameters. It misses some detail on 'limit' and 'real_money_only' and doesn't state output structure, but these are minor for a discovery tool and the overall context is sufficiently complete.
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%, so the description must compensate for missing parameter documentation. It does explain 'sort by volume, newest, or ending soon' (mapping to sort_by) and mentions 'filter by category' (mapping to category). However, it does not cover 'limit' or 'real_money_only', leaving their semantics partially unexplained.
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 function with a specific verb ('Browse') and resource (prediction markets across multiple platforms). It also explicitly contrasts with searching a specific topic, distinguishing it from sibling tools like search_markets.
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 explicit when-to-use guidance with example queries ('what's hot on Polymarket today') and a clear when-not-to-use condition ('rather than search a specific topic'). However, it does not explicitly name alternative sibling tools, so it falls just short of full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_platformInspect platformARead-onlyInspect
Inspect a single named venue. Returns available capabilities, market data for the query, and metadata quality flags. Use when the user explicitly names a venue — "show me Polymarket markets on AI", "what's on Kalshi for Q4 inflation", "Manifold markets about geopolitics". For cross-venue queries use search_markets or compare_markets.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| platform | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, covering safety. The description adds behavioral context by disclosing the return contents (capabilities, market data, metadata quality flags), which goes beyond annotations. No contradictions found.
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?
Two sentences, front-loaded with purpose, then usage guidance. Every word earns its place with no redundancy or filler.
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 tool is moderately complex (3 params, no output schema). The description covers purpose, usage, alternatives, and return overview. It omits potential edge cases or error behavior, but given annotations and sibling context, it is sufficiently complete for an agent.
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%, so the description must compensate. It clarifies 'query' through examples ('show me Polymarket markets on AI') and implies 'platform' as the named venue, but it does not explain 'limit' or provide explicit parameter semantics. Partial compensation is present, but not comprehensive.
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 purpose: 'Inspect a single named venue' with specific output details (capabilities, market data, metadata quality flags). It distinguishes from siblings by emphasizing 'single named venue' versus cross-venue tools, and provides concrete examples.
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?
Explicitly states when to use: 'Use when the user explicitly names a venue' with illustrative examples, and gives alternatives for cross-venue scenarios: 'For cross-venue queries use search_markets or compare_markets.' This fully addresses when/when-not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_briefGenerate market briefARead-onlyInspect
Generate a synthesized brief for a topic, combining real-money signals from Polymarket, Kalshi, and Limitless with Manifold community sentiment. Use for analytical queries like "what do markets think about the 2028 election", "odds on a Fed rate cut", or "how is crypto priced for year-end". Returns top markets by volume, cross-venue divergences, venue coverage, and risk flags. For raw market lists use search_markets.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| topic | Yes | ||
| min_volume | No | Minimum 24h USD volume per market. Real-money markets with missing volume data are kept but tagged with risk_flag 'volume_unconfirmed'. Sentiment markets (Manifold) are exempt — their volume is denominated in Mana, not USD. Set to 0 to disable. | |
| real_money_only | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses what the tool returns (top markets, cross-venue divergences, venue coverage, risk flags) and its data sources. Annotations (readOnlyHint, openWorldHint) are not contradicted. It adds value beyond annotations by describing the synthesis behavior, though it doesn't cover failure modes or rate limits.
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 three sentences, front-loaded with the core action, followed by usage examples, output summary, and an explicit alternative. Every sentence earns its place with no redundancy or fluff.
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 there is no output schema, the description states what the returned brief includes (top markets, divergences, coverage, risk flags), which is helpful. It does not detail response format or error handling, but the tool is a specialized brief generator and the description is adequate for an agent to select and invoke it 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?
The main description does not explain any parameters except implicitly through topic examples. With only 25% schema description coverage (only min_volume has a description), the description should compensate but doesn't. limit, real_money_only, and topic are not directly addressed, leaving a significant gap.
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 purpose: 'Generate a synthesized brief' for a topic, combining multiple data sources. It names specific venues (Polymarket, Kalshi, Limitless, Manifold) and gives example queries, making it highly specific. It also distinguishes from search_markets by explicitly saying 'For raw market lists use search_markets'.
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 explicit usage guidance: 'Use for analytical queries like...' with concrete examples. It also tells when not to use it by pointing to an alternative ('For raw market lists use search_markets'), satisfying the when/when-not criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_discrepanciesScan cross-venue discrepanciesARead-onlyInspect
Surface cross-venue price discrepancies between Polymarket, Kalshi, and Limitless as a discovery feed for price discovery and divergence detection. Default threshold is 0.5% spread, below typical round-trip fees — most results are informational, not tradable arbitrage. Raise min_spread to 0.03+ for after-fee opportunities. The optional query parameter post-filters results by topic keywords on event titles — it does not perform a topic search; for topic-driven retrieval use discover_markets or search_markets. Pairs with missing volume data on at least one venue are flagged 'volume_unconfirmed'. All results are indicative only — not trade recommendations. Real-money venues only. Orderbook depth is not confirmed in Phase 1.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Optional post-filter on event titles by topic keywords (e.g. 'crypto', 'election', 'fed'). This filters the discovery feed locally — it is not a topic search and may return zero results when today's biggest discrepancies don't overlap your topic. Omit to receive the full feed. | |
| min_spread | No | Minimum price gap to report (0.005 = 0.5%, 0.03 = 3 percentage points). Default 0.005 surfaces price discovery signals, most of which are below typical 4% round-trip fees and therefore informational rather than tradable. Raise to 0.03+ to filter for after-fee opportunities. | |
| min_volume | No | Minimum 24h USD volume on the thinner side of each pair. Pairs where at least one venue has missing volume data are kept but tagged with risk_flag 'volume_unconfirmed'. Set to 0 to disable. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations `readOnlyHint` and `openWorldHint` already indicating a safe read operation, the description adds meaningful behavioral context: results are 'indicative only — not trade recommendations', pairs with missing volume are flagged 'volume_unconfirmed', and 'Orderbook depth is not confirmed in Phase 1'. These details set expectations about data reliability and limitations, going beyond the annotations. No contradiction exists between description and 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, well-structured paragraph that front-loads the core purpose, then provides threshold guidance, clarifies parameter semantics, and ends with caveats. Every sentence earns its place: no fluff, no repetition, and the structure aids comprehension. It is appropriately sized for the tool's complexity.
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?
Given there is no output schema, the description effectively communicates what to expect: pairs, volume_unconfirmed risk flags, and the informational versus tradable distinction. It also covers venue scope, default behavior, parameter effects, and limitations (orderbook depth not confirmed). For a discovery feed with 4 optional parameters, the description is remarkably complete.
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 coverage is 75%, and the description adds value beyond the schema, especially for `query` (clarifies it's a local post-filter, not a topic search, may return zero results) and `min_spread` (explains the economic meaning of the default and the threshold for tradability). However, the `limit` parameter is not described in either schema or description, leaving a small gap. This compensation is strong but not perfect, so a 4 is appropriate.
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 purpose: 'Surface cross-venue price discrepancies between Polymarket, Kalshi, and Limitless as a discovery feed.' It names the specific resources (venues) and the verb 'surface', and distinguishes itself from sibling tools by explicitly recommending `discover_markets` or `search_markets` for topic-driven retrieval. This makes the purpose unmistakable and distinct.
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 explicit when-to-use guidance: it explains that the default threshold (0.5% spread) is below typical round-trip fees, so most results are informational, and instructs to raise `min_spread` to 0.03+ for after-fee opportunities. It also clarifies that the `query` parameter is a post-filter, not a topic search, and points to alternatives for topic search. This is exactly the kind of actionable usage guidance needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_marketsSearch prediction marketsARead-onlyInspect
Search live prediction markets and event contracts across Polymarket, Kalshi, Limitless (real-money) and Manifold (sentiment). Use for queries on election odds, political markets, Fed rate decisions, crypto prices, sports outcomes, geopolitics, and other binary markets with crowd-sourced probabilities. Returns unified results with title, current probability, volume, liquidity, expiration, source venue, and risk flags. For topic synthesis use market_brief; for browsing trending markets use discover_markets.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| real_money_only | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the description doesn't need to repeat that. It adds value by explaining that results are 'unified' across multiple venues and include 'risk flags,' which goes beyond the basic safety profile and gives a sense of the aggregated behavior.
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?
Three sentences, front-loaded with the core purpose, followed by use cases and alternatives. Every sentence earns its place with no redundancy or filler.
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 responsibly enumerates the return fields ('title, current probability, volume, liquidity, expiration, source venue, and risk flags'). Combined with usage context and sibling differentiation, the description is complete for this search tool.
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 input schema has 0% description coverage and the tool description provides no parameter-level detail. 'query' is vaguely implied by 'queries' but the important distinction of 'real_money_only' (filtering to real-money venues) is not explained, nor is 'limit' behavior. The description fails to compensate for the schema's lack of parameter documentation.
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 it 'Search live prediction markets and event contracts' across named venues, immediately distinguishing it from siblings. It lists concrete use cases and output fields, making the tool's purpose unmistakable.
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?
Explicit guidance is provided: 'Use for queries on...' enumerates typical search scenarios, and directly names alternatives via 'For topic synthesis use market_brief; for browsing trending markets use discover_markets.' This fully clarifies when to choose this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityDmaintenanceMCP server for querying and optionally trading across prediction markets (Polymarket, Kalshi, Limitless, Manifold) through a unified API.30MIT
- Alicense-qualityCmaintenanceAn MCP server that classifies Polymarket wallets as human or bot, scores their trading edge from 0–10, and streams current open positions.MIT
- Alicense-qualityBmaintenanceRead-only MCP server for Polymarket prediction market data, enabling AI agents to search markets, get details, view holders, leaderboard, and user positions.MIT
- AlicenseAqualityDmaintenanceMCP server for Polymarket prediction markets, enabling search, market details, pricing, and bet analysis through 6 tools, with optional authenticated trading via API key.625MIT
Your Connectors
Sign in to create a connector for this server.