Prediction Market X Sentiment
Polymarket & Kalshi sentiment from X (Twitter) via Grok. Free daily scores; live scoring via x402.
使うべきか
品質と安全性
検出事項(2)
- LOWget_pricing 内
- LOWget_health 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"prediction-bot": {
"command": "uvx",
"args": [
"prediction-bot-mcp"
]
}
}
}実行可能なパッケージ
0.2.0stdioリモートエンドポイント
https://prediction-bot-iggf.onrender.com/mcpstreamable-httpできること
ツール一覧
ツール(9)
🟢get_daily_scores
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",
"properties": {},
"title": "get_daily_scoresArguments"
}出力スキーマ
{
"type": "object",
"properties": {
"markets": {
"items": {
"$ref": "#/$defs/ScoredMarket"
},
"title": "Markets",
"type": "array"
},
"count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Count"
},
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Time of the newest score",
"title": "As Of"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Note"
}
},
"$defs": {
"ScoredMarket": {
"additionalProperties": true,
"properties": {
"market_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Polymarket market id",
"title": "Market Id"
},
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Short market label",
"title": "Label"
},
"question": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Market question",
"title": "Question"
},
"score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "X sentiment: -100 very bearish .. +100 very bullish",
"title": "Score"
},
"score_before": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Previous daily score, if any",
"title": "Score Before"
},
"shift": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "score minus score_before",
"title": "Shift"
},
"catalyst": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "One-sentence driver of the chatter",
"title": "Catalyst"
},
"volume_signal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "rising, falling or flat",
"title": "Volume Signal"
},
"polymarket_yes_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Polymarket Yes price (0..1) at scoring time",
"title": "Polymarket Yes Price"
},
"scored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO-8601 UTC time of the score",
"title": "Scored At"
},
"prior_scored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Prior Scored At"
},
"stale": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True when the score is more than 36 hours old",
"title": "Stale"
}
},
"title": "ScoredMarket",
"type": "object"
}
},
"additionalProperties": true,
"title": "DailyScores"
}🟢get_catalog
Free. Machine-readable catalog of every route, price, network and pay-to address.
入力スキーマ
{
"type": "object",
"properties": {},
"title": "get_catalogArguments"
}出力スキーマ
{
"type": "object",
"properties": {
"service": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Service"
},
"base_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Base Url"
},
"network": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Payment network (CAIP-2), e.g. eip155:8453 for Base",
"title": "Network"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"pay_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Pay To"
},
"free": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Free routes",
"title": "Free"
},
"paid": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Paid routes with prices",
"title": "Paid"
}
},
"additionalProperties": true,
"title": "Catalog"
}🟢get_pricing
Free. Current USDC prices for the paid tools.
入力スキーマ
{
"type": "object",
"properties": {},
"title": "get_pricingArguments"
}出力スキーマ
{
"type": "object",
"properties": {
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Currency"
},
"network": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Network"
},
"price_lite": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Price of /top and /shift, e.g. $0.35",
"title": "Price Lite"
},
"price_brief": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Price of /sentiment and /brief, e.g. $0.35",
"title": "Price Brief"
},
"ladder": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Ladder"
}
},
"additionalProperties": true,
"title": "Pricing"
}🟢get_sample
Free. Static example of a sentiment response (not live data) to preview the shape.
入力スキーマ
{
"type": "object",
"properties": {},
"title": "get_sampleArguments"
}出力スキーマ
{
"type": "object",
"properties": {
"demo": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Demo"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Note"
},
"example_request": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Example Request"
},
"example_response": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Example Response"
}
},
"additionalProperties": true,
"title": "Sample"
}🟢get_health
Free. Service status, prices and the routes available.
入力スキーマ
{
"type": "object",
"properties": {},
"title": "get_healthArguments"
}出力スキーマ
{
"type": "object",
"properties": {
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Status"
},
"price_lite": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Lite"
},
"price_brief": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Brief"
},
"network": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Network"
},
"routes": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Routes"
}
},
"additionalProperties": true,
"title": "Health"
}🟢get_top_markets
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",
"properties": {},
"title": "get_top_marketsArguments"
}出力スキーマ
{
"type": "object",
"properties": {
"payment_required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True when no payment was made; accepts and how_to_pay say how to pay",
"title": "Payment Required"
},
"price_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Usd"
},
"accepts": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/PaymentOption"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Accepts"
},
"how_to_pay": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "How To Pay"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Set when a spend cap blocked the call",
"title": "Error"
},
"markets": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Up to 3 markets, each with score, catalyst, volume_signal",
"title": "Markets"
},
"scored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scored At"
}
},
"$defs": {
"PaymentOption": {
"additionalProperties": true,
"properties": {
"scheme": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scheme"
},
"network": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Network"
},
"pay_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Pay To"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"amount_atomic": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount Atomic"
},
"amount_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount Usd"
}
},
"title": "PaymentOption",
"type": "object"
}
},
"additionalProperties": true,
"title": "TopMarkets"
}🟡get_sentiment_shift(q)
Paid (see get_pricing). Change in X sentiment for a market question since its previous score, with both timestamps and the catalyst.
入力スキーマ
{
"type": "object",
"properties": {
"q": {
"description": "A Polymarket or Kalshi market question in plain words, e.g. 'Will the Fed cut rates in October 2026'. Up to 200 characters.",
"maxLength": 200,
"minLength": 1,
"title": "Q",
"type": "string"
}
},
"required": [
"q"
],
"title": "get_sentiment_shiftArguments"
}出力スキーマ
{
"type": "object",
"properties": {
"payment_required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True when no payment was made; accepts and how_to_pay say how to pay",
"title": "Payment Required"
},
"price_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Usd"
},
"accepts": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/PaymentOption"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Accepts"
},
"how_to_pay": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "How To Pay"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Set when a spend cap blocked the call",
"title": "Error"
},
"question": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Question"
},
"score_now": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Score Now"
},
"score_before": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Score Before"
},
"shift": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Shift"
},
"catalyst": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Catalyst"
},
"scored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scored At"
},
"prior_scored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Prior Scored At"
}
},
"$defs": {
"PaymentOption": {
"additionalProperties": true,
"properties": {
"scheme": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scheme"
},
"network": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Network"
},
"pay_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Pay To"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"amount_atomic": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount Atomic"
},
"amount_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount Usd"
}
},
"title": "PaymentOption",
"type": "object"
}
},
"additionalProperties": true,
"title": "SentimentShift"
}🟢get_market_sentiment(q)
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",
"properties": {
"q": {
"description": "A Polymarket or Kalshi market question in plain words, e.g. 'Will the Fed cut rates in October 2026'. Up to 200 characters.",
"maxLength": 200,
"minLength": 1,
"title": "Q",
"type": "string"
}
},
"required": [
"q"
],
"title": "get_market_sentimentArguments"
}出力スキーマ
{
"type": "object",
"properties": {
"payment_required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True when no payment was made; accepts and how_to_pay say how to pay",
"title": "Payment Required"
},
"price_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Usd"
},
"accepts": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/PaymentOption"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Accepts"
},
"how_to_pay": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "How To Pay"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Set when a spend cap blocked the call",
"title": "Error"
},
"question": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Question"
},
"score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "-100 very bearish .. +100 very bullish",
"title": "Score"
},
"catalyst": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Catalyst"
},
"volume_signal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "rising, falling or flat",
"title": "Volume Signal"
},
"scored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scored At"
}
},
"$defs": {
"PaymentOption": {
"additionalProperties": true,
"properties": {
"scheme": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scheme"
},
"network": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Network"
},
"pay_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Pay To"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"amount_atomic": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount Atomic"
},
"amount_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount Usd"
}
},
"title": "PaymentOption",
"type": "object"
}
},
"additionalProperties": true,
"title": "MarketSentiment"
}🟡get_market_brief(q)
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",
"properties": {
"q": {
"description": "A Polymarket or Kalshi market question in plain words, e.g. 'Will the Fed cut rates in October 2026'. Up to 200 characters.",
"maxLength": 200,
"minLength": 1,
"title": "Q",
"type": "string"
}
},
"required": [
"q"
],
"title": "get_market_briefArguments"
}出力スキーマ
{
"type": "object",
"properties": {
"payment_required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True when no payment was made; accepts and how_to_pay say how to pay",
"title": "Payment Required"
},
"price_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Usd"
},
"accepts": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/PaymentOption"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Accepts"
},
"how_to_pay": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "How To Pay"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Url"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Set when a spend cap blocked the call",
"title": "Error"
},
"question": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Question"
},
"score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "-100 very bearish .. +100 very bullish",
"title": "Score"
},
"catalyst": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Catalyst"
},
"volume_signal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "rising, falling or flat",
"title": "Volume Signal"
},
"scored_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scored At"
},
"shift": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Change since the previous score",
"title": "Shift"
},
"score_before": {
"anyOf": [
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Score Before"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "One-line summary",
"title": "Summary"
},
"odds": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Live Polymarket and Kalshi Yes prices for the matched market",
"title": "Odds"
}
},
"$defs": {
"PaymentOption": {
"additionalProperties": true,
"properties": {
"scheme": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scheme"
},
"network": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Network"
},
"pay_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Pay To"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"amount_atomic": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount Atomic"
},
"amount_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Amount Usd"
}
},
"title": "PaymentOption",
"type": "object"
}
},
"additionalProperties": true,
"title": "MarketBrief"
}コミュニティ
エビデンス