Koskamo

Fan Token Intel MCP

Fan Token Intel is a descriptive intelligence layer for AI agents focused on Chiliz Chain fan tokens. It provides 22+ tools for tracking whale flows, match-to-price correlations, on-chain metrics, and multi-chain token identity across Chiliz, Base, and Solana. The server offers factual data tagged with freshness and source, enabling agents to analyze market context without executing trades.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Fan Token Intel MCP logo, by Bruno PessoaCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Bruno Pessoa
You need:Need an API key? Register your agent — free, takes 10 seconds
MCP endpoint (Streamable HTTP)
https://mcp-production-f681.up.railway.app/mcp
Vendor documentation

What its tools do

25 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

25 of 25 have a description · 0 of 25 declare behavior hints · 21 of 22 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Warning Advertises resources/templates/list but does not implement it
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Track CEX whale distribution flows and accumulation patterns
  • Analyze match-to-price correlation across 2,300+ matchdays
  • Retrieve multi-chain token identity including contract addresses and TVL
  • Monitor real-time fan token health grades and DEX liquidity depth

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
tokenintel 1.26.0
MCP protocol negotiated in check
2025-11-25
Tools
25 advertised
Resources
4 advertised
Resource templates
Not advertised
Prompts
5 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Fan Token Intel (FTI): descriptive market + match-event data for ~65 Chiliz fan tokens. Observations only -- no trade recommendations; interpret the numbers yourself. START: tokenintel_briefing (market-wide) or tokenintel_token_context(token) (one token: price, whale flow, DEX slippage, next fixtures). Prices: tokenintel_realtime_prices(tokens='BAR,PSG'). History: tokenintel_price_candles, tokenintel_match_impact_history, tokenintel_match_correlation, tokenintel_match_odds. TRUST FIELDS: every price carries freshness/is_live/source; 'replayed' or 'stale_value' means NOT live. Health grades are percentile ranks within the fan-token universe -- check n_pillars (2 = volume+price stability only). PARAMS: token symbols are uppercase tickers (BAR, PSG, GAL). Pass them as `token`; `symbol`/`token_symbol` are accepted aliases. Multi-token tools take `tokens` as a comma-separated string. ACCESS: anonymous sessions may call tokenintel_discover/describe, tokenintel_price_candles, tokenintel_capital_rotation and tokenintel_match_impact_history. Everything else needs a free key: call tokenintel_register(name, email, terms_accepted=true) once, then send 'Authorization: Bearer ti_live_...'. The key is free and unlocks every data tool, event-impact included; there is no paid tier. MORE TOOLS: tokenintel_discover lists the long tail by category; call any of them through tokenintel_invoke(tool_name, arguments). Docs: https://www.fantokenintel.com/llms.txt

Tools

25 advertised

tokenintel_discover
Advertised by the server during the last successful anonymous check.

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.

tokenintel_discover input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "category": {
      "enum": [
        "market_data",
        "signals",
        "sports",
        "prediction_markets",
        "social",
        "defi",
        "agent",
        "portfolio",
        "volume",
        "chain_info"
      ],
      "type": "string",
      "description": "Filter to a specific category (optional). Omit for all."
    }
  }
}
tokenintel_describe
Advertised by the server during the last successful anonymous check.

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.

tokenintel_describe input schema
{
  "type": "object",
  "required": [
    "tool_name"
  ],
  "properties": {
    "tool_name": {
      "type": "string",
      "description": "The tool name to describe (e.g. 'tokenintel_whale_flows')."
    }
  }
}
tokenintel_invoke
Advertised by the server during the last successful anonymous check.

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.

tokenintel_invoke input schema
{
  "type": "object",
  "required": [
    "tool_name"
  ],
  "properties": {
    "arguments": {
      "type": "object",
      "default": {},
      "description": "Arguments to pass to the tool (matches the tool's inputSchema)."
    },
    "tool_name": {
      "type": "string",
      "description": "The tool to invoke (e.g. 'tokenintel_whale_flows')."
    }
  }
}
tokenintel_register
Advertised by the server during the last successful anonymous check.

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 whole read-only data layer, event-impact tools included (60 req/min). 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.

tokenintel_register input schema
{
  "type": "object",
  "required": [
    "name",
    "email",
    "terms_accepted"
  ],
  "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)."
    }
  }
}
tokenintel_briefing
Advertised by the server during the last successful anonymous check.

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.

