Runekist
Total Battle clan insights, chest rewards, and stacking calculations through Runekist.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"runekist": {
"url": "https://runekist.com/mcp"
}
}
}远程端点
https://runekist.com/mcpstreamable-http它能做什么
工具清单
工具(24)
⚪attribute_cp_receipt(clan_id, reason, receipt_id, sender_progress_id)
Credit a pending silver receipt after sender review. Required scopes: cp:write
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"reason": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"receipt_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"sender_progress_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"clan_id",
"reason",
"receipt_id",
"sender_progress_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}⚪dismiss_cp_report(clan_id, reason, source_id)
Dismiss an unhandled report with an audit reason. Required scopes: cp:write
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"reason": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"source_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"clan_id",
"reason",
"source_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢find_players(clan_id, query)
Find bounded player candidates in one clan. Similar names remain separate candidates. Required scopes: insights:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"query": {
"maxLength": 500,
"minLength": 0,
"type": "string"
}
},
"required": [
"clan_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢get_chest_reward_insights(clan_id, filters)
Read aggregate observed chest rewards with denominators and coverage. This is not official game probability. Required scopes: rewards:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"filters": {
"additionalProperties": false,
"properties": {
"chest_definition_id": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"chest_type_code": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"from": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"normalization_family": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"to": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"view_by": {
"enum": [
"drop_rate",
"yield"
],
"type": "string"
}
},
"type": "object"
}
},
"required": [
"clan_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢get_clan_content(clan_id, kind)
Read visible rules, announcements, events and the caller's outstanding tasks. Required scopes: content:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"kind": {
"enum": [
"rules",
"announcements",
"events",
"tasks"
],
"type": "string"
}
},
"required": [
"clan_id",
"kind"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢get_context
List authorized clans, roles, locale, presentation timezone, and the Total Battle game-day boundary. `game_day.timezone` is UTC; `starts_at` is when a new game day begins, `reset_at` is the matching daily boundary, and `duration_hours` is its length. Use this boundary instead of calendar midnight for today, yesterday, this or previous game day, and daily game periods unless a tool or report explicitly defines its own window. `presentation_timezone` is for display only and never shifts the UTC boundary; at a 17:00 UTC reset, each game day runs from 17:00 UTC to 17:00 UTC the next day, regardless of local timezone. Required scopes: context:read
输入模式
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢get_cp_balance(all, clan_id)
Read period-independent personal silver balances, or all clan balances for a superior. Required scopes: cp:read
输入模式
{
"type": "object",
"properties": {
"all": {
"type": "boolean"
},
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"clan_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢get_cp_history(clan_id, page, page_size, progress_id)
Read a bounded page of silver entries for one game progress ID. Required scopes: cp:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"page": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"page_size": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"progress_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"clan_id",
"progress_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢get_game_calendar(calendar_kind, clan_id, cycle_filters, from, page, ...)
Read bounded occurrences of the configured global game schedule, including historical UTC start/end bounds. This is not observed game evidence or clan-authored content. Officer access required. Discover cycle filters in cycle_options; windows are at most 90 days. Required scopes: context:read
输入模式
{
"type": "object",
"properties": {
"calendar_kind": {
"enum": [
"main",
"seasonal"
],
"type": "string"
},
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"cycle_filters": {
"items": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"from": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"page": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"page_size": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"to": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"clan_id",
"from",
"to"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢get_insight(ledger_page_size, clan_id, evidence_page, period_selector, view, ...)
Read officer-authorized Insights. Requirements: legacy period_id returns full detail; detail=summary enables bounded score pages. Example: family=requirements, detail=summary, period_selector=last_completed, period_count=4, aggregate=player, sort=total_points, page_size=10. Or use period_id / period_ids (up to 12), membership_scope=period_participants or current_roster, member_search, exact player_ids or player_names (same-name identities stay separate), sort, direction, page. Completed means ends_at has passed in UTC. Preserved scores use the explicitly pinned historical publication. Ready scores match current inputs; finalized scores use the last published historical snapshot with stat_version_id and snapshot_completed_at. Missing/stale stats remain unavailable, not zero. Raw total_points comes from that snapshot and differs from fine-adjusted rank_points; live rules, fines and identity presentation may still change. Other family filters: chests (period_id, search, selection, sort=chest_count|total_points, direction, page, page_size; selected total_points covers selected chest types and default order remains chest_count); resources and dragon_coins (period_id, from, to, resource where applicable, search, summary_page, activity_page, page_size, ledger_search, ledger_page, ledger_page_size); forest_essence (period_id, from, to, search, summary_page, activity_page, page_size); titles (period_id, search, title_id, member_search, member_page, member_page_size); gold_pass (status, event_number, search, sort=nickname|first_observed_with_gold_pass_at|first_observed|state, direction, page, page_size; timestamp nulls last in both directions; state order with, without, unknown ascending); roster (default events: search, sort, direction, page, page_size; view=periods adds ISO-8601 at and sort=joined_at|playerName); vaults (period_id, day, interval, player, evidence_page, evidence_page_size, search, sort, page, page_size); journal (period_id, page, page_size); ancients (period_id, event_id); guardsmen and fines (period_id). Generic keys outside a family's list are rejected. Gold Pass first_observed_with_gold_pass_at is first observation with a pass, not purchase time. Roster periods are observed snapshots, not exact in-game action times. Required scopes: insights:read
输入模式
{
"type": "object",
"properties": {
"ledger_page_size": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"evidence_page": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"period_selector": {
"enum": [
"last_completed"
],
"type": "string"
},
"view": {
"enum": [
"periods"
],
"type": "string"
},
"day": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"detail": {
"enum": [
"summary",
"full"
],
"type": "string"
},
"evidence_page_size": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"selection": {
"items": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"maxItems": 100,
"type": "array"
},
"interval": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string"
},
"status": {
"enum": [
"with",
"without",
"unknown",
"all"
],
"type": "string"
},
"at": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"member_page": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"period_ids": {
"items": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"minItems": 1,
"type": "array"
},
"member_page_size": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"min_failed_periods": {
"maximum": 12,
"minimum": 1,
"type": "integer"
},
"event_number": {
"maximum": 10000,
"minimum": 1,
"type": "integer"
},
"rule_id": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"page_size": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"player_names": {
"items": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"maxItems": 100,
"type": "array"
},
"period_count": {
"maximum": 12,
"minimum": 1,
"type": "integer"
},
"aggregate": {
"enum": [
"player"
],
"type": "string"
},
"ledger_search": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"title_id": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"from": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"resource": {
"enum": [
"clan_speedup",
"silver",
"lumber",
"iron",
"stone",
"food",
"scientific_tractates",
"boards",
"steel",
"cement",
"dragon_coins",
"forest_essence",
"torch_of_olympus_clan_fragment",
"chronoglyph_clan_fragment",
"hermes_loyalty_level"
],
"type": "string"
},
"membership_scope": {
"enum": [
"period_participants",
"current_roster"
],
"type": "string"
},
"sort": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"period_id": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"summary_page": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"search": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"event_id": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"ledger_page": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"player_ids": {
"items": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"maxItems": 100,
"type": "array"
},
"player": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"activity_page": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"page": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"to": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"family": {
"enum": [
"chests",
"resources",
"forest_essence",
"dragon_coins",
"ancients",
"vaults",
"titles",
"guardsmen",
"gold_pass",
"roster",
"journal",
"requirements",
"fines"
],
"type": "string"
},
"member_search": {
"maxLength": 500,
"minLength": 0,
"type": "string"
}
},
"required": [
"clan_id",
"family"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢get_insight_options(clan_id, family, search)
List authorized periods, report families, resources and player filter candidates. Required scopes: insights:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"family": {
"enum": [
"chests",
"resources",
"forest_essence",
"dragon_coins",
"ancients",
"vaults",
"titles",
"guardsmen",
"gold_pass",
"roster",
"journal",
"requirements",
"fines"
],
"type": "string"
},
"search": {
"maxLength": 500,
"minLength": 0,
"type": "string"
}
},
"required": [
"clan_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢get_my_progress(clan_id, period_id)
Read the caller's personal progress, requirements and collection freshness. Required scopes: personal:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"period_id": {
"maxLength": 500,
"minLength": 0,
"type": "string"
}
},
"required": [
"clan_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢legacy_stacking(input, layout_id, operation)
List, load or calculate legacy stacking. Beta layouts and writes are rejected. Required scopes: stacking:calculate
输入模式
{
"type": "object",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"authority": {
"oneOf": [
{
"maximum": 50000000,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"minLength": 1,
"type": "string"
}
]
},
"calculator": {
"enum": [
"legacy"
],
"type": "string"
},
"death_order_buffer": {
"oneOf": [
{
"maximum": 50000000,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"minLength": 1,
"type": "string"
}
]
},
"dominance": {
"oneOf": [
{
"maximum": 50000000,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"minLength": 1,
"type": "string"
}
]
},
"engineering_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"g_flying_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"g_melee_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"g_mounted_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"g_ranged_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"leadership": {
"oneOf": [
{
"maximum": 50000000,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"minLength": 1,
"type": "string"
}
]
},
"merc_g_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"merc_m_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"merc_s_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"merc_x_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"monsters_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"s_flying_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"s_melee_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"s_mounted_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"s_ranged_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"selected_troops": {
"items": {
"maxLength": 200,
"type": "string"
},
"maxItems": 500,
"type": "array"
},
"siege_tiers": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"stat_bonus_percent": {
"oneOf": [
{
"maximum": 50000000,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"minLength": 1,
"type": "string"
}
]
},
"stat_bonuses": {
"additionalProperties": false,
"properties": {
"catapults": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"epic_hunter": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"g": {
"additionalProperties": false,
"properties": {
"flying": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"melee": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"mounted": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"ranged": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"m": {
"additionalProperties": false,
"properties": {
"flying": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"melee": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"mounted": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"ranged": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
},
"s": {
"additionalProperties": false,
"properties": {
"flying": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"melee": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"mounted": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
},
"ranged": {
"additionalProperties": false,
"properties": {
"health": {
"maximum": 10000,
"minimum": -99,
"type": "number"
},
"strength": {
"maximum": 10000,
"minimum": -99,
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"tier_unlocks": {
"additionalProperties": false,
"properties": {
"engineering": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"g_flying": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"g_melee": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"g_mounted": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"g_ranged": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"merc_g": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"merc_m": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"merc_s": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"merc_x": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"monsters": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"s_flying": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"s_melee": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"s_mounted": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"s_ranged": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
},
"siege": {
"oneOf": [
{
"maximum": 9,
"minimum": 0,
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
},
{
"items": {
"oneOf": [
{
"type": "integer"
},
{
"maxLength": 50,
"type": "string"
}
]
},
"maxItems": 10,
"type": "array"
}
]
}
},
"type": "object"
}
},
"type": "object"
},
"layout_id": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"operation": {
"enum": [
"options",
"list_layouts",
"load_layout",
"calculate"
],
"type": "string"
}
},
"required": [
"operation"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢list_cp_collector_costs(clan_id, limit)
Read recent collector runs with itemized base, caravan, and report credit reservations and settlements. Required scopes: cp:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"limit": {
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"required": [
"clan_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢list_cp_reports(clan_id, page, page_size)
Read a bounded page of unhandled CP reports for clan leadership. Required scopes: cp:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"page": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"page_size": {
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"required": [
"clan_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢list_periods(clan_id)
List bounded stored Runekist reporting periods, which are not automatically game days, without creating period rows. Required scopes: context:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"clan_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟡post_cp_run(clan_id, cp_denominator, idempotency_key, name, occurred_at, ...)
Post a named selection of CP reports after reviewing its exact preview. Required scopes: cp:write
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"cp_denominator": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"idempotency_key": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"name": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"occurred_at": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"silver_numerator": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"source_ids": {
"items": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"clan_id",
"cp_denominator",
"idempotency_key",
"name",
"silver_numerator",
"source_ids"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟡post_manual_cp_run(clan_id, cp_denominator, idempotency_key, journal_entry_uuid, name, ...)
Post a historical manual CP run with explicit progress IDs and a UTC date. Required scopes: cp:write
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"cp_denominator": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"idempotency_key": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"journal_entry_uuid": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"name": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"occurred_at": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"participants": {
"items": {
"additionalProperties": false,
"properties": {
"cp": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"display_name": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"progress_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"progress_id",
"cp"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"silver_numerator": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"clan_id",
"cp_denominator",
"idempotency_key",
"name",
"occurred_at",
"participants",
"silver_numerator"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟢preview_cp_run(clan_id, cp_denominator, silver_numerator, source_ids)
Preview exact member charges for selected ready report sources without posting. Required scopes: cp:read
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"cp_denominator": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"silver_numerator": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"source_ids": {
"items": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"clan_id",
"cp_denominator",
"silver_numerator",
"source_ids"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}⚪reconcile_manual_cp_run(clan_id, journal_uuid, manual_source_id)
Link a historical manual CP charge to a subsequently observed Journal UUID without charging again. Required scopes: cp:write
输入模式
{
"type": "object",
"properties": {
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"journal_uuid": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"manual_source_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"clan_id",
"journal_uuid",
"manual_source_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}⚪record_cp_payment(amount, clan_id, idempotency_key, progress_id, reason)
Record exact received silver for a game progress ID. Required scopes: cp:write
输入模式
{
"type": "object",
"properties": {
"amount": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"idempotency_key": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"progress_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"reason": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"amount",
"clan_id",
"idempotency_key",
"progress_id",
"reason"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}⚪reverse_cp_run(batch_id, clan_id, reason)
Reverse a posted CP run with an audit reason. Required scopes: cp:write
输入模式
{
"type": "object",
"properties": {
"batch_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"reason": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"batch_id",
"clan_id",
"reason"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}🟡set_cp_options(caravans_enabled, caravans_since, clan_id, enabled, reports_enabled)
Set default-off CP ledger and independent collector addons where permitted. Required scopes: cp:write
输入模式
{
"type": "object",
"properties": {
"caravans_enabled": {
"type": "boolean"
},
"caravans_since": {
"maxLength": 500,
"minLength": 0,
"type": "string"
},
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"enabled": {
"type": "boolean"
},
"reports_enabled": {
"type": "boolean"
}
},
"required": [
"clan_id",
"enabled"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}⚪transfer_cp_silver(amount, clan_id, from_progress_id, idempotency_key, reason, ...)
Transfer exact silver between two game progress IDs. Required scopes: cp:write
输入模式
{
"type": "object",
"properties": {
"amount": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"clan_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"from_progress_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"idempotency_key": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"reason": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"to_progress_id": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"amount",
"clan_id",
"from_progress_id",
"idempotency_key",
"reason",
"to_progress_id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"coverage": {
"type": "object"
},
"data": {},
"effective_scope": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"provenance": {
"type": "object"
},
"schema_version": {
"type": "string"
}
},
"required": [
"schema_version",
"effective_scope",
"generated_at",
"data",
"coverage",
"provenance"
],
"additionalProperties": false
}社区
证据