Skip to main content
Glama
DanielTomaro13

sportsdata-mcp

tab_price_slip

Read-onlyIdempotent

Price a bet slip against your TAB account and receive decoTokens that bind each leg to a quoted price, ready for placing the bet.

Instructions

PRICE A BET SLIP on your own account and get the decoTokens that tab_place_bet requires. The account-tier twin of tab_sgm_price: same envelope, but only this version issues the tokens that bind a bet to a quoted price.

Returns: {uuid, clientDetails:{accountNumber, customerId, channel, jurisdiction, homeState}, bets:[{type, status, stake, legs:[{decoToken, type, propositionId, odds}], multiplierAvailable, …}]} — VERIFIED live 2026-08-27.

THE decoToken IS THE POINT OF THIS CALL. Each priced leg comes back carrying one, and tab_place_bet will not take a leg without it. That token is what binds the bet to a price TAB actually quoted — so unlike Sportsbet, where the client asserts a number and hopes, here the quote is a thing you hold. Price, then place with the tokens you were given; never with tokens from an older enquiry.

THIS IS THE ACCOUNT-TIER TWIN OF tab_sgm_price. Same service, same envelope, but addressed at /accounts/{accountNumber}/ and authenticated — and only this version issues decoTokens. tab_sgm_price stays the right tool for comparing prices across books; this one is for the moment before placing.

bets[].status is 'ok' on a priced bet, and per-leg errors surface alongside rather than as an HTTP failure — read them before assuming a price.

Auth: works without a key; TAB_CLIENT_ID or TAB_CLIENT_SECRET or TAB_REFRESH_TOKEN unlocks more if set.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
betsYesThe slip: [{"type": "FIXED_ODDS", "stake": "1.00", "legs": [{"type": "WIN", "propositionId": 1016, "odds": "2.00"}], "enableToteGuarantee": false, "enableMultiplier": false, "source": "…"}]. `propositionId` comes from tab_match_markets — markets[].propositions[].id as an INTEGER. Stake and odds are STRINGS.
uuidYesA fresh UUID identifying this enquiry.
channelNoLeave as `web`.web
jurisdictionYesYour state: NSW, VIC, ACT, QLD, SA, NT or TAS. Prices and availability differ by jurisdiction, so this is not cosmetic.
accountNumberYesYour own TAB account number. This only ever prices against YOUR account. Required — part of the URL path.
clientVersionNoClient version string the site sends; cosmetic.
Install Server

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/openWorld/idempotent annotations, the description discloses the critical decoToken binding mechanic, that per-leg errors appear in the response body rather than as HTTP failures, and that auth works without a key while env vars unlock more. It also provides the return shape. No contradiction with annotations.

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 well-organized into purpose, return shape, token rationale, sibling comparison, error behavior, and auth. The capitalization and repeated 'twin' phrasing are slightly redundant, but every section contributes operational information.

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?

With no output schema, the description compensates by giving a concrete return structure including uuid, clientDetails, bets, legs, decoTokens, and odds. It also covers the workflow constraint, per-leg error handling, and auth requirements, making it complete enough for correct invocation.

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?

The input schema covers all 6 parameters with detailed descriptions, including the exact bets payload, string types for stake/odds, integer propositionId sources, jurisdiction list, and defaults. Tool description therefore doesn't need to repeat parameter semantics; schema coverage is 100%.

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 specific action and resource: 'PRICE A BET SLIP on your own account and get the decoTokens that tab_place_bet requires.' It clearly distinguishes itself from tab_sgm_price as the account-tier twin, so an agent can identify what this tool uniquely does.

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 explicitly explains when to use this tool instead of the sibling: tab_sgm_price is for comparing prices across books, while this one is 'for the moment before placing.' It also instructs the sequence — price with this tool, then place with the returned tokens and never with tokens from an older enquiry.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DanielTomaro13/sportsdata-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server