ledgerfc
Server Details
Grounded sports predictions plus European soccer and tennis arbitrage data for AI agents.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- yaotsakpo/ledgerfc-mcp
- GitHub Stars
- 1
- Server Listing
- ledgerfc-mcp
Available Tools
13 toolsfetchBInspect
Fetch the full prediction document for a search result id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A result id from search, e.g. pred:123. |
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 explaining behavior. It states that a document is fetched, which suggests a read-only operation, but it does not disclose output format, potential absence of results, error behavior, or any side effects. It is minimally informative but lacks behavioral depth.
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, front-loaded sentence with no redundant phrasing. Every word contributes meaning, and it is compact enough for an agent to parse quickly.
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?
For a simple tool with one required parameter and a high-coverage schema, the description is largely sufficient: it states what the tool fetches and how to identify the target. It leaves minor open questions about the response shape, but the lack of an output schema and low tool complexity keep this from being a serious 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?
Schema description coverage is 100%, so the schema already documents the id parameter well. The description reinforces the id as 'a search result id' and adds the concept of full prediction document, but it does not significantly expand on parameter semantics beyond the schema.
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 names a specific verb ('Fetch'), a concrete resource ('full prediction document'), and a clear input context ('search result id'). It distinguishes the tool from broad search and list-like getters by emphasizing that it retrieves the full document for one ID, though it does not explicitly compare against a sibling.
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 this should be used after obtaining a search result id (e.g., pred:123), so the usage context is inferable. However, it does not explicitly say when to prefer this over get_predictions, get_bet, or search, nor does it state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_arbsAInspect
PRO: recently detected live arbitrage opportunities. Needs a Pro key, via an Authorization: Bearer header (preferred) or the api_key argument.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Optional Pro API key (get one with /key in the Ledger FC Telegram bot). Preferred instead: send it as an Authorization: Bearer header, so it never enters the conversation. | |
| live_rescan | No | If true, fetch fresh odds NOW and return current arbs (age ~0) instead of logged ones. Rate-limited (costs API credits). Falls back to logged arbs if unavailable. | |
| within_seconds | No | Look-back window in seconds. Default is tight because arbs die fast; widen only for a historical view. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description takes on the burden of behavioral transparency. It clearly discloses the requirement for a Pro key, the preferred authentication method, and the fallback to the api_key argument. It also notes that live recanning has rate limit implications in the parameter schema. It stops short of describing failure modes or response shape, but covers the most important operational constraints.
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 two concise sentences that immediately state the purpose and the key prerequisite. There is no filler, and the most important information is front-loaded.
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?
For a getter with zero required parameters and detailed schema descriptions, the description provides enough context and authentication. It lacks mention of response format, and doesn't explicitly describe failure/unauthorized behavior, but those are minor and the overall context is sufficient for practical use.
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 description coverage is 100%, with each parameter clearly documented. The description mentions the api_key argument but adds no meaningful detail beyond the schema. Baseline of 3 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?
Clearly identifies the tool as returning live arbitrage opportunities that were recently detected, and the name 'get_arbs' reinforces the action. It does not explicitly use a verb like 'get' or 'retrieve', but the purpose is recognizable from the phrase and context. It is distinguishable from sibling tools like get_value_bets and get_predictions, though it doesn't explicitly state those differences.
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 it is used by Pro users with a valid key, and explains how to authenticate, but gives no explicit guidance on when to choose this tool over siblings or when not to use it. The usage context is implied rather than clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balanceBInspect
Your paper-points balance (not cash).
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It clarifies what the balance represents, but it does not state that this is a read-only lookup, whether any side effects occur, what identity the agent_id relates to, or what the response looks like.
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, front-loaded sentence with no filler. The parenthetical 'not cash' earns its place by preventing a common misunderstanding.
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?
For a tool with one required parameter and no output schema, this description is close but incomplete: the caller must infer whose balance is returned and how to map that to agent_id. The description alone does not guarantee a correct call.
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 by explaining the required agent_id parameter. It never mentions agent_id directly; 'Your' hints that a specific agent's balance is being retrieved, but the connection to the agent_id parameter remains implicit.
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 identifies the resource as the paper-points balance and explicitly distinguishes it from a cash balance. It lacks an explicit verb such as 'returns' or 'fetches', but the get_ name and the resource noun make the tool's purpose clear enough to separate from sibling get_* tools.
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?
Usage is implied: call this tool when you need a paper-points balance rather than cash. It gives no explicit when-to-use or when-not-to-use guidance, and it does not name any sibling get_* tool as the alternative for related concepts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_betCInspect
One paper bet by id.
| Name | Required | Description | Default |
|---|---|---|---|
| bet_id | 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 only says that one paper bet is returned; it does not explain whether this is read-only, how missing IDs are handled, what response shape to expect, or whether any side effects occur.
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?
At four words, the definition is extremely terse, front-loaded, and contains no filler. Every word contributes meaning about the operation's scope.
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?
For a one-parameter getter this brevity is understandable, but without annotations, an output schema, or usage guidance the description still leaves important gaps: return format, error behavior, and explicit distinction from sibling getters.
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 adds almost nothing about bet_id beyond saying 'by id.' The property name is self-explanatory, but the description does not compensate for the missing schema-level semantics or explain how the ID is used.
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 that this tool returns a single paper bet identified by ID, which distinguishes it from list-oriented siblings like get_my_bets and get_arbs. It lacks an explicit verb, but the resource and scope ('one paper bet by id') make the purpose reasonably clear.
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?
There is no guidance about when to use this tool versus alternatives such as get_my_bets, fetch, or search. The description implies that you need a known bet_id, but it never explains the conditions or prerequisites for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contributor_scoreCInspect
A contributor's CLV record.
| Name | Required | Description | Default |
|---|---|---|---|
| contributor_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should carry behavioral meaning, but it only defines the object. It does not state whether this operation is read-only, what the API returns, what CLV represents, or any rate/scope information. The agent has almost no insight into the tool's actual 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?
The text is extremely short, but this is under-specification rather than conciseness. It does not provide enough actionable information for an agent to rely on, so the brevity is not effective.
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?
While this is a simple tool with a single parameter and no output schema, the description omits key context like the meaning of CLV, the return shape, and any operational considerations. Overall, the documentation is minimal and offers little more than the tool name alone.
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. The phrase 'contributor's' implicitly maps to the contributor_id parameter, but it adds no extra semantics such as ID format, constraints, or examples. The schema only stores type string, so the tool remains essentially 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 'A contributor's CLV record' identifies a resource but lacks a clear verb. It is not a pure tautology, but CLV is left undefined and the tool's behavior (retrieving/creating/updating/) is ambiguous. It does not clearly distinguish this from sibling tools like get_value_bets or get_track_record.
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?
There is no guidance on when to use this tool versus any alternative. No context is given for which scenarios require fetching a contributor's CLV record, and no sibling tools are mentioned or excluded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_leaderboardBInspect
Contributors ranked by CLV (reputation points, not cash).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it does offer non-obvious context: CLV means reputation points, not cash. However, it does not state ordering direction, whether the leaderboard is global/filtered, pagination/limits, or what data is returned, leaving several operational behaviors to inference.
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 tight sentence with no filler; the primary subject and caveat are both front-loaded. It could earn a higher score if it also gave one line of usage context or return-format detail, but as pure conciseness it wastes no words.
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?
This is a simple zero-parameter tool, so much can be inferred from the name and the word 'leaderboard.' But there is no output schema or annotation fallback, and the description does not describe the returned entries, count, ordering, or any limits, so an agent must guess at the response contract.
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 tool has zero parameters, so there is no parameter semantic burden on the description. The parenthetical about what CLV represents gives useful conceptual context for interpreting any future or returned data, but no additional parameter documentation is needed.
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 resource ('contributors'), the ranking criterion ('CLV'), and adds a useful disambiguation ('reputation points, not cash'). It is obvious that this returns a ranked leaderboard, distinguishing it from per-contributor tools like get_contributor_score, though that sibling is not explicitly named.
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?
There is no explicit statement about when to use this tool versus alternatives. The description implies a leaderboard lookup through the phrase 'ranked by CLV,' but it does not say when not to use it, nor does it reference sibling tools like get_contributor_score or get_track_record for individual metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_betsBInspect
Your paper bets, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It discloses the scope ('your paper bets') and ordering ('newest first'), but does not mention response shape, pagination, error behavior, or whether it is strictly read-only.
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 extremely concise at six words and contains no filler. It front-loads the useful ordering behavior, though it may be too minimalist for full completeness.
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?
For a single-parameter list getter with no output schema, the description covers the core idea and sort order but leaves out agent_id semantics and response structure. It is minimally adequate but not richly 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?
The schema provides only the parameter name 'agent_id' with type string and 0% description coverage. The description gives only an indirect link via 'your', which may help infer that the parameter identifies the betting agent, but it does not explicitly explain how to use agent_id.
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 identifies the resource as the user's paper bets and specifies ordering as newest first. It does not explicitly state the verb 'get', relying on the tool name, and does not fully distinguish itself from get_bet, but the plural 'bets' and 'my' make the purpose reasonably clear.
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 gives no explicit guidance on when to use this tool versus siblings such as get_bet or get_value_bets. There are no exclusions, alternatives, or contextual conditions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_predictionsBInspect
Upcoming predictions with probabilities and model-vs-market edge.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max predictions to return. | |
| league | No | Filter to one league code, e.g. EPL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full behavioral burden. It does disclose the output essence (upcoming predictions with probabilities and edge), but it does not mention ordering, pagination, response shape, or any operational caveats. It is adequate but not richly transparent.
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 extremely concise at one sentence with no filler, and it front-loads the main value proposition. It loses a point because it is phrased as a fragment rather than a clear action statement, and the mention of 'probabilities and model-vs-market edge' may be a bit compressed.
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 simple with two optional parameters, and the schema already documents those. Yet the description leaves some context unclear: it does not explain how predictions relate to 'value bets', how league filtering works, or how results are ordered. It is adequate for a basic listing tool, but not fully 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 100% and both parameters have their own descriptions (limit and league filter). The tool description adds no parameter information, but the schema already explains the semantics, so the baseline score of 3 applies.
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 identifies the main content of the tool: upcoming predictions, probabilities, and model-vs-market edge. It is clear what resource the tool is about, though it lacks an explicit verb (Get/List) and does not distinguish itself from sibling tools like get_value_bets.
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?
There is no guidance on when to use this tool instead of similar siblings such as get_value_bets, get_arbs, or fetch. The description implies a read-only listing of upcoming predictions, but never states exclusions or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_recordCInspect
Honest settled record + high-confidence subset + CLV.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It only mentions 'honest' and 'CLV' without explaining data source, freshness, access requirements, or what makes this record 'honest'. The 'get' verb implies read-only behavior, but that is not stated and the description adds little beyond the name.
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 short, but it is an ungrammatical fragment using plus signs to join unexplained terms like 'CLV'. It sacrifices clarity for brevity and the opaque wording keeps it from being genuinely concise or effectively front-loaded.
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, no parameters, and no annotations, the description should clearly explain what is returned and how to interpret the result. 'Honest settled record + high-confidence subset + CLV' is an unsupported high-level listing that leaves key terms ambiguous, so the agent still lacks enough context to invoke it confidently.
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 zero parameters, so there is nothing to document and the description cannot be faulted for missing parameter details. This is the baseline case where parameters cannot be clarified in prose.
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 hints at the tool's purpose by listing 'Honest settled record', 'high-confidence subset', and 'CLV', but it lacks an explicit verb and never clearly states what get_track_record does. It is more than a tautology because it mentions specific components, but an agent would have to infer that these are parts of a returned track record.
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?
There is no guidance about when to use this tool versus siblings like get_bets, get_my_bets, or get_predictions. The description does not mention any alternative tools, preconditions, or context, leaving the agent to guess the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_value_betsAInspect
PRO: upcoming picks with positive model-vs-market edge. Needs a Pro key, via an Authorization: Bearer header (preferred) or the api_key argument.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Optional Pro API key (get one with /key in the Ledger FC Telegram bot). Preferred instead: send it as an Authorization: Bearer header, so it never enters the conversation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry behavioral weighting. It usefully discloses that the tool requires an authorization key, that the Authorization: Bearer header method is preferred, and that the api_key argument is a fallback. It does not disclose expected return shape, rate limits, or the read-only nature of the call, leaving some behavioral ambiguity.
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 only two sentences and wastes very few words. The 'PRO:' prefix is a bit cryptic and slightly redundant with the later 'Needs a Pro key,' but overall the structure is front-loaded with purpose and followed by authentication guidance.
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?
For a simple one-parameter read-style tool, the description covers the key prereq and the edge-based selection criterion. However, with no output schema provided, the description does not hint at what fields or shape the response will take, and it gives limited contextual routing among sibling list-type tools.
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 already documents api_key well with a comment, and schema coverage is 100%, so the baseline is 3. The description adds an important semantic layer: the api_key parameter is not truly optional by itself because a key is required, and using the header is preferred over passing the key into the conversation. This clarifies how the optional parameter actually relates to the operation.
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 says the tool returns 'upcoming picks with positive model-vs-market edge,' which identifies both the resource (value bets) and the defining scope (positive edge). The verb 'get' is only in the tool name, not the description, but the phrase is specific enough to communicate what the tool does and to distinguish it from siblings like get_arbs or get_predictions.
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 it should be used when value bets with positive model-vs-market edge are needed and notes that a Pro key is required. However, it does not explicitly state when to prefer this tool over alternatives like get_predictions or get_arbs, nor does it provide concrete when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_betCInspect
Place a paper bet against our agent's prediction (points only).
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | ||
| agent_id | Yes | ||
| match_id | Yes | ||
| stake_points | Yes | Paper points to stake (min 1). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully carry behavioral context. It mentions 'paper bet' and 'points only,' which suggests stakes and gamification, but it does not reveal side effects like point deduction, whether existing bets are replaced, or any prerequisites.
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 one sentence, front-loads the action and purpose, and avoids filler. 'Against our prediction' and 'points only' are useful qualifiers that justify the sentence.
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 four required parameters, no output schema, and no annotations, a one-sentence description is insufficient. Important context is missing: the meaning of 'side' relative to the opponent's prediction, prerequisites, return format, restrictions (e.g., staking limits), and what 'points only' is in a practical sense.
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 only 25%; only stake_points has a schema comment. The description adds no detail about agent_id, match_id, or the side specified as home/draw/away—omitting how the enum maps to 'against the prediction.' Since the schema doesn't cover these and the description doesn't compensate, parameter meaning is under-specified.
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 specific verb and resource: 'place a paper bet' against the agent's prediction. It clearly distinguishes this from other tools by adding 'points only' and 'against our agent's prediction,' which both state the fundamental scope.
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?
No explicit guidance is given about when this tool should be used instead of siblings. The description implies the action but does not differentiate it from 'submit_prediction' or any other related tool, leaving the agent to infer the right context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAInspect
Search upcoming match predictions. Returns {id,title,url} results; use fetch(id) for the full prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Team or league to search upcoming predictions for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It usefully reveals that results are limited to {id,title,url} and that the full prediction lives behind fetch. However, it does not mention behavior for missing/empty queries, result limits, errors, or visibility constraints.
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 with no filler. The core action appears first, and the key output and follow-up behavior appear in the second sentence.
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?
For a single-parameter search tool with no output schema, the description is nearly complete: it gives the purpose, result shape, and next step. The main gap is that the schema does not require query, and the description doesn't clarify what an omitted query returns.
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 100%, with the query parameter already described as the team or league to search. The description adds no meaningful parameter semantics beyond what the schema provides.
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?
States a specific action and resource: 'Search upcoming match predictions' and gives the output shape as {id,title,url}. It also points to fetch for full predictions, which helps differentiate, though it doesn't contrast with similarly named siblings like get_predictions.
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 says to 'use fetch(id) for the full prediction,' so an agent knows search returns previews and when to switch tools. It does not mention alternatives like get_predictions or when to avoid search, so some routing guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_predictionCInspect
Submit a prediction to be scored by CLV (shadow/points).
| Name | Required | Description | Default |
|---|---|---|---|
| p_away | Yes | ||
| p_draw | Yes | ||
| p_home | Yes | ||
| match_id | Yes | ||
| contributor_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of explaining behavior. It discloses that a prediction is submitted and will be scored, but it says nothing about side effects, duplicate submissions, mutability, required probability constraints, or whether the operation is reversible.
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 one short sentence with no filler and front-loads the core action. It is efficient, though slightly too sparse to fully support agent decision-making.
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 five required parameters, no output schema, no annotations, and 0% schema description coverage, the definition is not complete. An agent can identify the general purpose but cannot determine validation rules, expected behavior, or how to handle the response.
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%, yet the description adds no information about contributor_id, match_id, or the p_home/p_draw/p_away fields. The phrase 'prediction' implies the p_* fields are probabilities, but no ranges, summation rules, or formats are given.
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 specifies a concrete action ('Submit a prediction') and its purpose ('scored by CLV'), which distinguishes the tool from purely informational siblings like get_predictions. It does not explicitly differentiate from place_bet or mention alternatives, but the core intent is clear.
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?
There is no guidance about when to use this tool versus alternatives such as place_bet or get_predictions. The description does not mention prerequisites, restrictions on submission window, or how this prediction relates to CLV scoring.
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. Dates show when Glama detected each change.
1 tool update
- Changed
get_arbs1 field changed- added
Input schema / properties / live_rescanAdded value: +{ + "default": false, + "description": "If true, fetch fresh odds NOW and return current arbs (age ~0) instead of logged ones. Rate-limited (costs API credits). Falls back to logged arbs if unavailable.", + "type": "boolean" +}
2 tool updates
- Changed
get_arbs4 fields changed- changed
Input schema / properties / api_key / descriptionPrevious value: -"Pro API key (get one with /key in the Ledger FC Telegram bot)."New value: +"Optional Pro API key (get one with /key in the Ledger FC Telegram bot). Preferred instead: send it as an Authorization: Bearer header, so it never enters the conversation." - changed
Input schema / properties / within_seconds / defaultPrevious value: -3600New value: +180 - changed
Input schema / properties / within_seconds / descriptionPrevious value: -"Look-back window in seconds."New value: +"Look-back window in seconds. Default is tight because arbs die fast; widen only for a historical view." - changed
Input schema / requiredPrevious value: -[ - "api_key" -]New value: +[]
- Changed
get_value_bets2 fields changed- changed
Input schema / properties / api_key / descriptionPrevious value: -"Pro API key (get one with /key in the Ledger FC Telegram bot)."New value: +"Optional Pro API key (get one with /key in the Ledger FC Telegram bot). Preferred instead: send it as an Authorization: Bearer header, so it never enters the conversation." - changed
Input schema / requiredPrevious value: -[ - "api_key" -]New value: +[]
13 tool updates
- First observed
fetch - First observed
get_arbs - First observed
get_balance - First observed
get_bet - First observed
get_contributor_score - First observed
get_leaderboard - First observed
get_my_bets - First observed
get_predictions - First observed
get_track_record - First observed
get_value_bets - First observed
place_bet - First observed
search - First observed
submit_prediction
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
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
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
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 Connectors
Football fixtures, standings, and odds intelligence for AI agents.
Prediction-market intelligence for conservative cross-market pricing edges and live signals.
Sports odds, player props and source coverage for AI assistants. Connect with your own API key.
Financial data for AI agents: crypto data, Polymarket odds, weather/oil calibration, trust scoring.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents and sportsbooks to discover, evaluate, and monitor alternative sports leagues with tools for discovery, valuation, fingerprinting, and market data.35MIT
- FlicenseNot gradedqualityCmaintenanceProvides AI agents with professional-grade tools for expected value calculation, Monte Carlo predictions, historical backtesting, and portfolio risk management in sports betting.-
- AlicenseBqualityDmaintenanceMCP-compatible server that gives AI agents access to alternative sports data across 30+ leagues — odds, events, probabilities, settlement, and futures for prediction markets, DFS platforms, and sportsbooks.2915MIT

Odds-API MCP Serverofficial
AlicenseAqualityBmaintenanceEnables AI assistants to access sports betting odds data from 265+ bookmakers across 34 sports, including events, odds, historical data, arbitrage, and value bets.22911MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools target clearly distinct resources (predictions, bets, balance, leaderboard, record). However, get_predictions and get_value_bets are quite similar in scope—one being the unfiltered version of the other—so an agent could misselect without clearly reading paywalled requirements.
The get_ prefix is used for most retrieval operations, with place_bet, submit_prediction, fetch, and search as notable exceptions. The verb-noun structure is otherwise consistent, so the deviations are minor.
The 13-tool surface is proportional to the server's purpose of enabling paper betting, prediction retrieval, and performance tracking. Each tool maps to a distinct action within those workflows without feeling redundant.
The domain covers the full lifecycle: searching/fetching predictions, submitting and valuing predictions, placing and viewing bets, checking balance, and viewing performance via track record, CLV scores, and leaderboard. No obvious gaps prevent core workflows.