Fan Token Intel
Fan-token intelligence for Chiliz Chain: prices, whale flows, match event impact. 22 read tools.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (8)
- HIGH
- LOWin tokenintel_late_game_redcard_profile
- LOWin tokenintel_match_impact_history
- LOWin tokenintel_goal_direction_asymmetry
- LOWin tokenintel_event_reaction_profile
- LOWin tokenintel_late_game_redcard_profile
- LOWin tokenintel_governance_validators
- INFOin tokenintel_register
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"fan-token-intel": {
"url": "https://mcp-production-f681.up.railway.app/mcp"
}
}
}Remote-Endpunkte
https://mcp-production-f681.up.railway.app/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (25)
⚪tokenintel_discover(category)
Discover available tools on the Fan Token Intel MCP server. Returns tool names and one-line descriptions, organized by category. Call with no arguments for all categories, or specify a category to filter. Categories: market_data, signals, sports, social, defi, agent, portfolio, volume, chain_info. Tip: connect with ?modules=market_data,signals to load only specific categories.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"market_data",
"signals",
"sports",
"prediction_markets",
"social",
"defi",
"agent",
"portfolio",
"volume",
"chain_info"
],
"description": "Filter to a specific category (optional). Omit for all."
}
},
"required": []
}🟢tokenintel_describe(tool_name)
Get the full input schema for a specific tool. Returns the JSON Schema (parameters, types, required fields, descriptions) needed to call the tool via tokenintel_invoke. Use tokenintel_discover first to find tool names.
Eingabe-Schema
{
"type": "object",
"properties": {
"tool_name": {
"type": "string",
"description": "The tool name to describe (e.g. 'tokenintel_whale_flows')."
}
},
"required": [
"tool_name"
]
}🟢tokenintel_invoke(tool_name, arguments)
Invoke any tool on the Fan Token Intel MCP server by name. Pass the tool_name and its arguments. The result is identical to calling the tool directly. Auth and rate limits apply as normal. Use tokenintel_describe to get the required arguments first.
Eingabe-Schema
{
"type": "object",
"properties": {
"tool_name": {
"type": "string",
"description": "The tool to invoke (e.g. 'tokenintel_whale_flows')."
},
"arguments": {
"type": "object",
"description": "Arguments to pass to the tool (matches the tool's inputSchema).",
"default": {}
}
},
"required": [
"tool_name"
]
}🟢tokenintel_register(name, email, terms_accepted)
Get a free Fan Token Intel API key, self-serve — no human in the loop. Provide a name, an email, and terms_accepted=true; the key (ti_live_...) comes back in the response along with your tier and rate limits. Free-tier keys unlock the read-only descriptive data layer (60 req/min); premium event-impact tools stay metered via x402. Pass the key as 'Authorization: Bearer ti_live_xxx' (HTTP) or the TOKENINTEL_API_KEY env var (stdio). Rate-limited to one registration per 10 minutes per caller.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Agent display name (3-100 chars)"
},
"email": {
"type": "string",
"description": "Contact email. The key may require clicking the emailed verification link before authenticated calls succeed."
},
"terms_accepted": {
"type": "boolean",
"description": "Must be true to accept the Terms of Use and Privacy Policy (https://fantokenintel.com/legal)."
}
},
"required": [
"name",
"email",
"terms_accepted"
]
}⚪tokenintel_briefing(focus, timeframe)
All-in-one ECOSYSTEM briefing: market regime, active signals, anomalies, health matrix, sports calendar, and whale activity in one response. Use instead of calling 6+ tools sequentially. USE THIS for a market-wide overview. USE tokenintel_token_context for a SINGLE-TOKEN deep dive (price, signals, health, whale flow, sports catalyst, news — all for one symbol). Returns data, not recommendations -- interpret results yourself.
Eingabe-Schema
{
"type": "object",
"properties": {
"focus": {
"type": "string",
"description": "Optional token symbol to focus on (e.g., 'BAR'). Omit for full ecosystem view."
},
"timeframe": {
"type": "string",
"enum": [
"morning",
"weekly"
],
"description": "Briefing depth: 'morning' (24h window, default) or 'weekly' (7-day trends)."
}
},
"required": []
}🟢tokenintel_health_matrix(response_format)
Get health grades (A-F) for all tracked fan tokens. Each token is scored across trading volume, order-book liquidity, spread, holder distribution and price stability -- 5-pillar weighted: volume(25%) + liquidity(25%) + spread(20%) + holders(15%) + price_stability(15%). The grade is the token's percentile standing WITHIN the fan-token universe (A=top 10%, B=next 20%, C=middle 40%, D=next 20%, F=bottom 10%); health_score stays the absolute 0-100 pillar score. A pillar whose collector delivered no data is excluded and the remaining weights are renormalized (see missing_pillars), never scored as 0. Use this to quickly filter which tokens deserve attention relative to their peers. Detailed mode (default) includes the per-pillar sub-scores; pass response_format='concise' to get just symbol/grade/score/change (~70% smaller) when you don't need team/league/volume/age detail.
Eingabe-Schema
{
"type": "object",
"properties": {
"response_format": {
"type": "string",
"enum": [
"detailed",
"concise"
],
"description": "'detailed' (default) = all fields + legend; 'concise' = symbol/grade/score/change_24h only."
}
},
"required": []
}🟢tokenintel_market_regime
Get current market conditions — BTC trend, CHZ momentum, fear/greed index, and the platform's market regime classification. Useful for filtering or adjusting signal confidence based on macro conditions.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}🟢tokenintel_macro_context
Get current crypto macro context: BTC dominance, CHZ price, funding rates, fear & greed index, and risk environment assessment.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}⚪tokenintel_token_context(token)
SINGLE-TOKEN deep dive: realtime price, CEX whale flow, on-chain Chiliz Chain (FanX) liquidity with slippage at 1%/5% of reserves, and upcoming matches for one symbol. The default tool to call before evaluating a trading decision on a specific token. USE THIS when you have a target token in mind. USE tokenintel_briefing when you want the market-wide overview instead.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token symbol (e.g., ASR, BAR, CHZ)"
}
},
"required": [
"token"
]
}🟢tokenintel_realtime_prices(tokens)
Get the freshest available prices with staleness metadata. Returns price_age_seconds so agents know exactly how stale each price is. Lightweight and fast -- call this before any trade decision to get current prices. Supports multiple tokens in a single call.
Eingabe-Schema
{
"type": "object",
"properties": {
"tokens": {
"type": "string",
"description": "Comma-separated token symbols (e.g., 'BAR,PSG,JUV')"
}
},
"required": [
"tokens"
]
}⚪tokenintel_price_candles(token, interval, days, limit)
Historical OHLCV price candles for any fan token. Intervals: 1h, 4h, 1d. Up to 180 days lookback. Returns open, high, low, close, volume for each period. Use for backtesting, charting, trend analysis, or building your own signals.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token symbol (e.g., 'BAR', 'PSG', 'CHZ')."
},
"interval": {
"type": "string",
"enum": [
"1h",
"4h",
"1d"
],
"description": "Candle interval. Default: 4h."
},
"days": {
"type": "integer",
"description": "Lookback in days (max 180). Default: 30."
},
"limit": {
"type": "integer",
"description": "Max candles to return (max 500). Default: 200."
}
},
"required": [
"token"
]
}🟢tokenintel_whale_flows(token, timeframe_hours, exchange, min_trade_usd)
Get real-time whale distribution data for a fan token. Shows the ratio of whale sells to total whale activity on CEX exchanges. sell_ratio = whale sell volume / total whale volume; the payload labels >0.65 'distribution' and <0.35 'accumulation' (descriptive labels, not a signal). Data aggregated from CEX exchanges in real-time. USE THIS for aggregate buy/sell pressure on CEX. USE tokenintel_whale_trades for individual trade rows. USE tokenintel_dex_whales for on-chain (Chiliz Chain) swap whales.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token symbol (e.g., ASR, BAR, CHZ, CITY, ATM, ACM, JUV, PSG)"
},
"timeframe_hours": {
"type": "integer",
"description": "Lookback window in hours (default: 4)",
"default": 4
},
"exchange": {
"type": "string",
"description": "Filter by specific exchange (optional). Options: binance, okx, htx, kucoin, bybit, gate, mexc, mercadobitcoin, upbit, coinbase"
},
"min_trade_usd": {
"type": "number",
"description": "Minimum trade size in USD (default: 1000). The source table ingests fan-token trades from $10 up, most of it retail-sized; pass 0 to include every trade.",
"default": 1000
}
},
"required": [
"token"
]
}🟢tokenintel_social_sentiment(token, hours)
Social sentiment for a fan token. The only live social source is the LunarCrush aggregated feed, and on the current plan it provides galaxy_score and alt_rank ONLY — sentiment and social_volume come back null (see lunarcrush.fields_unavailable); they are unavailable, not zero. Native X/Twitter ingestion was retired 2026-03-01 and native Reddit/YouTube ingestion has never run in production, so those blocks read 0 — data_sources labels each pipeline (active / no_recent_data / inactive_since_<date> / never_active). overall_sentiment is computed only from sources that actually reported activity and is null when none did. Descriptive community-mood data, not a recommendation.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token symbol (e.g., ASR, BAR, PSG). Required."
},
"hours": {
"type": "integer",
"description": "Lookback window in hours (default: 24, max: 168)",
"default": 24
}
},
"required": [
"token"
]
}⚪tokenintel_capital_rotation(hours, limit, min_volume_usd)
Cross-token capital flow analysis. Shows which fan tokens are gaining vs losing volume relative to their recent average. Detects rotation: when whales exit one token, where does the capital go?
Eingabe-Schema
{
"type": "object",
"properties": {
"hours": {
"type": "integer",
"description": "Compare last N hours vs prior period. Default: 24."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "Rows returned: the strongest movers by |relative_change_pct| (inflows and outflows both kept). Default 20; counts always cover the whole universe."
},
"min_volume_usd": {
"type": "number",
"minimum": 0,
"default": 1000,
"description": "Hide dust: tokens whose current AND prior rolling-24h volume are both below this. Default $1,000; pass 0 for everything."
}
},
"required": []
}⚪tokenintel_match_impact_history(token, result, days, limit)
Historical match price impact data for a fan token. Returns price snapshots at -24h, kickoff, fulltime, +1h, +24h with returns for each match. Filter by result (win/loss/draw), competition, venue. WINDOWS: return_total_pct is measured price_24h_before -> price_24h_after (it includes the pregame move, so it can differ in sign from a kickoff-anchored return); return_ko_to_24h_pct is kickoff -> +24h. See the 'semantics' block in the response. Use for backtesting sports-driven strategies.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token symbol (e.g., 'BAR')."
},
"result": {
"type": "string",
"enum": [
"win",
"loss",
"draw",
"all"
],
"description": "Filter by match result. Default: all."
},
"days": {
"type": "integer",
"description": "Lookback in days (max 365). Default: 90."
},
"limit": {
"type": "integer",
"description": "Max matches (max 200). Default: 100."
}
},
"required": [
"token"
]
}🟢tokenintel_match_correlation(token, result_filter, competition_filter, venue_filter, limit)
Historical match-to-price correlation. Ask 'what happens to BAR after Champions League wins?' and get backtested data with price impact percentages. Returns individual match records with price at kickoff, fulltime, +1h, +24h and aggregate stats (avg impact, win rate, best/worst).
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token symbol (e.g., BAR, PSG, JUV)"
},
"result_filter": {
"type": "string",
"enum": [
"win",
"loss",
"draw",
"all"
],
"description": "Filter by match result",
"default": "all"
},
"competition_filter": {
"type": "string",
"enum": [
"all",
"champions_league",
"europa_league",
"domestic",
"cup"
],
"description": "Filter by competition type",
"default": "all"
},
"venue_filter": {
"type": "string",
"enum": [
"home",
"away",
"all"
],
"description": "Filter by home/away",
"default": "all"
},
"limit": {
"type": "integer",
"description": "Number of matches to return (default 20, max 100)",
"default": 20
}
},
"required": [
"token"
]
}⚪tokenintel_goal_direction_asymmetry(minute_bucket)
THE event-impact moat: how a fan token reacts when its team SCORES vs CONCEDES a goal, market-adjusted vs CHZ at +15/+30/+60m. The blended 'all goals' number hides the real signal — scoring is ~priced-in, conceding moves price. Returns the scored-vs-conceded decomposition with sample sizes and directional hit rates. Only computable here (needs the token<->team map). Descriptive history, not advice.
Eingabe-Schema
{
"type": "object",
"properties": {
"minute_bucket": {
"type": "string",
"enum": [
"0-15",
"16-30",
"31-45",
"46-60",
"61-75",
"76-90",
"90+"
],
"description": "Optional: restrict to goals in this match-minute bucket."
}
},
"required": []
}⚪tokenintel_event_reaction_profile(event_type, event_side, minute_bucket, scoreline_state, importance, ...)
Event-conditioned, market-adjusted (vs CHZ) token reaction profiles for football events — by event_type x event_side(for/against) x minute x scoreline_state x importance. Returns mean/median abnormal return, match-clustered t-stat, bootstrap 95% CI, hit rate, decay/persistence, n_events, n_matches, FDR. Omit a dimension to pool. Every cell carries its sample size — descriptive history, not advice.
Eingabe-Schema
{
"type": "object",
"properties": {
"event_type": {
"type": "string",
"enum": [
"goal",
"red_card"
],
"description": "Event type."
},
"event_side": {
"type": "string",
"enum": [
"for",
"against"
],
"description": "'for' = token's team scored / opponent sent off; 'against' = conceded / own red card."
},
"minute_bucket": {
"type": "string",
"enum": [
"0-15",
"16-30",
"31-45",
"46-60",
"61-75",
"76-90",
"90+"
]
},
"scoreline_state": {
"type": "string",
"enum": [
"leading",
"level",
"trailing"
],
"description": "Token team's state BEFORE the event."
},
"importance": {
"type": "string",
"description": "Match importance bucket (e.g. high/medium/low)."
},
"horizon_min": {
"type": "integer",
"enum": [
15,
30,
60
],
"description": "Reaction horizon. Default 30."
},
"clean_only": {
"type": "boolean",
"description": "Only non-overlapping events (conservative). Default true."
}
},
"required": []
}⚪tokenintel_late_game_redcard_profile(event_side, minute_bucket)
Red-card reaction profile (market-adjusted vs CHZ). Rare and high-impact: returns abnormal return at +15/+30/+60m with honest wide confidence intervals and sample size; flags cells with n<15. Descriptive history, not advice.
Eingabe-Schema
{
"type": "object",
"properties": {
"event_side": {
"type": "string",
"enum": [
"for",
"against"
],
"description": "'against' = token team's player sent off; 'for' = opponent sent off."
},
"minute_bucket": {
"type": "string",
"enum": [
"0-15",
"16-30",
"31-45",
"46-60",
"61-75",
"76-90",
"90+"
],
"description": "Optional match-minute bucket (e.g. '76-90' for late reds)."
}
},
"required": []
}⚪tokenintel_match_event_replay(match_id, token, date)
Event-by-event reaction tape for a single match: each goal/red card with its minute, running score, scoreline state, and the market-adjusted token reaction at +15/+30/+60m (plus pre-event drift). The non-reconstructable moat artifact. match_id selects that fixture; token (+ optional date) resolves ONE fixture (the date-selected or most recent) and returns its tape, match metadata, and an other_matches index. Events are never merged across fixtures.
Eingabe-Schema
{
"type": "object",
"properties": {
"match_id": {
"type": "string",
"description": "The matches.match_id (e.g. 'apifb_1391197')."
},
"token": {
"type": "string",
"description": "Token symbol — resolves its most recent (or date-selected) measured fixture."
},
"date": {
"type": "string",
"description": "Optional YYYY-MM-DD; with token, selects that day's fixture instead of the most recent."
}
},
"required": []
}⚪tokenintel_match_odds(match_id, token, date, include_settlement_ticks)
Prediction-market odds curve for a single match from the in-play odds tape (odds_ticks): per-market (home/draw/away) implied-probability series with source labels (polymarket = CLOB midpoint, apifootball = de-vigged bookmaker odds), pre-match vs in-play segmentation against kickoff, and open/close/min/max summary stats per market. Settlement wind-down artifacts (ticks after a market first prints prob >= 0.99, or after full-time +15min) are excluded by default and counted via excluded_settlement_ticks. Curves are downsampled to <=300 points per market (labeled). match_id selects a fixture directly; token (+ optional date) resolves the most recent covered fixture. Use tokenintel_odds_coverage to discover which matches have odds data.
Eingabe-Schema
{
"type": "object",
"properties": {
"match_id": {
"type": "string",
"description": "The matches/odds_ticks match_id (e.g. 'apifb_1591866'). Covers fixtures with no fan token too."
},
"token": {
"type": "string",
"description": "Fan token symbol — resolves its most recent (or date-selected) fixture with odds coverage."
},
"date": {
"type": "string",
"description": "Optional YYYY-MM-DD; with token, selects that day's fixture instead of the most recent."
},
"include_settlement_ticks": {
"type": "boolean",
"description": "Include post-settlement wind-down ticks in the curves (default false).",
"default": false
}
},
"required": []
}🟢tokenintel_odds_coverage(token, days_back, days_ahead)
Discover which matches have prediction-market odds coverage in the in-play odds tape (odds_ticks): per-match tick counts by source (polymarket = CLOB midpoint, apifootball = de-vigged bookmaker odds), in-play tick counts vs kickoff, capture span, live dataset totals (computed from the table, never hardcoded), and upcoming fixtures already mapped for capture. In-play odds are unbackfillable — a match that passed uncaptured stays uncovered. Use tokenintel_match_odds to fetch a covered match's probability curves.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Filter to one fan token's fixtures (e.g. PSG). Fixtures with no fan token are excluded when set."
},
"days_back": {
"type": "integer",
"description": "Only matches with kickoff within the last N days (1-365). Default: all captured history."
},
"days_ahead": {
"type": "integer",
"description": "Include upcoming mapped fixtures kicking off within N days (0-90, default 7). 0 disables the upcoming section.",
"default": 7
}
},
"required": []
}🟢tokenintel_governance_validators
List active validators on Chiliz Chain governance. Shows validator addresses and total CHZ delegated to each. Use this to find the best validator before staking.
Eingabe-Schema
{
"type": "object",
"properties": {},
"required": []
}🟢tokenintel_dex_depth(token)
Get DEX depth and slippage curves for fan token pools on Chiliz Chain. Computes constant-product (x*y=k) price impact at trade sizes [1%, 5%, 10%, 25%] of pool reserves. Useful for agents evaluating execution costs before trading. Data from latest on-chain liquidity snapshots.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token symbol (optional). If omitted, returns all CHZ pairs sorted by TVL."
}
},
"required": []
}🟢tokenintel_dex_liquidity(token, limit)
Get on-chain DEX liquidity data for fan tokens on Chiliz Chain. Returns pool TVL, depth, token reserves, and estimated slippage. Critical for agents that want to understand execution costs before trading on-chain.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token symbol (optional). If omitted, returns all pools sorted by TVL."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 25,
"description": "Max pools when no token is given (sorted by TVL). Default 25; pools_total reports the full count."
}
},
"required": []
}Community
Nachweis