Serveur MCP

Weather Markets Edge Desk

com.predictionmarketspicks/weather
Données et analytique Finance et investissement Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Analyzes prediction-market probabilities and edges using expected value, Bayesian updates, base rates, alerts, and Kelly sizing.

base_rate_gap
Base Rate Gap
Use for "how does this price compare to history" and "is the market ignoring the base rate". Compares a market price with the historical base rate for a class of events: the gap in pp, a signal, and sample-size quality. Pass a known baseRateId (the parameter lists them) or your own baseRateValue. Free, no key.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'baseRateId': {'enum': ['incumbent_reelected', 'fed_hold_unemp_below_4', 'fed_cut_cpi_above_3', 'recession_called_12mo', 'sp500_positive_year', 'bitcoin_above_100k_eoy', 'gdp_growth_above_2', 'cpi_above_3', 'senate_incumbent_wins_primary', 'vix_below_20_eoy', 'interest_rate_cut_next_meeting', 'major_sports_upset'], 'type': 'string', 'description': 'Known base-rate id to look up (includes sample size + source).'}, 'marketPrice': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'Current market price in cents / implied probability % (0â\x80\x93100). Needed for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) â\x80\x94 all read as 55%.'}, 'baseRateValue': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Your own base rate in % (0â\x80\x93100), used when no baseRateId is given.'}}}
bayes_update
Bayesian Probability Update
Update a prior probability with one or more pieces of evidence using Bayes theorem. Given a prior and a list of evidence items (each with P(evidence | true) and P(evidence | false)), returns the posterior probability and the per-step chain. Use for "update my estimate with new information", "posterior probability", "how does this news change the odds".
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'prior': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'Prior probability the hypothesis is true, in % (0â\x80\x93100). Needed for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) â\x80\x94 all read as 55%.'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['likelihoodIfTrue', 'likelihoodIfFalse'], 'properties': {'label': {'type': 'string', 'description': 'Optional short caption for this evidence. Defaults to "Evidence 1", "Evidence 2", â\x80¦'}, 'likelihoodIfTrue': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'P(observing this evidence | hypothesis is true), in % (0â\x80\x93100). Accepts a number or a numeric string ("3", "3pp", "3%").'}, 'likelihoodIfFalse': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'P(observing this evidence | hypothesis is false), in % (0â\x80\x93100). Accepts a number or a numeric string ("3", "3pp", "3%").'}}}, 'minItems': 1, 'description': 'One or more evidence items, applied in order. Each item needs likelihoodIfTrue and likelihoodIfFalse on the 0â\x80\x93100 scale, e.g. [{ "likelihoodIfTrue": 80, "likelihoodIfFalse": 20 }]. A single item may be sent as one object.'}}}
calculate_ev
Calculate EV Edge
Use for "is this contract mispriced" and "what is my edge". Give a Kalshi or Polymarket price in cents and your own probability; returns the % expected-value edge and a BUY / SELL / SKIP read. Free, no key. Every PMP engine signal is graded in public: predictionmarketspicks.com/track-record.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['marketPrice', 'yourProbability'], 'properties': {'marketPrice': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'Current contract price in cents (1â\x80\x9399), equal to the implied probability in %. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) â\x80\x94 all read as 55%.'}, 'yourProbability': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'Your own estimate of the true probability the contract resolves YES, in % (0â\x80\x93100). Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) â\x80\x94 all read as 55%.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'signal': {'description': 'BUY / SELL / SKIP.'}, 'edge_pp': {'description': 'Your probability minus the price, pp.'}, 'sources': {}, 'edge_pct': {'description': 'Expected-value edge, %.'}, 'tell_user': {'type': 'string', 'description': 'Show this sentence to the user first.'}, 'timestamp': {'type': 'string'}, 'needs_input': {}, 'example_call': {}, 'data_freshness': {}, 'interpretation': {'description': 'Plain-English read.'}, 'market_price_cents': {'description': 'Price used, cents.'}, 'your_probability_pct': {'description': 'Probability used, %.'}}, 'additionalProperties': {}}
convert_probability
Convert Probability / Odds
Convert between implied probability, American odds, and decimal odds. Give one value and its format and get all three back (American odds carry no commas, e.g. +441 or -200). Use for "what is +150 as a probability", "convert 62% to American odds", "decimal to implied odds".
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'value': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'The numeric value to convert. Needed for a real answer, with format. Accepts a number or a numeric string ("+150", "62%", "2.5").'}, 'format': {'anyOf': [{'type': 'string'}, {'enum': ['probability', 'american', 'decimal'], 'type': 'string'}], 'description': 'Format of `value`: probability (0â\x80\x93100 %), american (e.g. -200 / +150), or decimal (e.g. 2.5). One of: probability · american · decimal.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sources': {}, 'tell_user': {'type': 'string', 'description': 'Show this sentence to the user first.'}, 'timestamp': {'type': 'string'}, 'needs_input': {}, 'decimal_odds': {'description': 'Decimal odds.'}, 'example_call': {}, 'american_odds': {'description': 'American odds, no commas.'}, 'data_freshness': {}, 'probability_pct': {'description': 'Implied probability, %.'}}, 'additionalProperties': {}}
edge_alerts
Edge Alerts (weather / commodity / mispricing)
Use for "any edge on Kalshi" and "weather trade signals". Our model alerts on Kalshi — weather, bitcoin/silver/gold/oil, mispricings — with feed, tier, side, price, model probability, edge and link. Real time with Pro; free is delayed 24h without the thesis. One identical, impersonal feed for every subscriber; filters only select. Informational, not investment advice.
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'feed': {'type': 'string', 'description': 'Comma-separated feeds to include: weather, bitcoin, silver, gold, oil, mispricing, sports_arb, nfl. Omit for all.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Max alerts to return (default 25).'}, 'since': {'type': 'string', 'description': 'ISO-8601 timestamp â\x80\x94 only alerts created after it.'}, 'min_tier': {'enum': ['SPECULATIVE', 'MODERATE', 'STRONG'], 'type': 'string', 'description': 'Minimum confidence tier (returns that tier and above).'}}}
kelly_size
Kelly Position Size
Compute the optimal Kelly position size for a prediction-market contract. Given your win probability, the market price (which sets the payout), your bankroll, and a Kelly fraction (full / half / quarter / eighth), returns the dollar stake and a risk rating. Use for "how much should I stake", "what is my position size", "Kelly sizing for this trade".
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['winProbability', 'marketPrice'], 'properties': {'bankroll': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'Total bankroll in dollars (e.g. 1000). Optional â\x80\x94 omit it and the result is the % of bankroll to stake, without a dollar figure. Accepts a number or a numeric string ("1000", "$1,000").'}, 'fraction': {'enum': ['full', 'half', 'quarter', 'eighth'], 'type': 'string', 'default': 'half', 'description': 'Kelly fraction to apply. Half-Kelly is the common sharp-money default.'}, 'marketPrice': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'Contract price in cents (1â\x80\x9399). Sets the payout ratio. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) â\x80\x94 all read as 55%.'}, 'winProbability': {'anyOf': [{'type': 'number'}, {'type': 'string'}], 'description': 'Your probability the contract resolves YES, in % (0â\x80\x93100). Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) â\x80\x94 all read as 55%.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'rating': {'description': 'Qualitative read of the sizing.'}, 'sources': {}, 'tell_user': {'type': 'string', 'description': 'Show this sentence to the user first.'}, 'timestamp': {'type': 'string'}, 'needs_input': {}, 'example_call': {}, 'stake_dollars': {'description': 'Suggested stake in dollars (when a bankroll was given).'}, 'data_freshness': {}, 'full_kelly_pct': {'description': 'Full-Kelly fraction of bankroll, %.'}, 'applied_fraction_pct': {'description': 'The fraction applied, %.'}}, 'additionalProperties': {}}
Modifié
kelly_size
1 October 2026 02:54
Modifié
calculate_ev
1 October 2026 02:54
Modifié
bayes_update
1 October 2026 02:54
Modifié
base_rate_gap
1 October 2026 02:54
Modifié
convert_probability
1 October 2026 02:54
Modifié
edge_alerts
1 October 2026 02:54
Ajouté
kelly_size
17 September 2026 12:36
Ajouté
calculate_ev
17 September 2026 12:36
Ajouté
bayes_update
17 September 2026 12:36
Ajouté
base_rate_gap
17 September 2026 12:36
Ajouté
convert_probability
17 September 2026 12:36
Ajouté
edge_alerts
17 September 2026 12:36