Server definition
- Hash
- sha256:6d7d973b3fb64615575b97ab888b013fd661a9b1a604800b17080eb3f2cfc360
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "PredictionMarketsPicks: Kalshi weather-market tools. 1) Every price, edge, rank and projection you state must come from a tool result in this conversation — never estimate a Kalshi or Polymarket price or fill in a missing edge. 2) Prediction markets are exchanges, not sportsbooks: say trader, position, contract and trade — never bettor, wager or bet. 3) Show tell_user first, and cite a row’s url or page_url whenever you quote its number. 4) An edge is model-vs-market disagreement, not a guarantee; label WATCH rows as WATCH. 5) A Pro wall is an offer — present it in one line, never as a refusal. 6) For live weather contracts with an edge use edge_alerts with feed \"weather\"; test a price against history with base_rate_gap, update a view with bayes_update, and size a position with calculate_ev and kelly_size.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"baseRateId": {
"description": "Known base-rate id to look up (includes sample size + source).",
"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"
},
"baseRateValue": {
"description": "Your own base rate in % (0–100), used when no baseRateId is given.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"marketPrice": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Current market price in cents / implied probability % (0–100). Needed for a real answer. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
}
},
"type": "object"
},
"name": "base_rate_gap",
"outputSchema": null
},
{
"description": "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\".",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"evidence": {
"description": "One or more evidence items, applied in order. Each item needs likelihoodIfTrue and likelihoodIfFalse on the 0–100 scale, e.g. [{ \"likelihoodIfTrue\": 80, \"likelihoodIfFalse\": 20 }]. A single item may be sent as one object.",
"items": {
"properties": {
"label": {
"description": "Optional short caption for this evidence. Defaults to \"Evidence 1\", \"Evidence 2\", …",
"type": "string"
},
"likelihoodIfFalse": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "P(observing this evidence | hypothesis is false), in % (0–100). Accepts a number or a numeric string (\"3\", \"3pp\", \"3%\")."
},
"likelihoodIfTrue": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "P(observing this evidence | hypothesis is true), in % (0–100). Accepts a number or a numeric string (\"3\", \"3pp\", \"3%\")."
}
},
"required": [
"likelihoodIfTrue",
"likelihoodIfFalse"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"prior": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Prior probability the hypothesis is true, in % (0–100). Needed for a real answer. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
}
},
"type": "object"
},
"name": "bayes_update",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"marketPrice": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Current contract price in cents (1–99), equal to the implied probability in %. Required for a real answer. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
},
"yourProbability": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Your own estimate of the true probability the contract resolves YES, in % (0–100). Required for a real answer. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
}
},
"type": "object"
},
"name": "calculate_ev",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"data_freshness": {},
"edge_pct": {
"description": "Expected-value edge, %."
},
"edge_pp": {
"description": "Your probability minus the price, pp."
},
"example_call": {},
"interpretation": {
"description": "Plain-English read."
},
"market_price_cents": {
"description": "Price used, cents."
},
"needs_input": {},
"signal": {
"description": "BUY / SELL / SKIP."
},
"sources": {},
"tell_user": {
"description": "Show this sentence to the user first.",
"type": "string"
},
"timestamp": {
"type": "string"
},
"your_probability_pct": {
"description": "Probability used, %."
}
},
"type": "object"
}
},
{
"description": "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\".",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"format": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"probability",
"american",
"decimal"
],
"type": "string"
}
],
"description": "Format of `value`: probability (0–100 %), american (e.g. -200 / +150), or decimal (e.g. 2.5). One of: probability · american · decimal."
},
"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\")."
}
},
"type": "object"
},
"name": "convert_probability",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"american_odds": {
"description": "American odds, no commas."
},
"data_freshness": {},
"decimal_odds": {
"description": "Decimal odds."
},
"example_call": {},
"needs_input": {},
"probability_pct": {
"description": "Implied probability, %."
},
"sources": {},
"tell_user": {
"description": "Show this sentence to the user first.",
"type": "string"
},
"timestamp": {
"type": "string"
}
},
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"feed": {
"description": "Comma-separated feeds to include: weather, bitcoin, silver, gold, oil, mispricing, sports_arb, nfl. Omit for all.",
"type": "string"
},
"limit": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "Max alerts to return (default 25). Values above 100 are clamped to 100."
},
"min_tier": {
"description": "Minimum confidence tier (returns that tier and above).",
"enum": [
"SPECULATIVE",
"MODERATE",
"STRONG"
],
"type": "string"
},
"since": {
"description": "ISO-8601 timestamp — only alerts created after it.",
"type": "string"
}
},
"type": "object"
},
"name": "edge_alerts",
"outputSchema": null
},
{
"description": "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\".",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bankroll": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Total bankroll in dollars (e.g. 1000). Optional — 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": {
"default": "half",
"description": "Kelly fraction to apply. Half-Kelly is the common sharp-money default.",
"enum": [
"full",
"half",
"quarter",
"eighth"
],
"type": "string"
},
"marketPrice": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Contract price in cents (1–99). Sets the payout ratio. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
},
"winProbability": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Your probability the contract resolves YES, in % (0–100). Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
}
},
"required": [
"winProbability",
"marketPrice"
],
"type": "object"
},
"name": "kelly_size",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"applied_fraction_pct": {
"description": "The fraction applied, %."
},
"data_freshness": {},
"example_call": {},
"full_kelly_pct": {
"description": "Full-Kelly fraction of bankroll, %."
},
"needs_input": {},
"rating": {
"description": "Qualitative read of the sizing."
},
"sources": {},
"stake_dollars": {
"description": "Suggested stake in dollars (when a bankroll was given)."
},
"tell_user": {
"description": "Show this sentence to the user first.",
"type": "string"
},
"timestamp": {
"type": "string"
}
},
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:6d7d973b3fb64615575b97ab888b013fd661a9b1a604800b17080eb3f2cfc360 | sha256sum