MCPサーバー

Prediction Market X Sentiment

io.github.wballztrading1/prediction-bot
金融・投資 ソーシャルメディア 公開・接続可能 MCP 2025-11-25

このMCPでできること

Reports X sentiment, catalysts, volume trends, and live odds for Polymarket and Kalshi prediction-market questions.

get_catalog
Route catalog (free)
Free. Machine-readable catalog of every route, price, network and pay-to address.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'title': 'get_catalogArguments', 'properties': {}}
出力スキーマ
{'type': 'object', 'title': 'Catalog', 'properties': {'free': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, {'type': 'null'}], 'title': 'Free', 'default': None, 'description': 'Free routes'}, 'paid': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, {'type': 'null'}], 'title': 'Paid', 'default': None, 'description': 'Paid routes with prices'}, 'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'pay_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Pay To', 'default': None}, 'network': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Network', 'default': None, 'description': 'Payment network (CAIP-2), e.g. eip155:8453 for Base'}, 'service': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Service', 'default': None}, 'base_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Base Url', 'default': None}}, 'additionalProperties': True}
get_daily_scores
Daily market scores (free)
Free. Latest daily X (Twitter) sentiment score for each prediction market we track (Polymarket), with the change since the previous day, the catalyst and the market's Yes price. For a fresh score on any other question use get_market_sentiment.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'title': 'get_daily_scoresArguments', 'properties': {}}
出力スキーマ
{'type': 'object', '$defs': {'ScoredMarket': {'type': 'object', 'title': 'ScoredMarket', 'properties': {'label': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Label', 'default': None, 'description': 'Short market label'}, 'score': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Score', 'default': None, 'description': 'X sentiment: -100 very bearish .. +100 very bullish'}, 'shift': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Shift', 'default': None, 'description': 'score minus score_before'}, 'stale': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Stale', 'default': None, 'description': 'True when the score is more than 36 hours old'}, 'catalyst': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Catalyst', 'default': None, 'description': 'One-sentence driver of the chatter'}, 'question': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Question', 'default': None, 'description': 'Market question'}, 'market_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Market Id', 'default': None, 'description': 'Polymarket market id'}, 'scored_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scored At', 'default': None, 'description': 'ISO-8601 UTC time of the score'}, 'score_before': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Score Before', 'default': None, 'description': 'Previous daily score, if any'}, 'volume_signal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Volume Signal', 'default': None, 'description': 'rising, falling or flat'}, 'prior_scored_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Prior Scored At', 'default': None}, 'polymarket_yes_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Polymarket Yes Price', 'default': None, 'description': 'Polymarket Yes price (0..1) at scoring time'}}, 'additionalProperties': True}}, 'title': 'DailyScores', 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Note', 'default': None}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None, 'description': 'Time of the newest score'}, 'count': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Count', 'default': None}, 'markets': {'type': 'array', 'items': {'$ref': '#/$defs/ScoredMarket'}, 'title': 'Markets'}}, 'additionalProperties': True}
get_health
Service status (free)
Free. Service status, prices and the routes available.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'title': 'get_healthArguments', 'properties': {}}
出力スキーマ
{'type': 'object', 'title': 'Health', 'properties': {'routes': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Routes', 'default': None}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Status', 'default': None}, 'network': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Network', 'default': None}, 'price_lite': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Price Lite', 'default': None}, 'price_brief': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Price Brief', 'default': None}}, 'additionalProperties': True}
get_market_brief
Market brief with live odds
Paid (see get_pricing). Full brief for a market question: score, catalyst, volume trend, change since the previous score, a one-line summary and live Polymarket and Kalshi odds.
外部アクセスあり
入力スキーマ
{'type': 'object', 'title': 'get_market_briefArguments', 'required': ['q'], 'properties': {'q': {'type': 'string', 'title': 'Q', 'maxLength': 200, 'minLength': 1, 'description': "A Polymarket or Kalshi market question in plain words, e.g. 'Will the Fed cut rates in October 2026'. Up to 200 characters."}}}
出力スキーマ
{'type': 'object', '$defs': {'PaymentOption': {'type': 'object', 'title': 'PaymentOption', 'properties': {'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'pay_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Pay To', 'default': None}, 'scheme': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scheme', 'default': None}, 'network': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Network', 'default': None}, 'amount_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Amount Usd', 'default': None}, 'amount_atomic': {'anyOf': [{'type': 'integer'}, {'type': 'string'}, {'type': 'null'}], 'title': 'Amount Atomic', 'default': None}}, 'additionalProperties': True}}, 'title': 'MarketBrief', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Url', 'default': None}, 'odds': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Odds', 'default': None, 'description': 'Live Polymarket and Kalshi Yes prices for the matched market'}, 'error': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Error', 'default': None, 'description': 'Set when a spend cap blocked the call'}, 'score': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Score', 'default': None, 'description': '-100 very bearish .. +100 very bullish'}, 'shift': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Shift', 'default': None, 'description': 'Change since the previous score'}, 'accepts': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/PaymentOption'}}, {'type': 'null'}], 'title': 'Accepts', 'default': None}, 'summary': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Summary', 'default': None, 'description': 'One-line summary'}, 'catalyst': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Catalyst', 'default': None}, 'question': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Question', 'default': None}, 'price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Price Usd', 'default': None}, 'scored_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scored At', 'default': None}, 'how_to_pay': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'How To Pay', 'default': None}, 'score_before': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Score Before', 'default': None}, 'volume_signal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Volume Signal', 'default': None, 'description': 'rising, falling or flat'}, 'payment_required': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Payment Required', 'default': None, 'description': 'True when no payment was made; accepts and how_to_pay say how to pay'}}, 'additionalProperties': True}
get_market_sentiment
Live sentiment for a market
Paid (see get_pricing). Fresh X (Twitter) sentiment for any Polymarket or Kalshi market question: score -100..100, the catalyst driving the chatter and the volume trend.
外部アクセスあり
入力スキーマ
{'type': 'object', 'title': 'get_market_sentimentArguments', 'required': ['q'], 'properties': {'q': {'type': 'string', 'title': 'Q', 'maxLength': 200, 'minLength': 1, 'description': "A Polymarket or Kalshi market question in plain words, e.g. 'Will the Fed cut rates in October 2026'. Up to 200 characters."}}}
出力スキーマ
{'type': 'object', '$defs': {'PaymentOption': {'type': 'object', 'title': 'PaymentOption', 'properties': {'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'pay_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Pay To', 'default': None}, 'scheme': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scheme', 'default': None}, 'network': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Network', 'default': None}, 'amount_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Amount Usd', 'default': None}, 'amount_atomic': {'anyOf': [{'type': 'integer'}, {'type': 'string'}, {'type': 'null'}], 'title': 'Amount Atomic', 'default': None}}, 'additionalProperties': True}}, 'title': 'MarketSentiment', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Url', 'default': None}, 'error': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Error', 'default': None, 'description': 'Set when a spend cap blocked the call'}, 'score': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Score', 'default': None, 'description': '-100 very bearish .. +100 very bullish'}, 'accepts': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/PaymentOption'}}, {'type': 'null'}], 'title': 'Accepts', 'default': None}, 'catalyst': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Catalyst', 'default': None}, 'question': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Question', 'default': None}, 'price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Price Usd', 'default': None}, 'scored_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scored At', 'default': None}, 'how_to_pay': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'How To Pay', 'default': None}, 'volume_signal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Volume Signal', 'default': None, 'description': 'rising, falling or flat'}, 'payment_required': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Payment Required', 'default': None, 'description': 'True when no payment was made; accepts and how_to_pay say how to pay'}}, 'additionalProperties': True}
get_pricing
Current prices (free)
Free. Current USDC prices for the paid tools.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'title': 'get_pricingArguments', 'properties': {}}
出力スキーマ
{'type': 'object', 'title': 'Pricing', 'properties': {'ladder': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Ladder', 'default': None}, 'network': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Network', 'default': None}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Currency', 'default': None}, 'price_lite': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Price Lite', 'default': None, 'description': 'Price of /top and /shift, e.g. $0.35'}, 'price_brief': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Price Brief', 'default': None, 'description': 'Price of /sentiment and /brief, e.g. $0.35'}}, 'additionalProperties': True}
get_sample
Example response (free)
Free. Static example of a sentiment response (not live data) to preview the shape.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'title': 'get_sampleArguments', 'properties': {}}
出力スキーマ
{'type': 'object', 'title': 'Sample', 'properties': {'demo': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Demo', 'default': None}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Note', 'default': None}, 'example_request': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Example Request', 'default': None}, 'example_response': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Example Response', 'default': None}}, 'additionalProperties': True}
get_sentiment_shift
Sentiment change for a market
Paid (see get_pricing). Change in X sentiment for a market question since its previous score, with both timestamps and the catalyst.
外部アクセスあり
入力スキーマ
{'type': 'object', 'title': 'get_sentiment_shiftArguments', 'required': ['q'], 'properties': {'q': {'type': 'string', 'title': 'Q', 'maxLength': 200, 'minLength': 1, 'description': "A Polymarket or Kalshi market question in plain words, e.g. 'Will the Fed cut rates in October 2026'. Up to 200 characters."}}}
出力スキーマ
{'type': 'object', '$defs': {'PaymentOption': {'type': 'object', 'title': 'PaymentOption', 'properties': {'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'pay_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Pay To', 'default': None}, 'scheme': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scheme', 'default': None}, 'network': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Network', 'default': None}, 'amount_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Amount Usd', 'default': None}, 'amount_atomic': {'anyOf': [{'type': 'integer'}, {'type': 'string'}, {'type': 'null'}], 'title': 'Amount Atomic', 'default': None}}, 'additionalProperties': True}}, 'title': 'SentimentShift', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Url', 'default': None}, 'error': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Error', 'default': None, 'description': 'Set when a spend cap blocked the call'}, 'shift': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Shift', 'default': None}, 'accepts': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/PaymentOption'}}, {'type': 'null'}], 'title': 'Accepts', 'default': None}, 'catalyst': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Catalyst', 'default': None}, 'question': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Question', 'default': None}, 'price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Price Usd', 'default': None}, 'score_now': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Score Now', 'default': None}, 'scored_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scored At', 'default': None}, 'how_to_pay': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'How To Pay', 'default': None}, 'score_before': {'anyOf': [{'type': 'integer'}, {'type': 'number'}, {'type': 'null'}], 'title': 'Score Before', 'default': None}, 'prior_scored_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Prior Scored At', 'default': None}, 'payment_required': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Payment Required', 'default': None, 'description': 'True when no payment was made; accepts and how_to_pay say how to pay'}}, 'additionalProperties': True}
get_top_markets
Most-discussed markets on X
Paid (see get_pricing). The three Polymarket/Kalshi markets most discussed on X right now, each with a sentiment score (-100..100), catalyst and volume trend.
外部アクセスあり
入力スキーマ
{'type': 'object', 'title': 'get_top_marketsArguments', 'properties': {}}
出力スキーマ
{'type': 'object', '$defs': {'PaymentOption': {'type': 'object', 'title': 'PaymentOption', 'properties': {'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'pay_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Pay To', 'default': None}, 'scheme': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scheme', 'default': None}, 'network': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Network', 'default': None}, 'amount_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Amount Usd', 'default': None}, 'amount_atomic': {'anyOf': [{'type': 'integer'}, {'type': 'string'}, {'type': 'null'}], 'title': 'Amount Atomic', 'default': None}}, 'additionalProperties': True}}, 'title': 'TopMarkets', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Url', 'default': None}, 'error': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Error', 'default': None, 'description': 'Set when a spend cap blocked the call'}, 'accepts': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/PaymentOption'}}, {'type': 'null'}], 'title': 'Accepts', 'default': None}, 'markets': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, {'type': 'null'}], 'title': 'Markets', 'default': None, 'description': 'Up to 3 markets, each with score, catalyst, volume_signal'}, 'price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Price Usd', 'default': None}, 'scored_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scored At', 'default': None}, 'how_to_pay': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'How To Pay', 'default': None}, 'payment_required': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Payment Required', 'default': None, 'description': 'True when no payment was made; accepts and how_to_pay say how to pay'}}, 'additionalProperties': True}
追加
get_market_brief
2026年10月5日2:40
追加
get_market_sentiment
2026年10月5日2:40
追加
get_sentiment_shift
2026年10月5日2:40
追加
get_top_markets
2026年10月5日2:40
追加
get_health
2026年10月5日2:40
追加
get_sample
2026年10月5日2:40
追加
get_pricing
2026年10月5日2:40
追加
get_catalog
2026年10月5日2:40
追加
get_daily_scores
2026年10月5日2:40