Skip to main content
Glama

Crosswire — Polymarket & Kalshi Arbitrage

Ownership verified

Server Details

Cross-venue Polymarket+Kalshi arbitrage: resolution mismatch, void risk & settlement divergence.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 2 of 2 tools scored.

Server CoherenceA
Disambiguation5/5

The two tools have clearly distinct purposes: one provides discovery of covered events, the other performs a detailed safety check for arbitrage. There is no overlap.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern with snake_case ('check_resolution_risk' and 'list_covered_events'), making them predictable.

Tool Count3/5

With only 2 tools, the set is thin. While the narrow scope (World Cup arbitrage) somewhat justifies the count, typical MCP servers have more tools, and the limited number may restrict functionality.

Completeness2/5

The tools cover discovery and risk assessment but lack any execution capability, leaving a significant gap for an arbitrage-focused server. Agents would be unable to complete trades.

Available Tools

2 tools
check_resolution_riskA
Read-only
Inspect

Pre-trade safety check for cross-venue prediction-market arbitrage. Flags resolution mismatches, void-rule divergence, scope differences (90-minute vs extra-time), settlement-source and -timing gaps, stale data, and thin liquidity between Polymarket and Kalshi World Cup markets BEFORE you execute both legs. Returns a machine-readable verdict — execution_verdict: safe / caution / block — inside a full Fungibility & Settlement Audit Object (FSAO) with structured findings, top-level divergence flags, venue rule overrides, fee-adjusted spread, and verdict reasons. Identify the pair by EITHER canonical_event_id (a pair id from list_covered_events) OR market_a + market_b (one Polymarket conditionId + one Kalshi ticker, order-insensitive). If the pair is not covered, returns a non-error coverage reply (covered: false) naming the covered matches and the coverage cutoff instead of an FSAO.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo'advisory' (default) or 'strict'.advisory
market_aNoFirst leg of the pair to audit (either venue; order does not matter). Provide market_a AND market_b together, or use canonical_event_id instead.
market_bNoSecond leg of the pair to audit (the other venue).
notional_usdNoIntended position size in USD. Optional; sizes the thin-liquidity check against live top-of-book depth.
canonical_event_idNoA covered pair id — the outcome-suffixed canonical id, e.g. 'wc26:match:MEX-RSA:2026-06-11:result#home' (suffix #home | #draw | #away selects the outcome leg-pair). A bare event id without the suffix is ambiguous and only accepted when market_a + market_b are also given to select the leg. Get valid pair ids from list_covered_events.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces a non-modifying safety check. It adds detail about the return (verdict with safe/caution/block, FSAO object) and covers uncovered pair edge case. No contradiction.

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 dense but well-structured, front-loaded with purpose and key details. Every sentence adds value, though it could be slightly shorter without losing clarity.

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 tool's complexity (5 parameters, output schema exists), the description fully covers return behavior (verdict, FSAO, uncovered pair reply) and usage patterns. No gaps identified.

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%, so description is not required to explain all parameters, but it adds value by clarifying mutual exclusivity of canonical_event_id vs market_a+market_b and the meaning of notional_usd. The description of outcome default is helpful.

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 clearly states it's a 'pre-trade safety check for cross-venue prediction-market arbitrage' and lists specific risk flags resolved (resolution mismatches, void-rule divergence, etc.). It distinguishes from sibling tool list_covered_events by being a diagnostic audit step.

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 explicitly says to call the tool 'BEFORE you execute both legs' and provides clear context for pair identification (EITHER canonical_event_id OR market_a + market_b). It doesn't explicitly state when not to use, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_covered_eventsA
Read-only
Inspect

Free discovery of everything check_resolution_risk can audit: the covered canonical World Cup events, their per-outcome pair ids (…#home / #draw / #away), the Polymarket conditionIds and Kalshi tickers with outcome labels for each pair, match dates, the frozen ruleset_sha pinning the identity graph, the coverage kickoff cutoff, and snapshot freshness. Use a returned pair_id (or a pair's two market ids) as input to check_resolution_risk.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Beyond readOnlyHint, the description reveals that the tool returns a snapshot with freshness information and includes specific data fields. It does not discuss rate limits or caching, but the read-only nature and output details are well-covered.

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 front-loaded with a summary and then lists detailed contents. It is concise for the amount of information but could be slightly tighter without losing clarity.

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 tool has no parameters and an output schema exists, the description fully covers what the tool does and how to use its output. It is complete and well-aligned with the context signals.

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?

With zero parameters, the baseline is 4. The description does not need to add parameter information, but it provides context on what the tool returns, which is adequate.

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 clearly states the tool's purpose: to list all covered canonical World Cup events and their related IDs for use with check_resolution_risk. It distinguishes itself from the sibling tool by focusing on discovery rather than risk assessment.

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?

Explicitly instructs to use the returned pair_id or market ids as input to check_resolution_risk, providing clear context on when to use this tool (before risk checking) and how it complements the sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources