kickbase-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kickbase-mcpCheck my squad and budget, find undervalued players on the market and propose trades."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
kickbase-mcp
MCP server for Kickbase (Bundesliga fantasy football) built on the unofficial, community-documented API v4.
It exposes your squad, budget, lineup, the transfer market, player stats, fixtures and real trading operations — so an AI assistant can build buy/sell strategies and (if you let it) execute them.
Install
uv syncRelated MCP server: FPL MCP Server
Credentials
The server needs KICKBASE_EMAIL and KICKBASE_PASSWORD, resolved in this
order:
Environment variables
.envfile (see.env.example)
Proton Pass (pass-cli)
Put secret references in .env:
KICKBASE_EMAIL="pass://MyVault/Kickbase/username"
KICKBASE_PASSWORD="pass://MyVault/Kickbase/password"then launch the server through pass-cli run, which injects the resolved
values as environment variables:
pass-cli run --env-file .env -- uv run kickbase-mcpRun
uv run kickbase-mcp # stdio transport (default)MCP client config
With plain .env credentials:
{
"mcpServers": {
"kickbase": {
"command": "uv",
"args": ["--directory", "/path/to/kickbase-mcp", "run", "kickbase-mcp"]
}
}
}With Proton Pass injection:
{
"mcpServers": {
"kickbase": {
"command": "pass-cli",
"args": [
"run", "--env-file", "/path/to/kickbase-mcp/.env", "--",
"uv", "--directory", "/path/to/kickbase-mcp", "run", "kickbase-mcp"
]
}
}
}Tools
Read:
list_leagues, get_my_status, get_league_overview, get_league_ranking,
get_activity_feed, get_my_squad, get_my_lineup, get_market,
get_market_player, search_players, get_scouted_players,
get_player_profile, get_player_performance,
get_player_market_value_history, get_player_transfer_history,
get_manager_squad, get_manager_transfers, get_user_teamcenter,
get_fixtures, get_competition_table
Trades (real side effects on your team):
place_offer, withdraw_offer, accept_offer, decline_offer,
list_player_for_sale, remove_player_from_market,
sell_player_to_kickbase, set_lineup, scout_player, unscout_player,
collect_daily_bonus
Strategy:
analyze_transfer_market — one call that combines your budget, squad flags
(injuries, falling value, low averages), every market listing scored by
points-per-million, expiry urgency and next-fixture opponent strength.
Typical strategy prompt
Check my budget and squad, find weak players I should sell and undervalued players on the market with good upcoming fixtures, then propose concrete trades — but ask before executing anything.
Available Tools
32 toolsaccept_offerAccept OfferB
Accept a manager's offer on one of your listed players. REAL SALE.
| Name | Required | Description | Default |
|---|---|---|---|
| offer_id | Yes | ||
| league_id | No | ||
| player_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'REAL SALE' does add some useful context that acceptance is a genuine sale rather than a reversible or placeholder action, but the description does not state permissions, irreversibility, funds/roster effects, or what happens to the offer and player.
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 short sentences and front-loads the action. 'REAL SALE' is terse but adds a warning-like signal without wasting space.
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 mutation tool with three parameters, no annotations, no output schema, and 0% schema description coverage. The description gives the basic action and a terse 'REAL SALE' hint but leaves the agent without enough behavioral and parameter detail 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?
Schema description coverage is 0%, and the schema itself provides no property-level documentation. The description only conceptually connects 'listed player' and 'manager's offer' to player_id and offer_id, and says nothing about the optional league_id or identifier formats.
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 (accept) and resource (a manager's offer on one of your listed players), making the core action clear. It does not explicitly differentiate this tool from nearby siblings such as decline_offer, withdraw_offer, or sell_player_to_kickbase, so it falls short of the top score.
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: use this when you have an offer on one of your listed players and want to accept it. However, there is no explicit when-to-use/when-not guidance and no routing to alternatives like decline_offer or sell_player_to_kickbase, so the agent must infer the selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_transfer_marketAnalyze Transfer MarketA
Composite analysis for buy/sell strategy.
Returns your budget, squad valuation flags, and every market listing scored by points-per-million, market-value trend, expiry urgency and upcoming opponent strength (next N matchdays). Use this to decide which players to sell and which market bargains to buy.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No | ||
| horizon_matchdays | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does a good job disclosing the analysis outputs: budget, squad valuation flags, and listings scored by points-per-million, market-value trend, expiry urgency, and opponent strength. It still does not explicitly state that the operation is read-only or address permissions/freshness, but 'analysis' strongly implies a non-mutating operation.
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 purpose, then the returned information, then the actionable use case. There is no redundant or filler text.
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?
Because an output schema exists, the description does not need to exhaustively explain return values, but it still helpfully summarizes them. The main remaining gap is parameter semantics for league_id, plus the absence of explicit read-only/safety context due to missing annotations.
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 explains 'next N matchdays' for horizon_matchdays, but it does not explain league_id at all and does not clarify the defaults or optionality of either parameter.
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 and resource ('Composite analysis' for 'transfer market') and clearly distinguishes itself from sibling market tools by describing a composite output: budget, squad valuation flags, and every market listing scored across several dimensions. An agent can identify it as the strategy-analysis tool rather than a raw market listing tool.
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?
It gives a clear usage context: 'Use this to decide which players to sell and which market bargains to buy.' This tells the agent when the tool is appropriate, but it does not explicitly name alternatives such as get_market or get_my_squad, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
collect_daily_bonusCollect Daily BonusB
Collect the daily login bonus if available.
| 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 full behavioral burden. It does not disclose what happens if the bonus was already collected, whether there is a cooldown, what reward is granted, or what error/response to expect.
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 wasted words. It is appropriately sized for a simple zero-parameter action.
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 zero-parameter action, the description covers the core purpose. However, without annotations or an output schema, it remains incomplete regarding availability checks, cooldowns, reward details, and failure behavior.
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 semantics to explain. The baseline for zero-parameter tools is 4, and nothing in the description suggests missing parameter guidance.
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 and resource: collect the daily login bonus. It is clearly distinct from sibling read/list/market tools, though it does not explicitly differentiate itself from other action 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?
The phrase "if available" implies the tool should only be called when a bonus is available, but it does not explain how an agent should determine availability, nor does it name alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decline_offerDecline OfferC
Decline a manager's offer on one of your listed players.
| Name | Required | Description | Default |
|---|---|---|---|
| offer_id | Yes | ||
| league_id | No | ||
| player_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden for a mutation tool. It identifies the action but does not disclose consequences such as whether the decline is irreversible, what happens to the offer afterward, permission requirements, or side effects.
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 efficient sentence with the core action front-loaded. It is concise, though its brevity contributes to the broader specification gaps rather than being a structural flaw in itself.
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 mutation tool with no annotations, no output schema, and 0% schema description coverage, this one-sentence description is materially incomplete. An agent can infer the basic purpose but lacks enough behavioral and parameter context to invoke it confidently in edge cases.
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%, with three parameters including an optional league_id defaulting to null. The description only loosely implies that player_id refers to one of the user's listed players and offer_id refers to a manager's offer; it does not explain the parameters individually or clarify league_id usage.
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: 'Decline' an 'offer', scoped to 'one of your listed players'. It is clearly distinguishable from unrelated siblings, but it does not explicitly differentiate itself from close siblings such as accept_offer or withdraw_offer.
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 implied use case is rejecting an incoming manager offer, but there is no explicit guidance on when to use this versus accept_offer, withdraw_offer, or other offer-management tools. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_activity_feedGet Activity FeedC
League activity feed (transfers, market events, comments).
| Name | Required | Description | Default |
|---|---|---|---|
| start | No | ||
| league_id | No | ||
| max_items | No |
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 behavioral disclosure. It reveals only the kinds of events included and says nothing about ordering, pagination, refresh behavior, permissions, or whether league_id null means a global feed; a short content list is insufficient for a feed with three parameters.
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 wasted words. It is concise, but it is undersized for a tool with three undocumented parameters and no annotations, so brevity comes at the cost of usefulness.
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 annotations, no output schema, and 0% parameter description coverage, the definition leaves an agent without the information needed to call the tool correctly. It should at least explain the league scope, pagination via start and max_items, and what the feed 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 0% and the description does not mention any of the three parameters. It gives no meaning for start, league_id, or max_items, and does not explain the defaults or what a null league_id returns.
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 resource, 'League activity feed', and lists the event types it contains (transfers, market events, comments). However, it does not state the scope or filtering behavior, and it only weakly distinguishes itself from siblings like get_market or get_manager_transfers, which overlap in event content.
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 feed versus related sibling tools such as get_market, get_manager_transfers, or get_league_overview. The description gives implied usage only through its content list, with no exclusions or alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_competition_tableGet Competition TableB
Real Bundesliga table: team strength for fixture difficulty analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 names the data and analytical purpose but does not explicitly state read-only behavior, league scope, data freshness, or other 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 a single front-loaded sentence with no wasted words. Its fragment style and extreme brevity contribute to some of the clarity gaps, but as a conciseness/structure dimension it is efficient.
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 query tool and an output schema exists, so return values need not be explained. Still, the optional league_id behavior is undocumented and there is no sibling routing guidance, leaving the definition only minimally 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 only parameter, league_id, is optional and has 0% schema description coverage. The description does not explain what league_id controls, what the default behavior is, or whether omitting it means Bundesliga specifically.
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 resource (Bundesliga table) and intended analytical use (team strength for fixture difficulty), which is clearer than a tautology. However, it does not explicitly contrast with close siblings such as get_league_ranking or get_league_overview.
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?
Gives one intended use case, fixture difficulty analysis, which implies when to use the tool. It offers no when-not guidance or named alternative, so an agent still has to infer whether get_league_ranking would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fixturesGet FixturesB
Bundesliga fixtures grouped by matchday (all or a specific day).
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | ||
| league_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral burden; 'get' plus 'grouped by matchday' does communicate it is a read that returns grouped data. However, it says nothing about authentication, whether a league must be joined, ordering, or pagination for the full fixture list.
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?
A single short, front-loaded phrase with no filler. It is efficient but borders on underspecified rather than crisp, leaving nothing to trim but also little to work with.
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 output schema allows the description to skip return values, and the read-only nature is evident. Still, with two undocumented parameters and no guidance on default behavior (all matchdays vs. one), an agent lacks enough to invoke confidently in edge cases.
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 0%, so the description must compensate. It implies the 'day' parameter via 'a specific day' but never mentions 'league_id', which is a real gap since the tool is described as Bundesliga-specific yet exposes a league selector whose purpose and format are 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?
States the specific resource (Bundesliga fixtures) and the grouping behavior (by matchday), which lets an agent recognize what it returns. The verb is only implied by the tool name rather than the description, and no sibling is named to differentiate, but no sibling covers fixtures so ambiguity is low.
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 when-to-use, when-not-to-use, or alternative guidance. Usage is only inferable from the resource name; the description never says when an agent should call this versus overview/table tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_league_overviewGet League OverviewC
League overview: name, competition, members and settings.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'Overview' implies read-only but never states it, and the description does not disclose what happens when league_id is omitted (default null), whether that resolves to the current league, or any error/permission 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?
A single front-loaded sentence with no filler; the returned fields are listed compactly. It is under-informative in places, but that is a completeness issue rather than verbosity.
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 output schema covers the return shape, so return-value explanation is not needed. But with an optional parameter at 0% schema coverage, no annotations, and no explanation of league_id semantics, the description leaves a material gap for an agent deciding how to call it.
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 sole parameter league_id has 0% schema description coverage, and the description never mentions it. An agent cannot tell from either source whether null means the current/default league, what identifier format is expected, or whether the parameter is truly optional in practice.
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?
Names the resource and enumerates what the overview contains (name, competition, members, settings), making purpose clear. However, it does not distinguish this from sibling list_leagues or signal when one should be used over the other.
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?
Provides no when-to-use or when-not-to-use guidance, no mention of prerequisites, and no routing to alternatives such as list_leagues. The implied usage is only that this retrieves a league overview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_league_rankingGet League RankingC
League table of managers (season points, matchday points, team values).
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | ||
| league_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden, but it only states the returned data categories. It does not explain whether omitted parameters fall back to a default league or day, whether the operation is read-only, or what scope or permissions apply.
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 efficient sentence with the key resource front-loaded and no wasted wording. It is appropriately concise, though its brevity contributes to the missing parameter and usage details.
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 output schema covers return values, but the description still leaves critical calling context unexplained: what 'day' and 'league_id' do, what happens when they are omitted, and how this ranking differs from league overview or competition table results.
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%, and the description does not explain the 'day' or 'league_id' parameters. 'Matchday points' and 'league table' weakly hint at their meaning, but optionality, defaults, and accepted formats are left entirely 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 identifies a specific resource: a league table of managers, with the ranked metrics listed in parentheses. It distinguishes this from a competition table of teams, but it does not explicitly contrast with siblings like get_league_overview.
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, when not to use it, or which sibling tool to choose instead. The intended use is only implied by the name and the phrase 'League table of managers.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_manager_squadGet Manager SquadC
Another manager's squad. Get user ids from get_league_ranking.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | ||
| league_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It implies a read operation on another manager's squad but does not state permissions, whether the caller must belong to the same league, or any other behavioral constraint; the output schema covers return shape but not these traits.
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?
It is short, front-loaded, and every sentence adds some value. The fragmentary phrasing is slightly awkward, but there is no filler or redundancy.
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 no annotations, two parameters at 0% schema description coverage, and only a minimal description, important details are missing. The output schema helps with return values, but parameter meaning and behavioral context remain incomplete.
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 explain both parameters. It usefully explains where user_id comes from (get_league_ranking) but says nothing about league_id, including why it is optional or when it should be supplied.
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 'another manager's squad' and implicitly distinguishes it from get_my_squad. However, it is a sentence fragment without a clear verb, so the agent must infer that the tool retrieves that squad rather than, for example, modifying it.
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?
It gives a useful prerequisite for the required user_id by pointing to get_league_ranking, which is genuinely helpful. It does not explicitly say when to use this instead of get_my_squad or what happens when league_id is omitted, leaving usage partly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_manager_transfersGet Manager TransfersC
A manager's recent buy/sell transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| start | No | ||
| user_id | Yes | ||
| league_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses almost nothing: no ordering, no window length for 'recent', no pagination behavior for 'start', no permission or ownership semantics. 'Recent' is the only behavioral hint and it is left undefined.
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?
It is a single short sentence with no wasted words and is front-loaded. However, brevity here reflects under-specification rather than discipline – nothing is structured to help the agent act.
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?
No output schema, no annotations, and 0% schema description coverage means the description is the only channel for semantics, and it supplies one clause. An agent cannot tell what fields come back, how 'recent' is bounded, or how 'start' pages.
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% and the description names none of the three parameters. 'Manager's' loosely maps to the required user_id, but 'start' (an offset) and 'league_id' are given no meaning anywhere, and the tool does not compensate for that 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 sentence names the resource (a manager's buy/sell transactions) and implies a read of transaction history, but there is no verb and no scope qualifier beyond "recent". It is distinguishable from get_player_transfer_history only by the word 'manager', not by anything the description explicitly states.
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 guidance on when to use this versus get_player_transfer_history, get_manager_squad, or analyze_transfer_market. The agent must infer that 'manager' means the user_id owner and that per-player history lives elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_marketGet MarketB
Players currently on the transfer market with price, expiry and offers.
sellerUserId is null for players listed by Kickbase itself (buy instantly at the listed price via place_offer) and set for manager listings.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully explains sellerUserId semantics and the instant-buy path via place_offer, but it omits auth requirements, pagination, and whether league_id null means all leagues or a default scope.
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 and front-loaded: the first sentence states what the tool returns, and the second adds the important sellerUserId nuance. Every sentence earns its place.
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 output schema reduces the need to explain return values, and the description covers key listing semantics well. However, it leaves the sole input parameter unexplained and provides no sibling-routing guidance, so an agent cannot fully resolve how to call it correctly in context.
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 only parameter, league_id, is completely undocumented in both the schema and description. The description never explains what league_id scopes, what null means, or how the market is filtered.
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 and scope: players currently on the transfer market, including price, expiry, and offers. It does not explicitly distinguish this listing tool from siblings like get_market_player or search_players, so it falls 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'currently on the transfer market,' and the description helpfully notes that Kickbase-listed players can be bought via place_offer. However, it does not say when to use get_market versus get_market_player, search_players, or analyze_transfer_market.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_playerGet Market PlayerC
Details of one market player including all offers made so far.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No | ||
| player_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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, and it says almost nothing behavioral. It implies a read operation via 'Details of' and discloses that offers are included, but it never states what happens if the player is not on the market, what accessing another club's player entails, or any permission/pagination considerations.
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?
One efficient, front-loaded sentence with zero filler. It is arguably over-trimmed for a two-parameter tool, but nothing in it is wasteful.
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 output schema means return values need no explanation, but for a lookup tool with a required id and an unexplained optional league_id and no annotations, the description leaves key gaps: which league context the id lives in and how this differs from the many neighboring player/market 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?
Schema description coverage is 0%, so both parameters are undocumented anywhere, and the description does not compensate at all. It never mentions player_id, and the optional league_id — whose scoping role is ambiguous — is completely 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 single sentence gives a specific verb ('Details of') and resource ('one market player') and adds the notable payload detail that offers made so far are included. It is clear what the tool returns, though it never contrasts itself with close siblings such as get_player_profile, get_market, or search_players.
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 statement of when to use this tool instead of get_market (browsing the market), get_player_profile (general player info), or scout_player, despite a crowded sibling list where the distinction matters. The only implicit cue is 'one market player', which requires the agent to infer a lookup-by-id use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_lineupGet My LineupC
Your current starting eleven and bench players.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the returned content but says nothing about authentication requirements, read-only nature, default league behavior, or what happens when league_id is omitted.
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 single sentence is efficient and front-loaded with the key information. It is arguably too sparse, but it contains no filler or redundancy.
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 an output schema exists and the tool has only one optional parameter, the description leaves the parameter unexplained and provides no sibling differentiation. For a read tool with no annotations, more context is needed to call 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 sole parameter, league_id, is completely undocumented in both the schema and the description. The description adds no meaning about its purpose, format, or effect when null or omitted.
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 returned: the user's current starting eleven and bench players. This distinguishes it somewhat from a full squad tool, but it never explicitly names or contrasts with siblings like get_my_squad or set_lineup, leaving some ambiguity.
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 alternatives such as get_my_squad or set_lineup. The intended use is only implied by the returned content, with no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_squadGet My SquadC
Your full squad with market value, trend, points, status and position.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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 lists returned data but does not explain auth requirements, pagination, default behavior when league_id is omitted, or whether the result is scoped to the current league.
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 single sentence is front-loaded and has no wasted words, listing the key returned fields efficiently. It could be slightly clearer with an explicit verb, but it is appropriately concise.
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 an output schema exists, the description does not resolve the main ambiguity around the optional league_id parameter. With no annotations and no usage guidance, the definition is underspecified for correct invocation beyond a trivial no-argument 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?
The schema has one optional parameter, league_id, with 0% description coverage, and the description never mentions it. The agent receives no explanation of whether league_id filters the squad, defaults to a current league, or is required in practice.
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 full squad and enumerates the contents returned: market value, trend, points, status and position. It distinguishes 'your' squad from get_manager_squad implicitly, though it does not explicitly route away from siblings such as get_my_lineup or get_manager_squad.
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 alternatives like get_my_lineup, get_manager_squad, or get_league_overview. The intended use is implied only by the phrase 'Your full squad'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_statusGet My StatusC
Get your status in a league: budget, team value, points and placement.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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, and it only lists returned fields. It says nothing about permissions, whether league_id omitted means 'current league', error behavior if the user is not in a league, or freshness of the figures. With an output schema present, the field list adds little beyond structured data.
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?
A single front-loaded sentence with no filler; the verb and subject arrive first and every clause adds information. Nothing is redundant.
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 output schema covers return values, but with zero annotations and an undocumented optional parameter, the description is too thin for correct invocation. An agent still cannot tell what an omitted league_id does or how this differs from overlapping sibling 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 single parameter league_id has 0% schema description coverage and is never mentioned in the description. The crucial semantics — that it is optional, defaults to null, and what null selects — are left entirely undocumented, which can lead to wrong invocations.
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 verb and resource ('Get your status in a league') and enumerates the returned data points (budget, team value, points, placement), which lets an agent distinguish it from get_my_squad or get_my_lineup. It does not explicitly differentiate it from the closest sibling, get_league_overview, but the personal focus 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 statement of when to use this versus get_league_overview, get_my_teamcenter, or get_league_ranking, and no prerequisites or exclusions. The 'in a league' phrasing only implies that a league context is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_player_market_value_historyGet Player Market Value HistoryC
Market value history for a player. timeframe = days back to look.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No | ||
| player_id | Yes | ||
| timeframe | No |
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 and falls well short: it does not say how granular the history is (daily snapshots? weekly?), how many points a 30-day window returns, whether it errors for unknown players, or whether the data is cached/delayed. Only the timeframe meaning is disclosed.
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 short sentences, front-loaded with the resource and followed by the one parameter clarification worth surfacing. Nothing is padded, though the second sentence is clipped to the point of ambiguity about units and counting.
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 annotations, no output schema, and 0% schema coverage across three parameters, the description would need to explain return shape and parameter roles. It supplies only one line of parameter guidance, leaving an agent unable to predict the response or the meaning of league_id.
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, but it only clarifies the 'timeframe' parameter as 'days back to look'. player_id and league_id go entirely unexplained — notably that league_id is nullable/default null and what leaving it null implies for the result.
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 resource (market value history) scoped to a player, so an agent can tell what data it returns. It does not differentiate from close siblings such as get_player_transfer_history or get_player_performance, which is the only thing separating it from a 5.
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 statement of when this tool should be chosen over get_market_player, get_player_profile, or get_player_performance, and no prerequisites or exclusions. Usage is only inferred from the noun phrase in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_player_performanceGet Player PerformanceC
Matchday-by-matchday points history for a player.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No | ||
| player_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the granularity (matchday-by-matchday) and implies a read-only historical lookup, but it does not state whether results are paginated, whether they cover all leagues or just one, or what the response looks like. Adequate but with clear gaps.
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?
A single front-loaded sentence with no wasted words. It is appropriately terse for a simple lookup tool, though it is arguably too sparse to be fully useful.
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 two-parameter tool with no annotations and no output schema, the description should explain league_id semantics and at least sketch the return shape (e.g., points per matchday, season scope). It omits both, leaving the agent to guess how to call 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?
Schema description coverage is 0%, so the description must explain both parameters. It implies player_id via 'for a player' but leaves league_id completely unexplained — whether it filters results, is optional, or defaults to all leagues is unclear. The description does not compensate for the coverage 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 names a specific resource (a player) and a specific data type (matchday-by-matchday points history), which distinguishes it from siblings like get_player_profile, get_player_market_value_history, and get_player_transfer_history. The retrieval verb is implied by 'history' rather than stated, but the purpose 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 on when to use this tool versus alternatives such as get_player_profile or scout_player, and no mention of prerequisites or typical scenarios. The agent must infer usage entirely from the name and the phrase 'points history'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_player_profileGet Player ProfileB
Full player profile: stats, market value, status and club info.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No | ||
| player_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It indicates a read-style retrieval and lists the returned data categories, but says nothing about permissions, caching/live data, or how the optional league_id scopes the result.
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?
A single front-loaded sentence with no filler. Its brevity is appropriate structurally, even though it leaves gaps that other dimensions penalize.
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?
Since an output schema exists, the description need not explain return fields, and it briefly does so anyway. However, for a tool with an undocumented optional league_id and many sibling alternatives, it is not complete enough to guide correct invocation.
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%, and the description does not mention either player_id or league_id. player_id is implicit from 'player profile', but the optional league_id's meaning and effect are completely 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 names a specific resource and enumerates the profile contents (stats, market value, status, club info), so an agent knows it retrieves a detailed player record. It does not distinguish this from siblings such as get_player_performance or get_player_market_value_history, which prevents a 5.
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 when-to-use guidance, prerequisites, or comparison to alternatives like get_player_performance, search_players, or scout_player. Usage is only implied by the noun 'profile'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_player_transfer_historyGet Player Transfer HistoryC
Transfer history: who bought/sold this player and at which price.
| Name | Required | Description | Default |
|---|---|---|---|
| start | No | ||
| league_id | No | ||
| player_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden, but it only hints that this is a historical read. It does not disclose ordering, pagination behavior, scope limits, authentication requirements, or whether it is safe/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 a single, front-loaded sentence with no wasted words. It is appropriately terse, though its brevity contributes to the gaps captured in other dimensions.
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 three-parameter tool with no annotations and no output schema, the description is insufficiently complete. It conveys the general return content but omits parameter meanings, pagination semantics, and filtering behavior.
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. It implies that player_id identifies the player, but it says nothing about the start parameter (likely pagination offset) or the league_id filter, leaving two of three parameters 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 states the specific resource (a player's transfer history) and what it contains: buyers/sellers and prices. It implicitly distinguishes from siblings such as get_manager_transfers and get_player_market_value_history, but does not explicitly name or contrast them.
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 alternatives like get_manager_transfers or get_player_market_value_history. The description states what the tool returns but not the conditions or exclusions that would help an agent choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scouted_playersGet Scouted PlayersC
Your watchlist / scouted players.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No |
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, and it discloses almost nothing. It does not confirm this is a read-only operation, does not describe the return shape (list of players? with which fields?), and says nothing about pagination or whether scouting is per-league or global.
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?
It is a single front-loaded fragment with no waste, but it is under-specified rather than concise. There is no second sentence to carry scope, filters, or return info.
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 annotations, no output schema, and an undocumented optional parameter, the description should explain the read behavior and the league_id semantics. It leaves both an agent's key questions unanswered.
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% and the single parameter league_id is entirely undocumented. The description never mentions league_id, so the agent cannot tell whether it scopes the watchlist to one league or merely defaults/ignores it, nor what null means.
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?
"Your watchlist / scouted players" identifies the resource but uses no verb, so the agent must infer this is a read operation. The word "scouted" loosely ties it to the scout_player/unscout_player siblings, but the description never states the relationship.
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 versus search_players, get_my_squad, or the scout/unscout tools. The possessive "Your" implies personal scouting data, but no conditions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_teamcenterGet User TeamcenterC
Team center of a user (points per player for a matchday).
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | ||
| user_id | Yes | ||
| league_id | No |
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 behavioral disclosure. It implies a read of user scoring data but does not state permissions, whether arbitrary users can be queried, how defaults for day and league_id are resolved, or what the response contains beyond a brief parenthetical.
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 wasted text, but it is too terse for the tool's complexity. Its brevity comes at the cost of clarity rather than through efficient communication.
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 annotations, no output schema, and 0% parameter description coverage, the description should fill significant gaps. It only hints that the result relates to points per player for a matchday, leaving the roles of day, user_id, and league_id unexplained and the tool's usage context incomplete.
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%, and the description does not explain any of the three parameters. It does not clarify what user_id refers to, what day controls, or what happens when league_id is omitted, so it fails to compensate for the schema 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 identifies a user-scoped resource ('team center of a user') and hints at its content ('points per player for a matchday'), but 'team center' is ambiguous and could mean squad, lineup, or scoring summary. It does not clearly distinguish this tool from siblings like get_my_squad, get_my_lineup, or get_league_ranking.
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 alternatives such as get_my_squad, get_my_lineup, or get_league_ranking. No prerequisites, exclusions, or context for choosing this endpoint are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_leaguesList LeaguesA
List all Kickbase leagues the account is in (id, name, budget, users).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | 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, and "List" does at least signal a non-mutating read. However, it says nothing about authentication/account binding (implicit in "the account is in"), whether results are paginated, what an empty account returns, or error behavior when no token is present.
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?
A single front-loaded sentence with the verb and scope first and the returned fields in parentheses. No filler, nothing to trim.
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 zero parameters and an output schema present, the description only needs to establish scope and purpose, which it does. The parenthetical field list is arguably redundant with the output schema, but nothing essential is missing.
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 takes zero parameters, so there is nothing to disambiguate and the baseline is a 4. The description correctly implies no input is needed by framing the result as purely account-scoped.
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?
"List all Kickbase leagues the account is in" gives a specific verb (list) and a scoped resource (leagues the authenticated account belongs to), plus the fields returned. It contrasts by scope with siblings like get_league_overview and get_league_ranking, though it never names them, so the differentiation is implicit rather than explicit.
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 never states when to use this tool versus get_league_overview, get_league_ranking, or the other league-scoped siblings, nor does it mention that the returned IDs are a prerequisite for those calls. The account-wide scope hints at a discovery use case, but the agent has to infer that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_player_for_saleList Player For SaleB
Put one of your squad players on the transfer market at an asking price.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | ||
| league_id | No | ||
| player_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full behavioral burden. It reveals only that this is a mutation that puts a player on the market, but omits whether the player must be in your squad (though implied), whether listing is reversible, fees, minimum price rules, or what happens on success. This is a significant gap for a marketplace mutation.
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?
A single efficient sentence, front-loaded with the action and resource. It wastes no words, though it could carry more substance given the lack of other documentation.
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 annotations, no output schema, and 0% parameter coverage across 3 parameters, the description is far too thin. An agent lacks prerequisites (owning the player), league_id meaning, price constraints, and listing side effects.
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 but does not. It implicitly maps 'asking price' to price and 'one of your squad players' to player_id, but never mentions league_id or any format/constraint for price (integer, currency, min/max).
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 verb ('Put ... on the transfer market') and resource ('one of your squad players'), with the asking-price aspect. It is clearly distinguishable from siblings like place_offer (buying) and remove_player_from_market (unlisting).
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 when to use it (listing your own squad player for sale) but never explicitly states when-not or names alternatives like sell_player_to_kickbase or remove_player_from_market. Usage is inferable but not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_offerPlace OfferB
Place an offer on a market player. REAL TRANSACTION.
For Kickbase-listed players (sellerUserId null), offering the listed price buys the player instantly if your budget covers it. For manager listings the offer goes to the manager for accept/decline.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | ||
| league_id | No | ||
| player_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does disclose the key consequence: this is a real transaction, and for Kickbase-listed players it executes an instant purchase if budget covers it, whereas manager listings create a pending offer. It omits failure/error behavior, whether offers can be withdrawn afterward, and any permission or budget-check details.
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 short sentences with the purpose and the high-stakes warning front-loaded, followed by the two behavioral branches. No filler, though the line break mid-sentence in the first paragraph is slightly awkward.
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 3-parameter mutation tool with no annotations and no output schema, the description covers the consequential semantics well but leaves an agent unable to determine what league_id does or what the call returns on success (e.g., offer id, immediate purchase confirmation). Adequate minimum, with a real gap around optional-parameter behavior.
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 explain the three parameters and does not: player_id is never mentioned, league_id is never mentioned (its null default and what null implies is left ambiguous), and price is only referenced obliquely via 'offering the listed price'. Only the price concept is hinted at.
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 verb and resource (place an offer on a market player) and flags it as a REAL TRANSACTION, which distinguishes it from the read-only market siblings. It does not explicitly name the adjacent tools (accept_offer, decline_offer, withdraw_offer), so sibling differentiation is implicit rather than stated.
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 two-mode explanation (Kickbase-listed vs manager listing) gives useful context for what will happen, but it never says when to prefer this over list_player_for_sale/accept_offer or when not to use it (e.g., insufficient budget, already owned player). Usage is implied by the branching semantics rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_player_from_marketRemove Player From MarketB
Take your listed player off the transfer market (cancel the listing).
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No | ||
| player_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 that this cancels a listing, but does not state whether the action is reversible, whether the player returns to the squad, what permissions are required, or what happens if the player is not listed.
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 single sentence is front-loaded and efficient, with no wasted wording. Its brevity is appropriate structurally, though it leaves important behavioral and parameter details unspecified.
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 mutation tool with no annotations, no output schema, and no parameter descriptions, so the description needs to do more. It gives the core action but omits permissions, side effects, error cases, and the role of league_id, leaving an agent under-informed for safe invocation.
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 both parameters. It implies that a player ID identifies the listed player, but it does not explain player_id or league_id, nor does it clarify when league_id should be supplied.
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 and resource: taking a listed player off the transfer market, with parenthetical clarification that this cancels the listing. This clearly distinguishes it from siblings like list_player_for_sale, sell_player_to_kickbase, and withdraw_offer.
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 the tool is used when the manager wants to cancel their own active listing. However, it does not explicitly say when to use this versus related actions such as sell_player_to_kickbase or what to do if the player is not currently listed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scout_playerScout PlayerC
Add a player to your watchlist.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No | ||
| player_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. It says this adds to a watchlist but doesn't disclose idempotency, behavior when the player is already scouted, or any permission/error conditions for this mutation.
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?
A single short sentence with no waste, but it's under-specified rather than truly concise—there's room to add essential context without bloat.
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 mutation tool with no annotations, no output schema, and zero parameter documentation, the description is too thin. An agent cannot tell what league_id does or what happens on success/duplicate without reading only raw types.
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% for two parameters, so the description must compensate and does not. It never mentions player_id (required) or the optional league_id with its null default, leaving the agent to infer everything from raw schema types.
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 verb+resource: adds a player to a watchlist, which maps to the scout_player name and pairs with the sibling unscout_player. It doesn't explicitly distinguish itself from related siblings like search_players or get_scouted_players, but the action is unambiguous.
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 guidance on when to use this versus unscout_player or how it relates to get_scouted_players. Nothing about prerequisites or whether re-scouting an existing player matters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_playersSearch PlayersB
Search for any Bundesliga player by name (not only market listings).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| league_id | No | ||
| max_items | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It says nothing about result limits, pagination, whether league_id restricts the search, or what an empty result means — only that the pool is broader than market listings.
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?
A single front-loaded sentence with the scope caveat in parentheses — nothing wasted, nothing buried.
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 search tool with three undocumented parameters, no annotations, and no output schema, the description is too thin: an agent cannot tell how max_items or league_id behave or what the results contain.
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% across 3 parameters. The description only tells us 'query' is a name; league_id and max_items (default 20) get no explanation, so the description fails to compensate for the schema 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?
Clear verb+resource: search for Bundesliga players by name. The parenthetical clarifies a scope distinction (not only market listings) that separates it from market-oriented siblings, though it never names them directly.
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 '(not only market listings)' aside implies this is the broad lookup tool when players may not be on the market, but no explicit when-to-use vs. get_market_player, scout_player, or get_player_profile is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sell_player_to_kickbaseSell Player To KickbaseC
Accept Kickbase's system offer on a listed player: instant sale. REAL SALE.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No | ||
| player_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. 'instant sale' and 'REAL SALE' warn that this is a real, immediate mutation, but there is no disclosure of permissions, squad removal, fund crediting, failure cases, or irreversibility beyond emphasis.
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 and front-loaded with the core action. The all-caps 'REAL SALE' is informal but functions as an emphasis warning, and there is no verbose filler; it is simply too terse 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?
This is a destructive sale operation with no annotations, no output schema, and 0% parameter description coverage. The description omits key prerequisites, side effects such as player removal or fund credit, and error/return behavior, leaving the agent with insufficient context for safe invocation.
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 two undocumented parameters. It only vaguely implies a player via 'listed player' and never explains player_id, league_id, their formats, or the optional/default nature of league_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 states a specific action: accepting Kickbase's system offer for a listed player, resulting in an instant sale. The phrase 'system offer' helps distinguish it from generic offer-acceptance siblings like accept_offer, but it does not explicitly name alternatives or clarify when this is preferred over them.
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 conditions 'system offer' and 'listed player' imply when the tool applies, but the description gives no explicit prerequisites, when-not conditions, or alternatives such as accept_offer or list_player_for_sale. Usage is inferable but not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_lineupSet LineupB
Set the starting eleven. REAL CHANGE to your team.
player_ids: exactly 11 player ids in lineup order. formation: kickbase formation type code (use the current value from get_my_lineup context or the app; '1' is a common default).
| Name | Required | Description | Default |
|---|---|---|---|
| formation | No | 1 | |
| league_id | No | ||
| player_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It does disclose that this is a 'REAL CHANGE' and that player_ids must contain exactly 11 ids in lineup order, but it omits important mutation context such as permissions, replacement behavior, error conditions, and what the response provides.
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 and front-loaded: the core action and mutation warning appear first, followed by targeted parameter notes. There is no wasted text, and the structure makes the important constraints easy to scan.
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 mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It covers player_ids and formation adequately but leaves league_id undocumented and does not provide enough behavioral context about side effects or failure modes.
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 explains player_ids well by specifying exactly 11 ids in lineup order and adds formation guidance including a common default, but it does not mention league_id at all, leaving one parameter 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 states a specific verb and resource: 'Set the starting eleven.' It also signals that this is a meaningful mutation with 'REAL CHANGE to your team.' However, it does not explicitly contrast itself with the sibling read tool get_my_lineup, which limits sibling differentiation slightly.
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 by the phrase 'Set the starting eleven' and by the note to use get_my_lineup context for formation. But the description does not explicitly say when to call this tool versus alternatives, nor does it state prerequisites such as valid league context or ownership constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unscout_playerUnscout PlayerC
Remove a player from your watchlist.
| Name | Required | Description | Default |
|---|---|---|---|
| league_id | No | ||
| player_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 disclosure for a mutation tool. It says nothing about whether removal is idempotent, what happens if the player was never scouted, whether authentication or a specific league context is required, or what is returned.
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?
A single front-loaded sentence with zero filler. It is efficient but arguably under-specified rather than concise, leaving no room for the behavioral and parameter context an agent needs.
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 mutation tool with no annotations, no output schema, and an undocumented optional league_id, one sentence is not enough. The agent lacks the confirmation, error, and scoping information needed to call 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?
Schema description coverage is 0%, so the description must compensate and does not. player_id is self-evident, but league_id (nullable, default null, optional) is completely opaque — the description never hints at its purpose or when to supply it versus leave it null.
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 verb and resource: remove a player from the watchlist. The inverse relationship with the scout_player sibling is implicit but unmistakable, so an agent can identify the operation without reading the schema.
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 only implied: an agent infers it should be called when the user wants off a watchlist, with scout_player as the obvious counterpart. No explicit when-to-use, when-not-to-use, or mention of siblings like get_scouted_players to verify existing entries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
withdraw_offerWithdraw OfferB
Withdraw your own pending offer on a market player.
| Name | Required | Description | Default |
|---|---|---|---|
| offer_id | Yes | ||
| league_id | No | ||
| player_id | Yes |
TDQS
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 two meaningful constraints (the offer must belong to you and must still be pending), which prevents misuse on other managers' offers. It says nothing about irreversibility, whether the offer can be re-placed, or what happens to the player's market listing afterwards.
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?
One short sentence, front-loaded with the verb and the restricting qualifiers. Nothing redundant.
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?
A mutation tool with no annotations, no output schema, and three undocumented parameters needs more context than a single sentence – particularly how to obtain offer_id and whether withdrawal is reversible.
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% for all three parameters, and the description does not explain offer_id, player_id, or the optional league_id. The 15% parameter weight is where this definition loses the most value.
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 verb (withdraw) and resource (offer) plus scope ('your own pending offer on a market player'), which separates it from accept_offer, decline_offer, and remove_player_from_market. It stops short of naming the sibling it would be confused with.
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 by the qualifiers 'your own' and 'pending' – an agent can infer this applies only to its own outstanding offers. There is no explicit statement of when to prefer this over decline_offer or how to check offer state first.
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.
32 tool updates
v0.1.0- First observed
accept_offer - First observed
analyze_transfer_market - First observed
collect_daily_bonus - First observed
decline_offer - First observed
get_activity_feed - First observed
get_competition_table - First observed
get_fixtures - First observed
get_league_overview - First observed
get_league_ranking - First observed
get_manager_squad - First observed
get_manager_transfers - First observed
get_market - First observed
get_market_player - First observed
get_my_lineup - First observed
get_my_squad - First observed
get_my_status - First observed
get_player_market_value_history - First observed
get_player_performance - First observed
get_player_profile - First observed
get_player_transfer_history - First observed
get_scouted_players - First observed
get_user_teamcenter - First observed
list_leagues - First observed
list_player_for_sale - First observed
place_offer - First observed
remove_player_from_market - First observed
scout_player - First observed
search_players - First observed
sell_player_to_kickbase - First observed
set_lineup - First observed
unscout_player - First observed
withdraw_offer
TDQS
Scored across 32 tools
Most tools have clearly distinct purposes: market vs. squad vs. watchlist vs. manager data vs. real transactions are well separated by prefixes and descriptions. Minor overlap exists among the read-only player data tools (get_player_profile, get_player_performance, get_player_market_value_history, get_player_transfer_history), but descriptions distinguish their data scopes adequately.
All names use snake_case verb_noun patterns with a small, predictable verb set (get_, list_, set_, place_, accept_, decline_, withdraw_, remove_, scout_). Minor deviations like the 'my' qualifier vs. resource qualifiers and the long sell_player_to_kickbase are readable and don't break the pattern.
32 tools is heavy for this domain; while each roughly earns its place, several read-only player-data tools could be merged or parameterized. The volume forces an agent to scan many similar get_ tools to find the right one.
Coverage spans the full lifecycle: league/status oversight, squad and lineup management, market browsing, offer placement/withdrawal/acceptance, listings, watchlist, player analytics, fixtures, and a composite analysis tool. No obvious CRUD or workflow gaps remain for the Kickbase fantasy-manager domain.
Maintenance
Related MCP Connectors
NFL analytics tools for AI agents: stats, fantasy, injuries, schedules, and advanced analysis.
Free fantasy sports AI: ESPN, Sleeper and Fantrax league data for Claude and ChatGPT. Read-only.
Fantasy football for any AI agent: draft board, start/sit, waivers, your Sleeper league. Free.
Fantasy Premier League (FPL) assistant: one clear call on captain, transfers and chips.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to analyze Fantasy Premier League data, providing tools for player search, fixture analysis, manager comparisons, and strategy prompts for transfer planning and lineup selection.191MIT
- AlicenseNot gradedqualityCmaintenanceProvides tools and resources to interact with the Fantasy Premier League API, enabling player analysis, fixture insights, and team management through natural language.45 npmMIT
- AlicenseAqualityCmaintenanceManages Fantasy Premier League teams via natural language, reading team data, analyzing players and fixtures, and executing actions like transfers, captain changes, and chips.18MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to read a Comunio fantasy football league's squad, market, offers, standings, and transfers, and to act on the user's behalf by bidding, selling, and setting the lineup.191MIT