WhetherAPI & MCP

API and agent tools

Whether exposes the weekly brief through an MCP server, REST endpoints, a command-line client, and an embeddable widget. No API key required.

Connect an MCP client

https://whether.work/api/mcp is a streamable-HTTP MCP server. Point Claude, or any MCP client, at it and the weekly call becomes a tool the model can query mid-conversation.

{
  "mcpServers": {
    "whether": {
      "url": "https://whether.work/api/mcp"
    }
  }
}

Five tools are exposed: get_brief, get_context, get_projection, get_comps, and get_signals. Running the repo locally, bun run mcp:whether starts the same interface over stdio, with two extra tools for bounded decision rules and trailing signal history.

MCP tools over plain HTTP

Every MCP tool also answers a plain GET, for agents without an MCP client.

GET /api/mcp?tool=get_actions

Discovery. Lists every available tool with its parameters.

Try it

GET /api/mcp?tool=get_brief

Current regime, action, confidence, record date. Optional cadence param.

GET /api/mcp?tool=get_context&regime=DEFENSIVE

Regime duration, historical average, common next regime.

GET /api/mcp?tool=get_projection&regime=DEFENSIVE&tightness=74&riskAppetite=32

Weeks until threshold crossing at current velocity. Scenario modeling for agents.

GET /api/mcp?tool=get_comps

Median SaaS EV/Revenue multiple from 15 public companies.

GET /api/mcp?tool=get_signals

Coverage map of which months have signal history available.

For developers

GET /.well-known/whether-agent.json

Discovery manifest. Every endpoint on this page, the supported cadences, and the revisable-delegation conformance level with the third-party verifier that can check it. Start here if you are wiring up an agent.

Try it

GET /api/posture/current

Stable JSON endpoint for the current posture. Returns regime, tightness, direction, confidence, week, summary, url, and version. Type contract at lib/types.ts.

Try it

GET /api/agent?cadence=weekly

Full structured brief data with handoff payload. Supports weekly, monthly, quarterly, yearly.

Try it

GET /api/scores

The two headline numbers on their own — tightness, risk appetite, both deltas, plus distance to the next regime flip and which dimension would cross first.

Try it

GET /api/cadence

Weekly and monthly summaries side by side, with an alignment status naming any constraints where the two cadences disagree.

Try it

GET /api/comps

SaaS valuation multiples with the company set behind them. Returns 503 when the quote source is unreachable rather than an empty basket.

Try it

GET /api/regime-alerts

Paginated history of regime-change alerts. Read access is open; writes are cron-owned.

Try it

GET /api/decision-memory?format=records

The call history in NDJSON, shaped by the Revisable Delegation record schema — one belief record per published posture. Scoped to the caller: it reads your own decision memory, so it needs an x-whether-client-id header and answers 401 without one. No "Try it" link for that reason.

Artifacts to paste and embed

GET /api/brief/slack

The week's call preformatted for Slack — action, threshold, reversal condition. Post it to a channel without reformatting.

Try it

GET /api/image/brief

The brief as a 1200×800 PNG for decks and threads. Accepts cadence and company-context params.

View image

GET /api/image/slide?stage=seed

The call as a 16:9 meeting slide — hand-written SVG, so it stays sharp at projector size and the labels are still editable text in Figma or Keynote. Accepts seed, series-a, series-b, or growth.

View slide

GET /api/embed?format=text|json|html

The brief as a snippet a newsletter build step can insert at send time, in plain text, JSON, or ready-to-paste HTML. Takes ticker and stage, so the call is calibrated to one company rather than generic.

Try it

GET /brief.md

The current brief in Markdown format. Instant, structured, cacheable.

View brief.md

GET /llms.txt

Agent discovery document. Linked from <link rel="llm"> in the page head.

View llms.txt

GET /feed.xml

RSS feed for the weekly brief. Subscribe in any RSS reader.

View feed.xml

Embeddable widget

Drop the current call into an internal dashboard or wiki. It updates itself each week. Add data-whether-ticker or data-whether-stage to tailor it to one company.

<div data-whether-embed="brief"></div>
<script async src="https://whether.work/embed.js"></script>
Configure it with a live preview →

Command line

The whether CLI is an operator terminal for the same data: environment, call, changes, flips.

whether status

This week's call and the numbers behind it. Add --as-of 2026-03 to read any past month.

whether brief slack | exec | board | investor

The same week rewritten for a specific audience.

whether export pdf --output brief.pdf

Export the brief to json, csv, markdown, pdf, or a full briefing pack.

whether watch --interval 60 --changes-only

Poll for regime movement and print only what changed.

whether scenario --tightness 74 --risk-appetite 32

Model a hypothetical and see which call it produces.

whether explain flip

What would have to move, and by how much, to change this week's call.

Also available: diagnostics, history compare, company, share, doctor, and shell completions.

All endpoints listed here are free and require no authentication. Data is provided for informational purposes.