tokenintel_briefing input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "focus": {
      "type": "string",
      "description": "Optional token symbol to focus on (e.g., 'BAR'). Omit for full ecosystem view."
    },
    "timeframe": {
      "enum": [
        "morning",
        "weekly"
      ],
      "type": "string",
      "description": "Briefing depth: 'morning' (24h window, default) or 'weekly' (7-day trends)."
    }
  }
}
tokenintel_health_matrix
Advertised by the server during the last successful anonymous check.

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.

tokenintel_health_matrix input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "response_format": {
      "enum": [
        "detailed",
        "concise"
      ],
      "type": "string",
      "description": "'detailed' (default) = all fields + legend; 'concise' = symbol/grade/score/change_24h only."
    }
  }
}
tokenintel_market_regime
Advertised by the server during the last successful anonymous check.

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.

tokenintel_market_regime input schema
{
  "type": "object",
  "required": [],
  "properties": {}
}
tokenintel_macro_context
Advertised by the server during the last successful anonymous check.

Get current crypto macro context: BTC dominance, CHZ price, funding rates, fear & greed index, and risk environment assessment.

tokenintel_macro_context input schema
{
  "type": "object",
  "required": [],
  "properties": {}
}
tokenintel_token_context
Advertised by the server during the last successful anonymous check.

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.

tokenintel_token_context input schema
{
  "type": "object",
  "required": [
    "token"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Token symbol (e.g., ASR, BAR, CHZ)"
    }
  }
}
tokenintel_realtime_prices
Advertised by the server during the last successful anonymous check.

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.

tokenintel_realtime_prices input schema
{
  "type": "object",
  "required": [
    "tokens"
  ],
  "properties": {
    "tokens": {
      "type": "string",
      "description": "Comma-separated token symbols (e.g., 'BAR,PSG,JUV')"
    }
  }
}
tokenintel_price_candles
Advertised by the server during the last successful anonymous check.

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.

tokenintel_price_candles input schema
{
  "type": "object",
  "required": [
    "token"
  ],
  "properties": {
    "days": {
      "type": "integer",
      "description": "Lookback in days (max 180). Default: 30."
    },
    "limit": {
      "type": "integer",
      "description": "Max candles to return (max 500). Default: 200."
    },
    "token": {
      "type": "string",
      "description": "Token symbol (e.g., 'BAR', 'PSG', 'CHZ')."
    },
    "interval": {
      "enum": [
        "1h",
        "4h",
        "1d"
      ],
      "type": "string",
      "description": "Candle interval. Default: 4h."
    }
  }
}
tokenintel_whale_flows
Advertised by the server during the last successful anonymous check.

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.

tokenintel_whale_flows input schema
{
  "type": "object",
  "required": [
    "token"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Token symbol (e.g., ASR, BAR, CHZ, CITY, ATM, ACM, JUV, PSG)"
    },
    "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",
      "default": 1000,
      "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."
    },
    "timeframe_hours": {
      "type": "integer",
      "default": 4,
      "description": "Lookback window in hours (default: 4)"
    }
  }
}
tokenintel_social_sentiment
Advertised by the server during the last successful anonymous check.

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.

tokenintel_social_sentiment input schema
{
  "type": "object",
  "required": [
    "token"
  ],
  "properties": {
    "hours": {
      "type": "integer",
      "default": 24,
      "description": "Lookback window in hours (default: 24, max: 168)"
    },
    "token": {
      "type": "string",
      "description": "Token symbol (e.g., ASR, BAR, PSG). Required."
    }
  }
}
tokenintel_capital_rotation
Advertised by the server during the last successful anonymous check.

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?

tokenintel_capital_rotation input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "hours": {
      "type": "integer",
      "description": "Compare last N hours vs prior period. Default: 24."
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "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",
      "default": 1000,
      "minimum": 0,
      "description": "Hide dust: tokens whose current AND prior rolling-24h volume are both below this. Default $1,000; pass 0 for everything."
    }
  }
}
tokenintel_match_impact_history
Advertised by the server during the last successful anonymous check.

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.

tokenintel_match_impact_history input schema
{
  "type": "object",
  "required": [
    "token"
  ],
  "properties": {
    "days": {
      "type": "integer",
      "description": "Lookback in days (max 365). Default: 90."
    },
    "limit": {
      "type": "integer",
      "description": "Max matches (max 200). Default: 100."
    },
    "token": {
      "type": "string",
      "description": "Token symbol (e.g., 'BAR')."
    },
    "result": {
      "enum": [
        "win",
        "loss",
        "draw",
        "all"
      ],
      "type": "string",
      "description": "Filter by match result. Default: all."
    }
  }
}
tokenintel_match_correlation
Advertised by the server during the last successful anonymous check.

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

tokenintel_match_correlation input schema
{
  "type": "object",
  "required": [
    "token"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 20,
      "description": "Number of matches to return (default 20, max 100)"
    },
    "token": {
      "type": "string",
      "description": "Token symbol (e.g., BAR, PSG, JUV)"
    },
    "venue_filter": {
      "enum": [
        "home",
        "away",
        "all"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter by home/away"
    },
    "result_filter": {
      "enum": [
        "win",
        "loss",
        "draw",
        "all"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter by match result"
    },
    "competition_filter": {
      "enum": [
        "all",
        "champions_league",
        "europa_league",
        "domestic",
        "cup"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter by competition type"
    }
  }
}
tokenintel_goal_direction_asymmetry
Advertised by the server during the last successful anonymous check.

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.

tokenintel_goal_direction_asymmetry input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "minute_bucket": {
      "enum": [
        "0-15",
        "16-30",
        "31-45",
        "46-60",
        "61-75",
        "76-90",
        "90+"
      ],
      "type": "string",
      "description": "Optional: restrict to goals in this match-minute bucket."
    }
  }
}
tokenintel_event_reaction_profile
Advertised by the server during the last successful anonymous check.

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.

tokenintel_event_reaction_profile input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "clean_only": {
      "type": "boolean",
      "description": "Only non-overlapping events (conservative). Default true."
    },
    "event_side": {
      "enum": [
        "for",
        "against"
      ],
      "type": "string",
      "description": "'for' = token's team scored / opponent sent off; 'against' = conceded / own red card."
    },
    "event_type": {
      "enum": [
        "goal",
        "red_card"
      ],
      "type": "string",
      "description": "Event type."
    },
    "importance": {
      "type": "string",
      "description": "Match importance bucket (e.g. high/medium/low)."
    },
    "horizon_min": {
      "enum": [
        15,
        30,
        60
      ],
      "type": "integer",
      "description": "Reaction horizon. Default 30."
    },
    "minute_bucket": {
      "enum": [
        "0-15",
        "16-30",
        "31-45",
        "46-60",
        "61-75",
        "76-90",
        "90+"
      ],
      "type": "string"
    },
    "scoreline_state": {
      "enum": [
        "leading",
        "level",
        "trailing"
      ],
      "type": "string",
      "description": "Token team's state BEFORE the event."
    }
  }
}
tokenintel_late_game_redcard_profile
Advertised by the server during the last successful anonymous check.

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.

tokenintel_late_game_redcard_profile input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "event_side": {
      "enum": [
        "for",
        "against"
      ],
      "type": "string",
      "description": "'against' = token team's player sent off; 'for' = opponent sent off."
    },
    "minute_bucket": {
      "enum": [
        "0-15",
        "16-30",
        "31-45",
        "46-60",
        "61-75",
        "76-90",
        "90+"
      ],
      "type": "string",
      "description": "Optional match-minute bucket (e.g. '76-90' for late reds)."
    }
  }
}
tokenintel_match_event_replay
Advertised by the server during the last successful anonymous check.

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.

tokenintel_match_event_replay input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "date": {
      "type": "string",
      "description": "Optional YYYY-MM-DD; with token, selects that day's fixture instead of the most recent."
    },
    "token": {
      "type": "string",
      "description": "Token symbol — resolves its most recent (or date-selected) measured fixture."
    },
    "match_id": {
      "type": "string",
      "description": "The matches.match_id (e.g. 'apifb_1391197')."
    }
  }
}
tokenintel_match_odds
Advertised by the server during the last successful anonymous check.

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.

tokenintel_match_odds input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "date": {
      "type": "string",
      "description": "Optional YYYY-MM-DD; with token, selects that day's fixture instead of the most recent."
    },
    "token": {
      "type": "string",
      "description": "Fan token symbol — resolves its most recent (or date-selected) fixture with odds coverage."
    },
    "match_id": {
      "type": "string",
      "description": "The matches/odds_ticks match_id (e.g. 'apifb_1591866'). Covers fixtures with no fan token too."
    },
    "include_settlement_ticks": {
      "type": "boolean",
      "default": false,
      "description": "Include post-settlement wind-down ticks in the curves (default false)."
    }
  }
}
tokenintel_odds_coverage
Advertised by the server during the last successful anonymous check.

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.

tokenintel_odds_coverage input schema
{
  "type": "object",
  "required": [],
  "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",
      "default": 7,
      "description": "Include upcoming mapped fixtures kicking off within N days (0-90, default 7). 0 disables the upcoming section."
    }
  }
}
tokenintel_governance_validators
Advertised by the server during the last successful anonymous check.

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.

tokenintel_governance_validators input schema
{
  "type": "object",
  "required": [],
  "properties": {}
}
tokenintel_dex_depth
Advertised by the server during the last successful anonymous check.

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.

tokenintel_dex_depth input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "token": {
      "type": "string",
      "description": "Token symbol (optional). If omitted, returns all CHZ pairs sorted by TVL."
    }
  }
}
tokenintel_dex_liquidity
Advertised by the server during the last successful anonymous check.

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.

tokenintel_dex_liquidity input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 25,
      "maximum": 200,
      "minimum": 1,
      "description": "Max pools when no token is given (sorted by TVL). Default 25; pools_total reports the full count."
    },
    "token": {
      "type": "string",
      "description": "Token symbol (optional). If omitted, returns all pools sorted by TVL."
    }
  }
}

Prompts

5 advertised

pre_trade_check

Advertised by the server during the last successful anonymous check.

Pre-trade due-diligence for one token: aggregate context, cross-venue price dislocation, live whale distribution, and on-chain depth. Requires an authenticated agent (free key via tokenintel_register).

token
Fan token symbol, e.g. BAR, CITY, CHZ, ASR (required)
morning_briefing

Advertised by the server during the last successful anonymous check.

Daily market-open snapshot: composite briefing, concise token health grades, and today's match catalysts. Requires an authenticated agent (free key via tokenintel_register).

No arguments advertised.

signal_now

Advertised by the server during the last successful anonymous check.

What is factually moving right now: live whale distribution, capital rotation between tokens, and imminent match catalysts — descriptive data, no trade recommendations. Requires an authenticated agent.

token
Optional fan token symbol to focus on (e.g. BAR). Omit for all.
token_deep_dive

Advertised by the server during the last successful anonymous check.

Full intelligence context for one token (price, whale flows, signals, sports calendar, social). Requires an authenticated agent.

token
Fan token symbol, e.g. ASR, CITY, CHZ (required)
odds_deep_dive

Advertised by the server during the last successful anonymous check.

Prediction-market odds walkthrough for one match: discover coverage, pull the implied-probability curves (pre-match vs in-play), and put the token's historical post-match behavior next to them. Public tools — no key needed for the odds tape.

token
Fan token symbol whose fixture to analyze (e.g. PSG). Omit if passing match_id.
match_id
Optional odds-tape match_id (e.g. apifb_1591866) from tokenintel_odds_coverage.

Resources

4 advertised

Tracked Tokens

Advertised by the server during the last successful anonymous check.

All tokens tracked by TokenIntel with metadata

Tracked Tokens URI
tokenintel://tokens/list

MIME type: application/json

Market Regime

Advertised by the server during the last successful anonymous check.

Current market regime classification

Market Regime URI
tokenintel://market/regime

MIME type: application/json

Signal Performance

Advertised by the server during the last successful anonymous check.

Platform signal performance summary (last 30 days)

Signal Performance URI
tokenintel://signals/performance

MIME type: application/json

Agent Quickstart Guide

Advertised by the server during the last successful anonymous check.

How to get a free key and navigate the descriptive data layer (prices, whale flows, match impact, odds tape, event-impact)

Agent Quickstart Guide URI
tokenintel://docs/quickstart

MIME type: text/markdown

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1735 ms
95th percentile latency
1735 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1735 ms · metadata changed · 25 tool(s), 4 resource(s), 5 prompt(s); warnings: Advertises resources/templates/list but does not implement it

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http fan-token-intel-mcp https://mcp-production-f681.up.railway.app/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add fan-token-intel-mcp --url https://mcp-production-f681.up.railway.app/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable fan-token-intel-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "fan-token-intel-mcp": {
      "url": "https://mcp-production-f681.up.railway.app/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "fan-token-intel-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp-production-f681.up.railway.app/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start fan-token-intel-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "fan-token-intel-mcp": {
      "type": "http",
      "url": "https://mcp-production-f681.up.railway.app/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http fan-token-intel-mcp https://mcp-production-f681.up.railway.app/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp-production-f681.up.railway.app/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "fan-token-intel-mcp": {
      "serverUrl": "https://mcp-production-f681.up.railway.app/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Fan Token Intel MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.