Token Command Center

Free token data: revenue, net flow after emissions, supply/unlock history, catalysts, errors marked

Should I use this

Quality & Safety

B
Description quality
96%
Schema completeness
68%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,676Tokens (tool definitions)
~837 BTypical response size
Significant attention impact (2.09% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "token-command-center": {
      "url": "https://token-command-center-gamma.vercel.app/mcp"
    }
  }
}

Remote endpoints

https://token-command-center-gamma.vercel.app/mcpstreamable-http

What it can do

Tool inventory

Tools (16)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢tc_status

Freshness, size and source-agreement stats of the token universe. Call first; quote generated_at.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
🟢tc_list_tokens(query, category, verdict, tier, sort, ...)

Page through scored tokens with optional filters. Sorts: health, mcap, revenue, net_flow, ps, unlock_30d, alerts, name.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Substring of slug, symbol or name."
    },
    "category": {
      "type": "string"
    },
    "verdict": {
      "type": "string",
      "description": "Real, Mid or Theater."
    },
    "tier": {
      "type": "string"
    },
    "sort": {
      "type": "string",
      "enum": [
        "alerts",
        "health",
        "mcap",
        "name",
        "net_flow",
        "ps",
        "revenue",
        "unlock_30d"
      ]
    },
    "descending": {
      "type": "boolean"
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢tc_get_token(slug)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Token slug, e.g. geodnet."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢tc_get_token_digest(slug)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Token slug, e.g. geodnet."
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢tc_search_tokens(query, limit)

Find slugs by symbol or name before calling tc_get_token_digest.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢tc_alerts(token, severity, limit)

Recent threshold alerts (revenue deterioration, emission acceleration, unlock cliffs, flow flips).

Input Schema

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    },
    "severity": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢tc_categories

Token counts per category.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
🟢tc_resolve(query, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢tc_screen(lens, verdict, tier, category, flow_model, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "lens": {
      "type": "string"
    },
    "verdict": {
      "type": "string"
    },
    "tier": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "flow_model": {
      "type": "string"
    },
    "stale": {
      "type": "boolean"
    },
    "query": {
      "type": "string",
      "description": "Substring of slug, symbol or name."
    },
    "min": {
      "type": "object",
      "additionalProperties": {
        "type": "number"
      },
      "description": "Lower bounds by numeric field."
    },
    "max": {
      "type": "object",
      "additionalProperties": {
        "type": "number"
      },
      "description": "Upper bounds by numeric field."
    },
    "sort": {
      "type": "string",
      "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"
      ]
    },
    "order": {
      "type": "string",
      "enum": [
        "desc",
        "asc"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "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"
        ]
      },
      "maxItems": 12
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢tc_compare(tokens, fields)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 6
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "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"
        ]
      },
      "maxItems": 18
    }
  },
  "required": [
    "tokens"
  ],
  "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.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
🟢tc_get_report(slug)

Newest markdown scorecard for a slug (clipped). Long; prefer tc_get_token unless the user asks for the write-up.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢tc_series(slug, metrics, range, interval)

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).

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Token slug, e.g. geodnet. Use tc_resolve first for a symbol."
    },
    "metrics": {
      "type": "array",
      "items": {
        "type": "string",
        "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"
        ]
      },
      "maxItems": 6
    },
    "range": {
      "type": "string",
      "enum": [
        "30d",
        "90d",
        "1y",
        "all"
      ]
    },
    "interval": {
      "type": "string",
      "enum": [
        "1d",
        "1w",
        "1m"
      ]
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}
🟢tc_calendar(days, token)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "minimum": 0,
      "maximum": 180
    },
    "token": {
      "type": "string",
      "description": "Token slug to filter to."
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢tc_moves(kind)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "movers",
        "momentum"
      ]
    }
  },
  "required": [],
  "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.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded16 tools