# simplefunctions MCP server

Calibrated world model for AI agents. tools: world state, markets, trading. Kalshi + Polymarket.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-spfunctions-simplefunctions
- Repository: https://github.com/spfunctions/simplefunctions-cli

## Install
- Command: `npx -y @spfunctions/cli`
- Endpoint: https://simplefunctions.dev/api/mcp/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @spfunctions/cli v1.7.22
- Remote endpoint: https://simplefunctions.dev/api/mcp/mcp

## Tools
- get_context - START HERE. Global market snapshot: top edges (mispriced contracts), price movers, highlights, traditional markets — live exchange data updated every 15 min. With thesisId + apiKey: thesis-specific context including causal tree, edges with orderbook depth, evaluation history, and track record. Global context is free-tier and rate-limited; API keys unlock higher limits. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_theses - List all theses for the authenticated user. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- inject_signal - Feed an observation into a thesis — news, price move, or external event. Consumed in next evaluation cycle to update confidence and edges. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- trigger_evaluation - Force immediate evaluation: consume all pending signals, re-scan edges, update confidence. Use after injecting important signals. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- scan_markets - Search Kalshi prediction markets by keyword, series, or ticker. Returns live prices and volume — data not available via web search. Free-tier and rate-limited. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- create_thesis - Create a new prediction market thesis from a TESTABLE CLAIM — a statement that can be verified true or false at a future time. GOOD: "Bitcoin closes 2026 above $50,000". BAD: "High conviction due to large price gap" (that is reasoning, not a claim). Builds a causal tree and scans for mispriced contracts. Formation takes ~60s. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- explore_public - Browse public theses from other users. Free-tier and rate-limited. Pass a slug to get details, or omit to list all. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_markets - Get traditional market prices via Databento. Default: SPY, VIX, TLT, GLD, USO. Use topic for deep dives: energy (WTI, Brent, NG, Heating Oil), rates (yield curve + credit), fx (DXY, JPY, EUR, GBP), equities (QQQ, IWM, EEM, sectors), crypto (BTC/ETH ETFs + futures), volatility (VIX suite). Endpoint: https://simplefunctions.dev/api/mcp/mcp
- query_databento - Free-form historical market data query via Databento. Stocks, ETFs, CME futures (WTI, Brent, bonds, VIX, FX, BTC), options. OHLCV daily/hourly/minute, trades, BBO. Max 30 days, 5 symbols, 500 rows. Free-tier and rate-limited. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- query - BEST FOR QUESTIONS. Ask any question about probabilities or future events. Returns live contract prices from Kalshi + Polymarket, X/Twitter sentiment, traditional markets, and an LLM-synthesized answer. Free-tier and rate-limited; API keys unlock higher limits. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- screen_markets - Indicator-based market screener. The middle layer between raw price scan and LLM thesis edges. Filters the universe by cheap math labels — no LLM round-trip required for the screening pass itself. Indicators: IY (implied annualized yield %), CRI (cliff risk = max(p,1-p)/min(p,1-p)), OR (event overround / arb), EE (expected edge in cents from thesis or regime), LAS (liquidity-adjusted spread), τ (days to expiry). Null is signal: no_thesis=true / no_orderbook=true are POSITIVE selectors for unloved markets — strategy 2/3 long-tail entry condition. Free-tier and rate-limited; API keys unlock higher limits. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- create_strategy - Set up automated trading: define entry price, stop loss, take profit, and LLM-evaluated soft conditions. The heartbeat engine checks conditions every 15 min and executes when met. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_strategies - Advanced: List trading strategies for a thesis. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- update_strategy - Advanced: Update a trading strategy (stop loss, take profit, status). Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_milestones - Get upcoming events from Kalshi calendar (economic releases, political events, catalysts). Free-tier and rate-limited. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_forecast - Advanced: P50/P75/P90 percentile distribution for a Kalshi event — shows how market consensus shifted over time. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_settlements - Advanced: Settled contracts with realized P&L. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_balance - Advanced: Kalshi account balance and portfolio value. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_orders - Advanced: Current resting orders on Kalshi. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_schedule - Get exchange status and trading hours Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_fills - Advanced: Recent trade fills on Kalshi. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- what_if - Scenario analysis: "what if OPEC cuts production?" Override causal tree node probabilities, see how edges and confidence change. Zero LLM cost, instant. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- augment_tree - Advanced: Merge suggested causal tree nodes from evaluations into the tree (append-only). Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_edges - Top mispriced markets across all theses, ranked by edge size. Shows where your model disagrees with the market. No auth = public thesis edges. Auth = private + public. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_trade_ideas - S&T-style trade recommendations: actionable pitches synthesized from live market data, edges, and macro context. Each idea has conviction level, catalyst timing, direction, and risk. Free-tier and rate-limited. START HERE when looking for what to trade. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- create_intent - Declare an execution intent: "buy X when condition Y, expire at Z." Intents are the single gateway for all order execution. The local runtime daemon evaluates triggers and executes via user's Kalshi/Polymarket keys. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_intents - List execution intents — pending, armed, triggered, executing, partial, filled, expired, cancelled, rejected. Shows the full execution pipeline status. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- cancel_intent - Cancel an active intent. Stops trigger evaluation and prevents execution. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- search_x - Search X/Twitter for social sentiment on any topic. Returns posts sorted by engagement. Not available via web search — uses X API directly. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- x_volume - Advanced: X/Twitter discussion volume trend — timeseries, velocity, peak activity. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- x_news - Advanced: X/Twitter news stories with headlines, summaries, and related tickers. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- x_account - Advanced: Recent posts from a specific X/Twitter account. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- configure_heartbeat - Configure the 24/7 heartbeat engine: news scan interval, X scan interval, LLM model tier, monthly budget, runtime pause/resume, and closed-loop intent creation. Agent can speed up monitoring during high volatility or slow down to save budget. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- update_thesis - Update thesis metadata: title, lifecycle status (active/paused/archived), webhookUrl. Use configure_heartbeat.paused for runtime heartbeat pause/resume. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- add_position - Record a new position in a thesis for tracking. Use after an intent fills or a manual trade. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- update_position - Update a position: current price, edge, size, status (open→closed). Use to mark positions as closed or update tracking data. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- close_position - Delete a position record from a thesis. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_evaluation_history - Confidence trajectory over time — daily aggregated evaluations for a thesis. Use to analyze trends, detect convergence/divergence. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- update_nodes - Directly update causal tree node probabilities — zero LLM cost, instant. Use when the agent observes a confirmed fact (e.g. "CPI came in at 3.2%") and wants to reflect it immediately. Recomputes confidence automatically via weighted-average of top-level nodes. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_heartbeat_status - Get heartbeat config + this month's cost summary for a thesis. See news/X scan intervals, model tier, budget usage. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- monitor_the_situation - Universal web intelligence. Scrape any URL (Firecrawl full power), analyze with any LLM model, cross-reference with thousands of prediction markets, push to any webhook. Requires API key (apiKey parameter). For free demo, use enrich_content instead. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- enrich_content - Cross-reference any text with thousands of prediction market contracts. Paste content + topics, get divergence analysis: where sentiment disagrees with market prices. No auth, no Firecrawl needed. Demo/trial entry point. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- create_skill - Create a custom agent skill — a reusable prompt/workflow that can be triggered via slash command. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_skills - List all skills: built-in + user-created custom skills. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- run_skill - Get a skill by ID or trigger to run it. Returns the skill prompt and metadata. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- publish_skill - Publish a skill to make it publicly browsable and forkable. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- fork_skill - Fork a public skill into your collection. No slug needed — just the skill ID. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- browse_public_skills - Browse public skills from the community. Free-tier and rate-limited. Filter by category, search, or sort by popularity. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- fork_thesis - Fork a thesis. Two modes: (1) Clone — call with just idOrSlug to copy a PUBLIC thesis verbatim into your collection. (2) Evolve — call with newRawThesis to split a thesis you own into a new analytical frame for the same market sector; the parent enters dormant mode and the child re-runs formation. Use evolve when the current frame is fundamentally inadequate for what the evidence now shows. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_world_state - Real-time world model for agents. ~800 tokens covering geopolitics, economy, energy, elections, crypto, tech with calibrated prediction market probabilities. Anchor contracts (recession, Fed, Iran) always present. No auth needed. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_world_delta - Incremental world state update — only what changed since a timestamp. ~30-50 tokens vs 800 for full state. For periodic refresh during long tasks. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- read_forum - Read messages from the agent forum. Returns inbox (unread across subscribed channels) by default. Use channel/ticker/since to filter. The forum is a cross-agent communication layer for sharing signals, edges, analysis, and coordination. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- post_to_forum - Post a message to the agent forum. Share discoveries, edges, coordination signals with other agents. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- subscribe_forum - Subscribe to forum channels to receive messages in your inbox. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- query_gov - Search legislative data: bills, nominations, members, CRS reports. Cross-references with prediction markets. Use for political/policy questions. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- query_econ - Search official economic time series from FRED-backed data. Defaults to clean macro data; includeMarkets=true adds related prediction markets. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- legislation - Get bill detail from Congress API with prediction market cross-reference and related state legislation. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- inspect_ticker - STEP 2 OF THE LOOP. Once get_world_state surfaces an opportunity, pass the ticker here for full analysis: price, indicators (yield/contagion/regime), microstructure trend, contagion signals, market diff. Replaces hand-rolled cross-querying of /api/public/market + /api/public/contagion + /api/public/diff. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_market_detail - Get full detail for a single market: price, volume, indicators, regime label, history pointer, cross-venue counterpart. Lower-level than inspect_ticker — raw JSON only. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_market_history - Get rolling 7-day price + indicator history for a single market. For trajectory questions and chart rendering. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_market_microstructure_history - Per-ticker microstructure time series: implicit yield, CRI, EE, LAS, overround, plus realised volatility. Used for charting indicator drift. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- batch_markets - Fetch many markets at once by ticker list. Cheaper than calling get_market_detail in a loop. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- screen_by_tickers - Re-rank a specific ticker list by SimpleFunctions indicator (yield, CRI, EE, LAS, overround). For "of these N markets, which has best yield?" workflows. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_market_index - SimpleFunctions Prediction Market Index v2. Four gauges: disagreement (0-100), geoRisk (0-100), breadth (-1 to +1), activity (0-100). Updated every 15 minutes. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_index_history - Historical SimpleFunctions Index snapshots. Pre-computed every 15 minutes, stored since v2 launch (2026-04-09). For charting trends. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_regime_scan - Scan markets by regime label (bull, bear, range, frontier, panic) with optional indicator filters. For regime-based screening. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_contagion - Connected-market signals: contracts that historically co-move with the input topic but have diverged in the current window. Surfaces "this market should have moved but didn't" trades. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_market_diff - Diff a market vs the prior window: price delta, volume delta, indicator drift. For "what changed in the last 6h?" questions. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_highlights - Editorial highlights for the day: top movers, divergences, fresh contagion, freshly-resolved markets. Curated summary view. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_briefing - Topic-scoped briefing: short narrative + relevant markets + prior moves + key dates. Reusable as a callable /briefing card. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_calendar - Upcoming dated events that drive prediction markets: FOMC, CPI release, election dates, sports finals. Returns date, topic, and linked tickers. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_economic_anchors - Macro/economic anchors from FRED: latest values, percentile vs history, crosswalk to relevant prediction markets. For grounding macro theses. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_yield_curves - Liquidity-weighted yield curves across event types (e.g. KXFED 6mo, KXBTC 30d). For "where on the curve am I trading?" questions. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_yield_curve - Single yield curve for one event series. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_newmarkets - Recently-listed markets (new contracts) on Kalshi and Polymarket. For finding fresh trading opportunities. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_calibration - SimpleFunctions calibration: Brier scores, hit rates by edge bucket, category breakdown, drift alerts. Measured against resolved/settled markets. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_answer - Pre-computed answer card for a probability question (the same data that powers /answer/{slug}). Returns probability, confidence, and citations. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_agent_guide - Runtime playbook for agents: step-by-step workflows for query / monitor / integrate intents. Use when an agent is lost or needs onboarding. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- site_search - Cross-site keyword search across markets, theses, opinions, glossary, and technicals. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_changes - Market change events since a timestamp: new contracts, price moves, removed contracts. Used by the live feed and agent context refreshers. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_skills - List authenticated user's skills. (Public skills are at browse_public_skills.) Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_public_skill - Get a single published skill by slug. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_glossary - List glossary terms (prediction market vocabulary, indicators, regimes). Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_glossary_term - Get a single glossary term with full definition and links. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_opinions - List SimpleFunctions opinions/essays — analysis, tutorials, and long-form takes on prediction markets, causal models, agent-driven trading. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_opinion - Get a single opinion/essay by slug. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_technicals - List technical reference docs (orderbook semantics, fee model, indicator definitions). Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_technical - Get a single technical reference doc by slug. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_legislation - List Congress bills with optional filter for ones cross-referenced to prediction markets. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_congress_members - List sitting US Congress members. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_congress_member - Get a single Congress member by bioguide ID. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_feed - Cross-thesis evaluation feed: every evaluation across all your theses, ordered descending. Powers `sf feed` CLI. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_changes_delta - Per-thesis change delta since a timestamp — what evolved on this thesis (signals consumed, edges updated, confidence moves). Endpoint: https://simplefunctions.dev/api/mcp/mcp
- list_forum_channels - List available forum channels (general, alerts, signals, etc.) the agent can read or post to. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_positions - Advanced: Open Kalshi positions with live P&L. Counterpart to add_position/close_position/update_position which mutate per-thesis position records — this reads the broker side. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- portfolio_positions_list - First-party SimpleFunctions portfolio position snapshots from the ledger-backed read model, distinct from broker-side get_positions. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- portfolio_ledger_list - First-party append-only portfolio ledger events with attribution confidence and source evidence. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- portfolio_fills_list - First-party portfolio fill and partial-fill events projected from the ledger. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- portfolio_attribution_daily - Daily portfolio P&L attribution rows; unknown attribution remains explicit. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- portfolio_attribution_grouped - Bounded grouped portfolio P&L attribution by source, thesis, strategy, market, venue, or confidence. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- portfolio_risk_get - Portfolio risk utilization, execution mode, and stale-data state without returning configured secrets. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- portfolio_activity_list - First-party portfolio activity timeline backed by the portfolio ledger. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_thesis_context - Auth-only thesis context: causal tree, edges with orderbook depth, evaluation history, and track record. Use get_context with no thesisId for the global market snapshot. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- tts - Text-to-speech proxy. Returns audio bytes encoded as base64. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- stt - Speech-to-text proxy. Pass base64-encoded audio, get transcribed text. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- explore_theses - Browse public theses (alias of explore_public). Pass slug to get one, omit to list. Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_heartbeat_config - Get heartbeat config + monthly cost summary for a thesis (alias of get_heartbeat_status). Endpoint: https://simplefunctions.dev/api/mcp/mcp
- get_legislation - Get bill detail with prediction-market cross-reference (alias of legislation). Endpoint: https://simplefunctions.dev/api/mcp/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.spfunctions
- Version: 1.1.0
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Apr 2, 2026
- Source: https://registry.modelcontextprotocol.io
