Token Command Center
by ysgjay · remote · no sign-in to list tools · v0.3.0 · published by GitHub user ysgjay
Free token data: revenue, net flow after emissions, supply/unlock history, catalysts, errors marked
16 tools: 8 change things and 8 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things8Claude Code: ask: see these tools
- Only reads8Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http token-command-center https://token-command-center-gamma.vercel.app/mcpFindings
Matches of fixed checks, with the text they matched.
- Warntc_moves
The server marks "tc_moves" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "tc_moves" says "move": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
16 tools
Changes things 8Claude Code: ask
tc_alertsRecent threshold alerts (revenue deterioration, emission acceleration, unlock cliffs, flow flips).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Recent threshold alerts (revenue deterioration, emission acceleration, unlock cliffs, flow flips).
Annotations the server declares
- title: Alerts
- readOnlyHint: true
- openWorldHint: false
tc_briefThe 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.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- title: Book brief
- readOnlyHint: true
- openWorldHint: false
tc_calendarUpcoming dated catalysts (unlocks, emission steps, votes, launches) across the Book, soonest first, at most 20.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- title: Catalyst calendar
- readOnlyHint: true
- openWorldHint: false
tc_categoriesToken counts per category.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Token counts per category.
Annotations the server declares
- title: Categories
- readOnlyHint: true
- openWorldHint: false
tc_ledgerPrediction ledger tallies: open and graded call counts, next grading date, calls by side.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Prediction ledger tallies: open and graded call counts, next grading date, calls by side. Counts only; individual calls are not published.
Annotations the server declares
- title: Ledger tallies
- readOnlyHint: true
- openWorldHint: false
tc_movesBiggest 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.1 finding
Why it is in this group
- The name "tc_moves" says "move": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "tc_moves" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "tc_moves" says "move": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Movers and momentum
- readOnlyHint: true
- openWorldHint: false
tc_screenScreen the whole Book (all scored tokens) and get compact ranked rows.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- title: Screen the Book
- readOnlyHint: true
- openWorldHint: false
tc_seriesOne token's history as chartable series from TCC's daily snapshots (since 2026-06-09).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- title: Token history series
- readOnlyHint: true
- openWorldHint: false
Only reads 8Claude Code: allow
tc_compareTwo to six tokens side by side: price, valuation, revenue and its 7/30-day change, revenue_figures per token (30-day annualized pace and real last-12-months revenue, P/S on both), …No findings
Why it is in this group
- The name "tc_compare" says "compare": a word for reading.
Description, as the server wrote it Two to six tokens side by side: price, valuation, revenue and its 7/30-day change, revenue_figures per token (30-day annualized pace and real last-12-months revenue, P/S on both), 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.
Annotations the server declares
- title: Compare tokens
- readOnlyHint: true
- openWorldHint: false
tc_get_reportNewest markdown scorecard for a slug (clipped).No findings
Why it is in this group
- The name "tc_get_report" says "get": a word for reading.
Description, as the server wrote it Newest markdown scorecard for a slug (clipped). Long; prefer tc_get_token unless the user asks for the write-up.
Annotations the server declares
- title: Scorecard report
- readOnlyHint: true
- openWorldHint: false
tc_get_tokenOne 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 f…No findings
Why it is in this group
- The name "tc_get_token" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Token scorecard
- readOnlyHint: true
- openWorldHint: false
tc_get_token_digestOne token in about 2 KB: latest price, valuation, revenue and flows, 7- and 30-day changes, revenue_figures (the 30-day annualized pace AND the real last-12-months revenue, P/S on …No findings
Why it is in this group
- The name "tc_get_token_digest" says "get": a word for reading.
Description, as the server wrote it One token in about 2 KB: latest price, valuation, revenue and flows, 7- and 30-day changes, revenue_figures (the 30-day annualized pace AND the real last-12-months revenue, P/S on both, one-line notes on how each is formed), health score with its six pillar scores and verdict, supply unlocks, lens, and data-quality counts. Prefer this over tc_get_token.
Annotations the server declares
- title: Token digest
- readOnlyHint: true
- openWorldHint: false
tc_list_tokensPage through scored tokens with optional filters.No findings
Why it is in this group
- The name "tc_list_tokens" says "list": a word for reading.
Description, as the server wrote it Page through scored tokens with optional filters. Sorts: health, mcap, revenue, net_flow, ps, unlock_30d, alerts, name.
Annotations the server declares
- title: List tokens
- readOnlyHint: true
- openWorldHint: false
tc_resolveTurn a symbol, $cashtag, name or slug into Token Command Center slugs.No findings
Why it is in this group
- The name "tc_resolve" says "resolve": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Resolve token
- readOnlyHint: true
- openWorldHint: false
tc_search_tokensFind slugs by symbol or name before calling tc_get_token_digest.No findings
Why it is in this group
- The name "tc_search_tokens" says "search": a word for reading.
Description, as the server wrote it Find slugs by symbol or name before calling tc_get_token_digest.
Annotations the server declares
- title: Search tokens
- readOnlyHint: true
- openWorldHint: false
tc_statusFreshness, size and source-agreement stats of the token universe.No findings
Why it is in this group
- The name "tc_status" says "status": a word for reading.
Description, as the server wrote it Freshness, size and source-agreement stats of the token universe. Call first; quote generated_at.
Annotations the server declares
- title: Universe status
- readOnlyHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.3.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http token-command-center https://token-command-center-gamma.vercel.app/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__token-command-center__tc_status",
"mcp__token-command-center__tc_list_tokens",
"mcp__token-command-center__tc_get_token",
"mcp__token-command-center__tc_get_token_digest",
"mcp__token-command-center__tc_search_tokens",
"mcp__token-command-center__tc_resolve",
"mcp__token-command-center__tc_compare",
"mcp__token-command-center__tc_get_report"
],
"ask": [
"mcp__token-command-center__tc_alerts",
"mcp__token-command-center__tc_categories",
"mcp__token-command-center__tc_screen",
"mcp__token-command-center__tc_brief",
"mcp__token-command-center__tc_series",
"mcp__token-command-center__tc_calendar",
"mcp__token-command-center__tc_moves",
"mcp__token-command-center__tc_ledger"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as token-command-center. Review it before you use it.
