Prediction Market X Sentiment
Polymarket & Kalshi sentiment from X (Twitter) via Grok. Free daily scores; live scoring via x402.
我该使用它吗
质量与安全性
发现(2)
- LOW在 get_pricing 中
- LOW在 get_health 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `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"
}社区
证据