Tools: Clans
The Clans tools your agent sees through Elixir MCP: what each one answers, what it takes, and which capability it needs.
Clans
7 of the 47 tools in the registry. Generated from what tools/list returns, so this is exactly what your agent sees.
Clan members' timeline clans_members_timeline
The members' daily series for a clan, yours by default: for every player the roster placed in the clan in the window (or player_tags), one point per game day with the roster's metrics (trophies, donations, donations_received, arena_id, clan_rank, previous_clan_rank, game_last_seen_at) and, for members whose profile is recorded, any profile metric of players_timeline. Names are the current ones. kind selects the pre_reset or season_roll row; granularity week keeps each ISO week's last row. verbosity compact keeps each member's first and last point and the delta.
Read-only ·
requires cr:read
| Argument | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | no | Clan tag like #J2RGCRVG. Omit to mean your recorded clan. |
player_tags |
array | no | A subset of members; omit for every player the roster placed in the clan in the window. |
metrics |
array | no | Which series to return; default trophies and donations. |
from |
string | no | YYYY-MM-DD (a game day, the 10:00Z grid), inclusive. Built from daily snapshots, so only whole days are meaningful; an instant is floored to its game day and the response says so. |
to |
string | no | YYYY-MM-DD (a game day, the 10:00Z grid), inclusive. Built from daily snapshots, so only whole days are meaningful; an instant is floored to its game day and the response says so. |
days |
integer | no | Last N game days of the series, today included: sugar for from. Or use from/to. |
weeks |
integer | no | Last N weeks (7N game days) of the series, today included: sugar for from. Or use from/to. |
season |
string | integer | no | Bound the window to one season: 'current' (to date), 'previous', the month the API names it by (2026-08), or the river race season number (135). from/to/days/weeks given win over it. |
timezone |
string | no | IANA zone (e.g. Europe/Paris) for this call's date-only bounds and local labels. Default: the account's timezone. Agents serving people in several zones pass the asker's. |
granularity |
string | no | week returns the last row of each ISO week. (day · week) |
kind |
string | no | Which row of the day: daily (the day's last observation), pre_reset (the highest weekly donation counter seen before the Monday reset: a lower bound on the week's donations, since donations after the last read before the reset are not in it) or season_roll (the hour before the season rolls). (daily · pre_reset · season_roll) |
limit |
integer | no | Most members to return, in tag order (the first N by tag, not the most active); a clan with more than N members with points sets truncated. Pass player_tags to choose whom, or raise limit to 50 for a whole clan. |
verbosity |
string | no | compact: per member the first and last point and the delta of each numeric metric, no series. (full · compact) |
What comes back (declared outputSchema; fields marked required are always present):
| Field | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | yes | Clash Royale tag, e.g. #20JJJ2CCRU. |
applied |
object | yes | |
member_count |
integer | yes | Members on this page (limit caps it), not the clan's size; truncated says whether more members had points. |
truncated |
boolean | no | true when more members had points in the window than limit returned (7.1.4). |
members |
array | yes | |
notes |
array | yes | One-sentence caveats to repeat when quoting the numbers. |
docs |
string | yes | page or page#section for elixir_docs / elixir://docs. |
meta |
object | yes | The envelope (docs: responses). |
Clan participation by week clans_participation
Every open member's participation, week by week, for the caller's clan by default: per ISO week battles, ranked battles and the donation counter at week end; per recorded war week decks used, and the member's role and presence at each war finish. Members who left in the window are listed apart. Each row is an array named by columns. No daily split. Per member: observed join, last recorded battle and days since it, role changes. Facts with recording horizons, never a rating. weeks 1 to 8, default 5; current week is partial. verbosity compact keeps weekly decks only.
Read-only ·
requires cr:read
| Argument | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | no | Clan tag like #J2RGCRVG. Omit to mean your recorded clan. |
weeks |
integer | no | How many ISO weeks back, the current partial week included. |
verbosity |
string | no | compact: war_decks only; no war_points. (full · compact) |
What comes back (declared outputSchema; fields marked required are always present):
| Field | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | yes | Clash Royale tag, e.g. #20JJJ2CCRU. |
name |
string | null | no | |
applied |
object | yes | |
recording_active_since |
string | null | no | |
first_roster_observed_at |
string | null | no | |
basis |
string | yes | (recorded · roster_and_war_only) |
weeks |
array | yes | |
war_weeks |
array | yes | |
columns |
object | no | 9.16.0, MCP only: the agent's read is a table. Each members and former_members row is an array whose entries these name, in order: the same fields /api/v1 and the web app serve as objects. |
member_count |
integer | no | |
members |
array | yes | Per-member columns aligned to weeks[] (battles, ranked_battles, donations) and war_weeks[] (war_decks, war_points), one entry each in order; null is unknown, never zero. war_decks is the game's weekly count; nothing is split by war day, because the API does not say which day a deck was played and a war day's rollover cannot be placed reliably at Elixir's scale. Over MCP (9.16.0) each row is an array named by columns.members. |
role_history_since |
string | null | no | 9.13.0: role changes are recorded from this instant, the record's own first live roster read of the clan; role_at_war_finish is null for a finish before it. |
former_member_count |
integer | no | |
former_members |
array | no | 9.13.0: members who left inside the window and are not back, one row each for their latest stint, with the same columns aligned to weeks[] and war_weeks[]; battles and donations count only this clan's. Over MCP (9.16.0) each row is an array named by columns.former_members. |
notes |
array | yes | One-sentence caveats to repeat when quoting the numbers. |
docs |
string | yes | page or page#section for elixir_docs / elixir://docs. |
meta |
object | yes | The envelope (docs: responses). |
Clan roster clans_roster
A clan's roster, yours by default: per member the role, latest trophies and donations, last recorded battle and the game's own last-seen, tenure, badge count and the lifetime block as of the latest profile poll (null for a member whose profile is not recorded), plus recent join, leave and role events. verbosity compact keeps the name, the member count and the role breakdown. live: true asks for a fresh read of ANY clan, recorded or not: served if in hand, otherwise queued while the record answers with live_status pending.
Read-only ·
requires cr:read · reaches the live Clash Royale API, outside the record
| Argument | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | no | Clan tag like #J2RGCRVG. Omit to mean your recorded clan. |
verbosity |
string | no | compact: name, member count and role counts only; no member list, no events. (full · compact) |
live |
boolean | no | Ask for a read of this clan no older than two minutes; works for a clan nobody records. Served if in hand, otherwise queued while the record answers with live_status pending. |
What comes back (declared outputSchema; fields marked required are always present):
| Field | Type | Required | Notes |
|---|---|---|---|
live_status |
object | no | With live: true: whether a fresh read was served or is pending (retry_after_s says when to call again). |
clan_tag |
string | yes | Clash Royale tag, e.g. #20JJJ2CCRU. |
applied |
object | yes | |
name |
string | null | yes | |
type |
string | null | no | open, inviteOnly or closed, as the last roster poll carried it (3.15.0). |
location_id |
integer | null | no | |
description |
string | null | no | |
clan_score |
integer | null | no | |
clan_war_trophies |
integer | null | no | |
required_trophies |
integer | null | no | The trophies the clan asks of a joiner, as of scores_observed_at (9.17.0). |
donations_per_week |
integer | null | no | The game's clan donations-per-week figure, as of scores_observed_at (9.17.0). |
scores_observed_at |
string | null | no | |
member_count |
integer | yes | |
role_counts |
object | no | |
members |
array | no | |
events_recorded_since |
string | null | no | |
recent_events |
array | no | |
notes |
array | yes | One-sentence caveats to repeat when quoting the numbers. |
docs |
string | yes | page or page#section for elixir_docs / elixir://docs. |
meta |
object | yes | The envelope (docs: responses). |
Clan standings clans_standings
Clan-relative performance, yours by default: every open member's recorded W/L/D, win rate, ladder trophy net and current streak in ONE call over a window (default 30 days). For a 24-hour member scan use days: 1, min_battles: 1; from/to also supports shorter windows. Ranked with the clan median; members below min_battles are listed below the floor. Per-battle detail for one member is battles_performance.
Read-only ·
requires cr:read
| Argument | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | no | Clan tag like #J2RGCRVG. Omit to mean your recorded clan. |
from |
string | no | Start of the window, inclusive: an ISO instant, or YYYY-MM-DD resolving to local midnight in your timezone. |
to |
string | no | End of the window, exclusive: an ISO instant as given; YYYY-MM-DD covers that WHOLE local day. Omit for up to now. |
days |
integer | no | Last N days (default 30); or use from/to. |
weeks |
integer | no | Last N weeks, ending now: sugar for from. Or use from/to. |
timezone |
string | no | IANA zone (e.g. Europe/Paris) for this call's date-only bounds and local labels. Default: the account's timezone. Agents serving people in several zones pass the asker's. |
season |
string | integer | no | Bound the window to one season: 'current' (to date), 'previous', the month the API names it by (2026-08), or the river race season number (135). from/to/days/weeks given win over it. |
min_battles |
integer | no | Decided battles (wins + losses) required to be ranked. |
mode |
string | no | Mode group: ladder (Trophy Road to 14,000), ranked (Path of Legends), war, casual (clanmate battles even when tagged), challenge, event (any other battle with an event tag, including the seasonal Trophy Road past 14,000), tournament. Omit for every mode. (casual · challenge · event · ladder · ranked · tournament · war) |
verbosity |
string | no | This tool has one size: compact is accepted and changes nothing (the response says so in a note). (full · compact) |
What comes back (declared outputSchema; fields marked required are always present):
| Field | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | yes | Clash Royale tag, e.g. #20JJJ2CCRU. |
applied |
object | yes | |
ranked_members |
integer | yes | |
median_win_rate |
number | null | yes | 0..1, three decimals; null when the denominator is zero. |
comparable |
boolean | no | false when two ranked members' records come predominantly from different mode groups or from level gaps half a level apart; the first note then names them (3.16.0). |
basis |
string | no | recorded when the clan's members' battle logs are recorded; roster_and_war_only for an activity-scope clan, where every count is zero by construction for a member whose log_recorded is false (3.16.0). (recorded · roster_and_war_only) |
members |
array | yes | |
below_floor |
array | yes | |
notes |
array | yes | One-sentence caveats to repeat when quoting the numbers. |
docs |
string | yes | page or page#section for elixir_docs / elixir://docs. |
meta |
object | yes | The envelope (docs: responses). |
Clan timeline clans_timeline
A clan's daily series, yours by default, one point per game day from the roster: clan_score, clan_war_trophies, members, donations_per_week, required_trophies, and the aggregates over that day's member rows (total_member_trophies, avg_member_trophies, members_seen, members_with_profile); the profile-derived aggregates (avg_member_wins, avg_member_collection_level, the 12000+/14000+/6-years+/collection-1000+ counts) are metrics to ask for. kind selects the pre_reset or season_roll row; granularity week keeps the last row of each ISO week. verbosity compact keeps day and the five clan metrics.
Read-only ·
requires cr:read
| Argument | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | no | Clan tag like #J2RGCRVG. Omit to mean your recorded clan. |
metrics |
array | no | Which series to return; default the five clan metrics and the three roster aggregates. |
from |
string | no | YYYY-MM-DD (a game day, the 10:00Z grid), inclusive. Built from daily snapshots, so only whole days are meaningful; an instant is floored to its game day and the response says so. |
to |
string | no | YYYY-MM-DD (a game day, the 10:00Z grid), inclusive. Built from daily snapshots, so only whole days are meaningful; an instant is floored to its game day and the response says so. |
days |
integer | no | Last N game days of the series, today included: sugar for from. Or use from/to. |
weeks |
integer | no | Last N weeks (7N game days) of the series, today included: sugar for from. Or use from/to. |
season |
string | integer | no | Bound the window to one season: 'current' (to date), 'previous', the month the API names it by (2026-08), or the river race season number (135). from/to/days/weeks given win over it. |
timezone |
string | no | IANA zone (e.g. Europe/Paris) for this call's date-only bounds and local labels. Default: the account's timezone. Agents serving people in several zones pass the asker's. |
granularity |
string | no | week returns the last row of each ISO week. (day · week) |
kind |
string | no | Which row of the day: daily (the day's last observation), pre_reset (the highest weekly donation counter seen before the Monday reset: a lower bound on the week's donations, since donations after the last read before the reset are not in it) or season_roll (the hour before the season rolls). (daily · pre_reset · season_roll) |
verbosity |
string | no | compact: day and the five clan metrics per point, or the metrics named. (full · compact) |
What comes back (declared outputSchema; fields marked required are always present):
| Field | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | yes | Clash Royale tag, e.g. #20JJJ2CCRU. |
applied |
object | yes | |
series_available_from |
string | null | yes | |
series |
array | yes | |
notes |
array | yes | One-sentence caveats to repeat when quoting the numbers. |
docs |
string | yes | page or page#section for elixir_docs / elixir://docs. |
meta |
object | yes | The envelope (docs: responses). |
My view in Elixir Clan clans_my_view
Your own view of your clan in Elixir Clan, your primary player's clan by default: the policy summary, your own standing line, and the Actions waiting for you as summary lines, each with a url to open it in Clan. For your own connection and a player you have verified. From Clan's last evaluation; never another member's line or clock, never a removal Action, never an Action's evidence or log. Read-only: deciding happens in Clan.
Read-only ·
requires cr:read
| Argument | Type | Required | Notes |
|---|---|---|---|
clan_tag |
string | no | Clan tag like #J2RGCRVG. Omit to mean your primary player's clan; a clan named must be one Elixir records. |
verbosity |
string | no | This tool has one size: compact is accepted and changes nothing (the response says so in a note). (full · compact) |
What comes back (declared outputSchema; fields marked required are always present):
| Field | Type | Required | Notes |
|---|---|---|---|
view |
object | yes | |
applied |
object | yes | |
notes |
array | yes | |
docs |
string | yes | |
meta |
object | yes |
Private policy context clans_context
Your assigned clan’s explicit war participation intent and policy revision, for an agent with a separately approved private-context grant. No clan argument: the current assignment, actual owner and verified current membership are checked on every read. Unknown intent is never a participation decision. Refresh at startup, before planning and immediately before firing an affected routine; defer that routine on unknown or error. No scoring, notes, member decisions or other private policy fields.
Read-only ·
requires cr:read
| Argument | Type | Required | Notes |
|---|---|---|---|
verbosity |
string | no | This tool has one size: compact is accepted and changes nothing (the response says so in a note). (full · compact) |
What comes back (declared outputSchema; fields marked required are always present):
| Field | Type | Required | Notes |
|---|---|---|---|
context |
object | yes | Private core context. This schema grants no access and declares no MCP tool. read_at times a successful current policy read; policy_saved_at is save provenance, not freshness. HTTP failures have no usable context. |
applied |
object | yes | |
notes |
array | yes | |
docs |
string | yes | |
meta |
object | yes |