Serveur MCP

Token Command Center

io.github.ysgjay/token-command-center

Ce que fait ce MCP

Provides token metrics, revenue and flow analysis, unlock calendars, health scores, alerts, comparisons, screening, and historical series for crypto assets.

tc_alerts
Recent threshold alerts (revenue deterioration, emission acceleration, unlock cliffs, flow flips).
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'token': {'type': 'string'}, 'severity': {'type': 'string'}}, 'additionalProperties': False}
tc_brief
The whole Book in about 1.5 KB: freshness and caveats, verdict and lens mix, biggest 30-day revenue movers, highest health, latest high alerts, plus a plain-text version. Use for market-wide questions.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
tc_calendar
Upcoming dated catalysts (unlocks, emission steps, votes, launches) across the Book, soonest first, at most 20. Optional token slug and horizon in days (default 30, max 180). Text is analyst notes.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'days': {'type': 'integer', 'maximum': 180, 'minimum': 0}, 'token': {'type': 'string', 'description': 'Token slug to filter to.'}}, 'additionalProperties': False}
tc_categories
Token counts per category.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
tc_compare
Two to six tokens side by side: price, valuation, revenue and its 7/30-day change, holders revenue, net-flow yield, P/S, unlocks, health with six pillar scores, verdict, lens, and any frozen-price or old-scorecard flags. Accepts slugs or unambiguous symbols.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['tokens'], 'properties': {'fields': {'type': 'array', 'items': {'enum': ['alerts', 'arr', 'arr_30d', 'arr_7d', 'category', 'conflicts', 'date', 'fdv', 'flow_model', 'health', 'health_change', 'holders_rev', 'lens', 'mcap', 'name', 'net_flow', 'nf_yield', 'pct_unlocked', 'price', 'price_frozen_days', 'ps', 'scorecard_age_days', 'stale', 'symbol', 'tier', 'unlock_30d', 'verdict'], 'type': 'string'}, 'maxItems': 18}, 'tokens': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 6, 'minItems': 1}}, 'additionalProperties': False}
tc_get_report
Newest markdown scorecard for a slug (clipped). Long; prefer tc_get_token unless the user asks for the write-up.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}}, 'additionalProperties': False}
tc_get_token
One token's full scorecard (about 8 KB): six pillar scores, the stat grid with a provenance tag per figure, ARR change over 1D/7D/30D/1Y, 30-point history, revenue basis, analyst facts, lens, links, gaps, and this token's alerts and source conflicts. Use only when tc_get_token_digest lacks what the user asked for.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Token slug, e.g. geodnet.'}}, 'additionalProperties': False}
tc_get_token_digest
One token in about 1 KB: latest price, valuation, revenue and flows, 7- and 30-day changes, health score with its six pillar scores and verdict, supply unlocks, lens, and data-quality counts. Prefer this over tc_get_token.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Token slug, e.g. geodnet.'}}, 'additionalProperties': False}
tc_ledger
Prediction ledger tallies: open and graded call counts, next grading date, calls by side. Counts only; individual calls are not published.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
tc_list_tokens
Page through scored tokens with optional filters. Sorts: health, mcap, revenue, net_flow, ps, unlock_30d, alerts, name.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'sort': {'enum': ['alerts', 'health', 'mcap', 'name', 'net_flow', 'ps', 'revenue', 'unlock_30d'], 'type': 'string'}, 'tier': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Substring of slug, symbol or name.'}, 'offset': {'type': 'integer', 'minimum': 0}, 'verdict': {'type': 'string', 'description': 'Real, Mid or Theater.'}, 'category': {'type': 'string'}, 'descending': {'type': 'boolean'}}, 'additionalProperties': False}
tc_moves
Biggest movers: kind=movers ranks 30-day revenue change against price change (divergence); kind=momentum ranks a 14-day composite of revenue, net-flow yield and health changes. Up to 8 up and 8 down. Rows marked base_effect started from almost zero.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'kind': {'enum': ['movers', 'momentum'], 'type': 'string'}}, 'additionalProperties': False}
tc_resolve
Turn a symbol, $cashtag, name or slug into Token Command Center slugs. Returns exact (one slug) or ambiguous=true with every candidate when tokens share a symbol (e.g. POL); never guess between them. Call before a digest when the user names a token.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string'}}, 'additionalProperties': False}
tc_screen
Screen the whole Book (all scored tokens) and get compact ranked rows. Filters: lens (long, short, no-edge), verdict (Real, Mid, Theater), tier, category, flow_model (comma-separated for several), stale, query; numeric ranges via min/max objects, e.g. {"min": {"health": 60, "arr": 1000000}, "max": {"ps": 20}}. Fields: alerts, arr (annualized revenue, USD), arr_30d (ARR change over 30 days, %), arr_7d (ARR change over 7 days, %), category, conflicts, date, fdv, flow_model, health (0-100 health score, set when the scorecard is written), health_change, holders_rev (annualized revenue to holders, USD), lens (long, short or no-edge), mcap, name, net_flow (holders revenue minus emissions, USD/yr), nf_yield (net flow / market cap, %), pct_unlocked, price, price_frozen_days, ps (market cap / annualized revenue), scorecard_age_days, stale, symbol, tier, unlock_30d (% of supply unlocking in the next 30 days), verdict (value accrual: Real, Mid or Theater). Tokens with no value for a ranged field are excluded, never counted as zero.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'max': {'type': 'object', 'description': 'Upper bounds by numeric field.', 'additionalProperties': {'type': 'number'}}, 'min': {'type': 'object', 'description': 'Lower bounds by numeric field.', 'additionalProperties': {'type': 'number'}}, 'lens': {'type': 'string'}, 'sort': {'enum': ['alerts', 'arr', 'arr_30d', 'arr_7d', 'category', 'conflicts', 'date', 'fdv', 'flow_model', 'health', 'health_change', 'holders_rev', 'lens', 'mcap', 'name', 'net_flow', 'nf_yield', 'pct_unlocked', 'price', 'price_frozen_days', 'ps', 'scorecard_age_days', 'stale', 'symbol', 'tier', 'unlock_30d', 'verdict'], 'type': 'string'}, 'tier': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'order': {'enum': ['desc', 'asc'], 'type': 'string'}, 'query': {'type': 'string', 'description': 'Substring of slug, symbol or name.'}, 'stale': {'type': 'boolean'}, 'fields': {'type': 'array', 'items': {'enum': ['alerts', 'arr', 'arr_30d', 'arr_7d', 'category', 'conflicts', 'date', 'fdv', 'flow_model', 'health', 'health_change', 'holders_rev', 'lens', 'mcap', 'name', 'net_flow', 'nf_yield', 'pct_unlocked', 'price', 'price_frozen_days', 'ps', 'scorecard_age_days', 'stale', 'symbol', 'tier', 'unlock_30d', 'verdict'], 'type': 'string'}, 'maxItems': 12}, 'verdict': {'type': 'string'}, 'category': {'type': 'string'}, 'flow_model': {'type': 'string'}}, 'additionalProperties': False}
tc_search_tokens
Find slugs by symbol or name before calling tc_get_token_digest.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string'}}, 'additionalProperties': False}
tc_series
One token's history as chartable series from TCC's daily snapshots (since 2026-06-09). Each metric returns `summary` {first, last, change_pct, min, max} first — answer trend questions from it — then at most 60 points (weekly by default). Frozen price feeds are null, not flat. Metrics: price, mcap, fdv, ann_fees, ann_revenue, ann_holders_rev, net_flow_usd, ps_ratio, health_score, ann_emissions_usd, circ_supply, total_supply, pct_unlocked, daily_fees, daily_revenue, daily_holders_rev, price_llama (daily_* and price_llama are DefiLlama, years deep; the rest are TCC snapshots).
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Token slug, e.g. geodnet. Use tc_resolve first for a symbol.'}, 'range': {'enum': ['30d', '90d', '1y', 'all'], 'type': 'string'}, 'metrics': {'type': 'array', 'items': {'enum': ['ann_emissions_usd', 'ann_fees', 'ann_holders_rev', 'ann_revenue', 'circ_supply', 'daily_fees', 'daily_holders_rev', 'daily_revenue', 'fdv', 'health_score', 'mcap', 'net_flow_usd', 'pct_unlocked', 'price', 'price_llama', 'ps_ratio', 'total_supply'], 'type': 'string'}, 'maxItems': 6}, 'interval': {'enum': ['1d', '1w', '1m'], 'type': 'string'}}, 'additionalProperties': False}
tc_status
Freshness, size and source-agreement stats of the token universe. Call first; quote generated_at.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ajouté
tc_ledger
5 October 2026 02:40
Ajouté
tc_moves
5 October 2026 02:40
Ajouté
tc_calendar
5 October 2026 02:40
Ajouté
tc_series
5 October 2026 02:40
Ajouté
tc_get_report
5 October 2026 02:40
Ajouté
tc_brief
5 October 2026 02:40
Ajouté
tc_compare
5 October 2026 02:40
Ajouté
tc_screen
5 October 2026 02:40
Ajouté
tc_resolve
5 October 2026 02:40
Ajouté
tc_categories
5 October 2026 02:40
Ajouté
tc_alerts
5 October 2026 02:40
Ajouté
tc_search_tokens
5 October 2026 02:40
Ajouté
tc_get_token_digest
5 October 2026 02:40
Ajouté
tc_get_token
5 October 2026 02:40
Ajouté
tc_list_tokens
5 October 2026 02:40
Ajouté
tc_status
5 October 2026 02:40