Skip to main content
Glama

Exchange Arbitrage Agent

Server Details

Prediction-market quotes, fill estimates and odds trends, paid per call with x402 USDC on Base.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.3/5.0

Scored across 6 tools

Disambiguation4/5

Most tools are clearly distinct: search_markets finds markets, get_quote returns a book snapshot, estimate_fill simulates a sized buy, get_status reports agent health, and the two trends tools separate raw snapshots from aggregates. The only mild overlap is between get_quote and estimate_fill, since both surface pricing/depth information, but the sizing/slippage framing of estimate_fill keeps them separable.

Naming Consistency5/5

All names use a consistent snake_case verb_noun pattern (search_markets, get_quote, get_status, estimate_fill, get_odds_trends, get_odds_trends_summary). The get_odds_trends / get_odds_trends_summary pair follows a predictable prefix-nesting convention that reinforces rather than breaks the pattern.

Tool Count5/5

Six tools is well within the sweet spot and each maps to a distinct step in the arbitrage workflow: discovery, quoting, fill sizing, trend history, trend aggregation, and health. No tool feels redundant or padding.

Completeness3/5

The surface covers market discovery, pricing, fill estimation, and trend analysis, but an arbitrage agent has no way to place/cancel orders or inspect account balance, positions, and open exposure — get_status explicitly returns no account data. These are notable gaps that would force an agent to dead-end at execution and portfolio management.

Available Tools

6 tools
estimate_fillBInspect

Fill estimate for buying a number of shares of one outcome: VWAP, total cost and partial-fill status within a slippage cap. $0.01 USDC per call on Base. Not advice.

NameRequiredDescriptionDefault
sharesYes
token_idYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations at all, the description carries the full burden, and it does disclose real behavior: a $0.01 USDC charge per call on Base is a paid-call/auth constraint an agent must know before invoking, and the slippage cap bounds the result. It still never states that the call is read-only and places no order, nor any rate or failure behavior.

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?

A single densely packed sentence front-loads the core purpose, then lists outputs, pricing, and a disclaimer. No filler; the only slightly off-topic element is the 'Not advice' boilerplate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The enumeration of return values compensates for the absent output schema, and the cost line covers the missing annotations. But with no annotations, no output schema, and 0% parameter documentation, the undescribed token_id and the unstated read-only/no-order-placed nature leave the definition short of complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must document both parameters and largely does not: 'shares' is clarified as a share count of one outcome, but token_id is never explained (identifier of which outcome, in what format). The agent is left to infer the key input from the phrase 'one outcome'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb+resource ('Fill estimate for buying a number of shares of one outcome') and names the three quantities returned (VWAP, total cost, partial-fill status). It is clear on its own, but does not explicitly contrast itself with the sibling get_quote, which is the most likely point of confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'For buying' implicitly scopes the tool to buy-side, pre-trade estimation rather than selling or post-trade checks, and the slippage cap indicates it is a what-if calculation. However, no alternative is named and there is no explicit when-to-use/when-not statement relative to get_quote or get_status.

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

get_quoteAInspect

Order-book quote for one outcome: best bid and ask, mid, spread and top five levels of depth. $0.005 USDC per call on Base. Live data, not advice.

NameRequiredDescriptionDefault
token_idYes

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does real work: it discloses a per-call cost of $0.005 USDC on Base, states the data is live, and adds a "not advice" disclaimer. It omits auth requirements, rate limits, and caching/latency behavior, which keeps it below 5.

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?

Three tight sentences, each earning its place: return contents first, then cost, then data-freshness caveat. Front-loaded and free of filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with no output schema, the description covers what is returned, cost, and data recency — enough to call it correctly. The remaining gap is how to source a valid token_id, which is the one thing an agent could still get wrong.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate for the single undocumented token_id parameter. It only implies that the argument identifies "one outcome" — it never states the token_id format, that it must come from search_markets, or what happens with an invalid/unknown id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource ("Order-book quote for one outcome") and enumerates exactly what it returns: best bid/ask, mid, spread, and top five depth levels. This clearly separates it from estimate_fill, though it never names a sibling to reinforce the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the tool for a current single-outcome price snapshot, but there is no explicit when-to-use, when-not, or pointer to estimate_fill/search_markets as the alternative path when a fill simulation or market lookup is needed.

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

get_statusAInspect

Free: agent status, trading mode and kill-switch state. No account data.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the burden. It usefully discloses cost ('Free') and data exposure ('No account data'), which tells the agent no auth/account is needed and there is no billing risk. It does not state read-only semantics explicitly, rate limits, or freshness/caching of the reported state.

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?

Two short sentences, front-loaded with the primary content and the cost signal. Every clause earns its place; only the leading 'Free:' fragment reads slightly like a label rather than prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description must hint at returns — it does by naming the three state fields. For a zero-parameter read tool with no annotations this is nearly sufficient; only freshness and read-only guarantees are unstated.

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?

Zero parameters, so there is nothing to document; baseline 4 applies. The description does not need to explain any inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (get_status) and enumerates the returned facts: agent status, trading mode, kill-switch state. The scope note 'No account data' cleanly separates it from the account-scoped tools, though it does not name any sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Free:' signals it is costless to call, which is a soft usage cue, and 'No account data' implies it works without account context. There is no explicit when-to-use/when-not guidance, but the sibling set (market/odds tools) is orthogonal enough that selection ambiguity is low.

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

search_marketsAInspect

Free: search open prediction markets by text. Returns market ids, outcomes and token ids.

NameRequiredDescriptionDefault
qYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden: it does disclose that access is free and that results contain market ids, outcomes and token ids, which is useful. It says nothing about result limits, pagination, auth, or behavior on no matches, so significant behavioral gaps remain.

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?

Two short sentences, zero filler, with the scope and the return contract front-loaded. Nothing could be cut without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating the returned fields (ids, outcomes, token ids), and the 'open' qualifier scopes results. Missing pieces like result caps and pagination keep it from being fully complete for a search 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 coverage is 0% and the single parameter 'q' has no description, so the description must compensate. 'by text' is the only hint that q is a free-text query string, which adds marginal meaning but leaves matching semantics and formatting unspecified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'search open prediction markets by text', which unambiguously separates it from the odds/quote-oriented siblings. It doesn't explicitly name or contrast with any sibling, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'open' implies scope (only unresolved markets), and 'Free:' hints at cost, so usage is implied rather than stated. There is no explicit when-to-use, when-not-to-use, or named alternative among the sibling tools.

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.

  1. 6 tool updates
    • First observedestimate_fill
    • First observedget_odds_trends
    • First observedget_odds_trends_summary
    • First observedget_quote
    • First observedget_status
    • First observedsearch_markets

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to query live Polymarket and Kalshi odds, price history, movers, resolved and closing markets, cross-platform gaps, watch-based change tracking, and X/Twitter sentiment in a single call, paying per request in USDC on Base via x402. Also surfaces ticker-linked event markets and a free example call so agents can inspect results before spending.
    0
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides prediction-market data as MCP tools, including live prices, keyword search, probability history, volume spikes, arbitrage gaps, and resolutions. Pay per call in USDC on Base with no API key or signup.
    9 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides onchain intelligence tools for Base, including token risk checks, wallet PnL, and leaderboard data, with paid calls settled per-request in USDC via x402.
    2 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources