{"apiVersion":"v1","directorySlug":"trendiq-mcp-fa9d409e9b","title":"TrendIQ","description":null,"pageUrl":"https://www.mcpbundles.com/skills/trendiq-mcp-fa9d409e9b","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.trendiq.pro/mcp","hostedMcpUrl":null,"toolCount":26,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"pro.trendiq/trendiq-mcp-fa9d409e9b","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_markets","description":"Search Kalshi/Polymarket/Robinhood markets by keyword — the entry point for resolving a query into market/event IDs. Default returns a compact flat `{ markets: [{ id, platform, title, description, outcomes, volume24h, status }] }` list (best for resolving IDs). Pass unified=true for grouped `{ results: [{ type:'event'|'market', ... }] }`, but note events embed their full market lists so it is ~10x larger — use sparingly.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["q"],"properties":{"q":{"type":"string","minLength":1},"limit":{"type":"integer","maximum":100,"exclusiveMinimum":0},"unified":{"type":"boolean"},"platform":{"enum":["kalshi","polymarket","robinhood"],"type":"string"}},"additionalProperties":false},"logicalName":"search_markets","displayName":"search_markets","title":"search_markets","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_markets","description":"List/browse markets by platform, status, and category. Returns { markets, hasMore, warnings? }; a non-empty warnings[] means a platform partially failed (non-fatal — use the markets you got).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","maximum":100,"exclusiveMinimum":0},"cursor":{"type":"string"},"status":{"type":"string"},"category":{"type":"string"},"platform":{"enum":["kalshi","polymarket","robinhood"],"type":"string"}},"additionalProperties":false},"logicalName":"list_markets","displayName":"list_markets","title":"list_markets","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_market","description":"Get full details for one market by platform + id.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["platform","id"],"properties":{"id":{"type":"string","minLength":1},"platform":{"enum":["kalshi","polymarket","robinhood"],"type":"string"}},"additionalProperties":false},"logicalName":"get_market","displayName":"get_market","title":"get_market","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_candles","description":"OHLC candlesticks for a market. NOTE: prices are 0-1; candle timestamps are in SECONDS; the returned `market` is a stub {id,platform,title}, not a full Market; volume is two-sided (YES+NO).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["platform","id"],"properties":{"id":{"type":"string","minLength":1},"limit":{"type":"integer","maximum":1000,"exclusiveMinimum":0},"smooth":{"type":"boolean"},"endTime":{"type":"integer"},"platform":{"enum":["kalshi","polymarket","robinhood"],"type":"string"},"startTime":{"type":"integer"},"resolution":{"enum":["1m","5m","15m","1h","4h","1d"],"type":"string"},"seriesTicker":{"type":"string"}},"additionalProperties":false},"logicalName":"get_candles","displayName":"get_candles","title":"get_candles","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_orderbook","description":"YES/NO order-book depth for a market. Kalshi & Polymarket only.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["platform","id"],"properties":{"id":{"type":"string","minLength":1},"platform":{"enum":["kalshi","polymarket"],"type":"string"}},"additionalProperties":false},"logicalName":"get_orderbook","displayName":"get_orderbook","title":"get_orderbook","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_trades","description":"Recent executed trades for a market. Kalshi & Polymarket only. NOTE: trade timestamps are in MILLISECONDS.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["platform","id"],"properties":{"id":{"type":"string","minLength":1},"limit":{"type":"integer","maximum":500,"exclusiveMinimum":0},"platform":{"enum":["kalshi","polymarket"],"type":"string"}},"additionalProperties":false},"logicalName":"get_trades","displayName":"get_trades","title":"get_trades","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_correlated_markets","description":"Find cross-platform price-correlated markets (Pearson on hourly candles). Bidirectional Kalshi<->Polymarket. Source platform must be kalshi or polymarket.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["platform","id"],"properties":{"id":{"type":"string","minLength":1},"limit":{"type":"integer","maximum":50,"exclusiveMinimum":0},"platform":{"enum":["kalshi","polymarket"],"type":"string"},"resolution":{"enum":["1m","5m","15m","1h","4h","1d"],"type":"string"},"windowDays":{"type":"integer","maximum":90,"exclusiveMinimum":0}},"additionalProperties":false},"logicalName":"get_correlated_markets","displayName":"get_correlated_markets","title":"get_correlated_markets","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_whale_trades","description":"Recent large Polymarket trades (>= $1k), enriched with trader win-rate, paginated. NOTE: winRate may be null (= unknown, NOT 0%); proTradersOnly=true can return [] if the pro_traders table is not yet backfilled (absence of a pro flag != 'not a pro').","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"integer","exclusiveMinimum":0},"pageSize":{"type":"integer","maximum":100,"exclusiveMinimum":0},"minSizeUsd":{"type":"number","exclusiveMinimum":0},"proTradersOnly":{"type":"boolean"}},"additionalProperties":false},"logicalName":"get_whale_trades","displayName":"get_whale_trades","title":"get_whale_trades","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_whale_profile","description":"Per-wallet trader stats (win rate, PnL, volume, recent trades) — the win-rate authority. winRate is null with <3 closed trades (render 'unknown', never 0%). Win rate is redemption-bias-safe (subgraph realized PnL); only the unrealized-PnL component of total PnL touches the biased Positions API.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["wallet"],"properties":{"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}},"additionalProperties":false},"logicalName":"get_whale_profile","displayName":"get_whale_profile","title":"get_whale_profile","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_whale_leaderboard","description":"Top whale wallets by profit. NOTE: winRate is ALWAYS null in this list — call get_whale_profile for a real win rate.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"logicalName":"get_whale_leaderboard","displayName":"get_whale_leaderboard","title":"get_whale_leaderboard","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_whale_stats","description":"Whale poller diagnostics: { isPolling, lastPollTime, lastTradeTimestamp, recentTradesCount, minTradeSizeUsd }. Check this before trusting an empty whale/signal feed.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"logicalName":"get_whale_stats","displayName":"get_whale_stats","title":"get_whale_stats","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"screen_markets","description":"Filter/sort all open markets on one platform. Kalshi & Polymarket only. NOTE: Kalshi scans with a large `limit` are slow (per-market detail fetches) — keep `limit` modest for Kalshi. Prices are 0-1.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["platform"],"properties":{"limit":{"type":"integer","maximum":500,"exclusiveMinimum":0},"sortBy":{"type":"string"},"maxPrice":{"type":"number","maximum":1,"minimum":0},"minPrice":{"type":"number","maximum":1,"minimum":0},"platform":{"enum":["kalshi","polymarket"],"type":"string"},"minVolume":{"type":"number","minimum":0},"minLiquidity":{"type":"number","minimum":0},"minVolume24h":{"type":"number","minimum":0},"sortDirection":{"enum":["asc","desc"],"type":"string"},"timeRemaining":{"type":"string"}},"additionalProperties":false},"logicalName":"screen_markets","displayName":"screen_markets","title":"screen_markets","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_scanner_categories","description":"List valid scanner category labels.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"logicalName":"get_scanner_categories","displayName":"get_scanner_categories","title":"get_scanner_categories","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"scan_arbitrage","description":"Scan configured Kalshi<->Polymarket pairs for cross-platform arbitrage (fee-adjusted). Kalshi fee is NON-flat: ceil(0.07*P*(1-P)) per side; Polymarket has zero trading fee (only ~$0.01 Polygon gas). Expensive — server-cached; do not poll.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"category":{"enum":["NFL","NBA","Politics","NHL","Soccer","Entertainment","NCAA","Olympics","Economics"],"type":"string"},"minProfitPct":{"type":"number","maximum":100,"minimum":0}},"additionalProperties":false},"logicalName":"scan_arbitrage","displayName":"scan_arbitrage","title":"scan_arbitrage","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"scan_arbitrage_pair","description":"Scan one named arbitrage pair by id. On an unknown id the API returns the list of valid pair ids in the error message — use it to recover (or call list_arbitrage_pairs first).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["pairId"],"properties":{"debug":{"type":"boolean"},"pairId":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"scan_arbitrage_pair","displayName":"scan_arbitrage_pair","title":"scan_arbitrage_pair","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_arbitrage_pairs","description":"List configured arbitrage pairs (optionally filtered by category).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"category":{"enum":["NFL","NBA","Politics","NHL","Soccer","Entertainment","NCAA","Olympics","Economics"],"type":"string"}},"additionalProperties":false},"logicalName":"list_arbitrage_pairs","displayName":"list_arbitrage_pairs","title":"list_arbitrage_pairs","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_arbitrage_config","description":"Current fees, strategies, thresholds, and live Polygon gas / POL price used by the arbitrage calculator.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"logicalName":"get_arbitrage_config","displayName":"get_arbitrage_config","title":"get_arbitrage_config","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_sentiment","description":"Position-holder weighted YES/NO sentiment for a Polymarket market (by conditionId). Weights: NetFlow 50 / Pro 30 / PnL 10 / TVL 10. EXPENSIVE — 3-min server cache, do not poll. Polymarket only. A 50/50 score means 'no data', NOT neutral conviction. Net-flow is from <=500 trades AND <=24h.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"get_sentiment","displayName":"get_sentiment","title":"get_sentiment","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_signals","description":"Real-time smart-money signal feed. Types: volume_spike, whale_cluster (Polymarket-only), price_movement, pro_convergence (Polymarket-only; its inferred BUY->YES side is UNRELIABLE and its winRate/pnl detail are placeholders — do not report them as real). Page backward with cursor.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"type":{"enum":["volume_spike","whale_cluster","price_movement","pro_convergence"],"type":"string"},"limit":{"type":"integer","maximum":100,"exclusiveMinimum":0},"cursor":{"type":"string"},"platform":{"enum":["kalshi","polymarket"],"type":"string"}},"additionalProperties":false},"logicalName":"get_signals","displayName":"get_signals","title":"get_signals","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_market_news","description":"News for one Polymarket market (by conditionId): { related, category, categoryLabel, windowDays }. `related` = articles linked to THIS market (score = linker P(yes)); `category` = the market's category feed. 7-day window, newest first, <=20 per section. Polymarket only — other platforms return { unsupported: true }. Server-cached, do not poll.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"get_market_news","displayName":"get_market_news","title":"get_market_news","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_news_feed","description":"Global news feed: articles from the last 7 days with >=1 linked Polymarket market, newest first, keyset-paginated. Returns { articles: [{ id, url, source, title, lede, publishedAt, category, markets: [{ id, question, eventTitle, url, category, endDate, active, score, rank }] }], nextCursor, windowDays }. Pass nextCursor back as cursor for the next page; null = last page.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","maximum":100,"exclusiveMinimum":0},"cursor":{"type":"string"},"category":{"enum":["politics","econ","sports","crypto"],"type":"string"}},"additionalProperties":false},"logicalName":"get_news_feed","displayName":"get_news_feed","title":"get_news_feed","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_sports_games","description":"The sports slate: every tracked game across leagues, both venues, with fee-adjusted Edge. Returns { leagues: [{code,name,family,ordering,kalshiSeries?,gameCount}], games: [SportsGame], generatedAt, sharpWindowStart, pagesFetched }. Each SportsGame = { slug, league, title, startTime, live, ended, decided, sides: [{key: 'away'|'home'|'draw', name, code?, polymarket: VenueQuote|null, kalshi: VenueQuote|null, sharpNetUsd}], kalshiEventTicker?, polymarketUrl, kalshiUrl?, volume24hUsd, liquidityUsd, c","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"live":{"type":"boolean"},"sort":{"enum":["kickoff","edge","volume","move"],"type":"string"},"limit":{"type":"integer","maximum":500,"exclusiveMinimum":0},"league":{"type":"string","pattern":"^[a-z0-9-]+$"}},"additionalProperties":false},"logicalName":"list_sports_games","displayName":"list_sports_games","title":"list_sports_games","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_sports_game","description":"Full detail for one game: a SportsGame (see list_sports_games) plus spreads: Ladder|null and totals: Ladder|null. Ladder = { kind: 'spread'|'total', rungs: [{marketId, line, side?, price, bid, ask, liquidityUsd, change24h}], impliedLine, impliedSide }. impliedLine is the line where the ladder's price crosses 0.5, interpolated — null when the rungs don't bracket it; impliedSide names which side the implied line favours (spreads only). Read `edge` for the same-game-arbitrage read (see list_sports_","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","minLength":1}},"additionalProperties":false},"logicalName":"get_sports_game","displayName":"get_sports_game","title":"get_sports_game","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_sports_signals","description":"Smart-money signals pinned to games, newest first. Returns { signals: [Signal + {gameSlug, gameTitle, league, marketType, sideLabel}], windowStart, lastUpdated }; sideLabel follows the tape's labelling ('Chargers', 'Over 43.5', 'Chiefs -2.5') and is null when the signal has no side. Gating mirrors the platform signal feed: callers without the realtime-signals entitlement get the same delayed, headline-only form everyone else gets there — detail fields are stripped, not the signals themselves.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"game":{"$ref":"#/properties/league"},"limit":{"type":"integer","maximum":200,"exclusiveMinimum":0},"league":{"type":"string","pattern":"^[a-z0-9-]+$"}},"additionalProperties":false},"logicalName":"get_sports_signals","displayName":"get_sports_signals","title":"get_sports_signals","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_sports_whale_activity","description":"Recent large trades on sports markets, attributed to a game. Premium-gated (whaleFeed entitlement) — callers without it get a TrendIQ API error, not a truncated feed. Returns { trades: [WhaleTrade + {gameSlug, gameTitle, league, marketType, line?, sideLabel}], minSizeUsd, windowStart, lastUpdated }; sideLabel is the same tape labelling used elsewhere ('Chargers', 'Over 43.5', 'Chiefs -2.5'). windowStart is the oldest trade considered, not a fixed lookback. `minSizeUsd` filters the trades returne","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"game":{"$ref":"#/properties/league"},"limit":{"type":"integer","maximum":200,"exclusiveMinimum":0},"league":{"type":"string","pattern":"^[a-z0-9-]+$"},"proOnly":{"type":"boolean"},"minSizeUsd":{"type":"number","minimum":0}},"additionalProperties":false},"logicalName":"get_sports_whale_activity","displayName":"get_sports_whale_activity","title":"get_sports_whale_activity","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"health","description":"TrendIQ API liveness: { status, timestamp, uptime, version }.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"logicalName":"health","displayName":"health","title":"health","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=TrendIQ&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AudHJlbmRpcS5wcm8vbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22TrendIQ%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.trendiq.pro%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22TrendIQ%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.trendiq.pro%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=TrendIQ&connectorUrl=https%3A%2F%2Fmcp.trendiq.pro%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"TrendIQ\" --url \"https://mcp.trendiq.pro/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/trendiq-mcp-fa9d409e9b","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/trendiq-mcp-fa9d409e9b/tools/{tool}","mcpServerUrl":"https://mcp.trendiq.pro/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/trendiq-mcp-fa9d409e9b?live=1"}