SYNAPSE
API AND MCP · DESK

The engine's calls, in your own code and your own AI.

Every call Synapse makes, every stand-down and the reasoning behind both, as a REST API, a live stream, signed webhooks, and an MCP server that Claude and other AI agents can read. The same payload, at the same moment, as the members' desk.

Compare plans

Desk is $299 a month after 7 trading days free (Founding: $149.50 / month for 12 months). It includes everything in Signal: the live desk, alerts and the full record.

FOUR WAYS IN

One key, every channel.

REST

Sessions, calls, each call's reasoning trace and the raw event journal, back 180 days, plus the desk's fourteen studies, read now.

Live stream

Server-Sent Events as the engine decides. Reconnect with the last event id and you miss nothing.

Webhooks

Each call POSTed to your server, signed with HMAC-SHA256 and retried with backoff if your server doesn't answer.

MCP server

Five read-only tools that let Claude, or any MCP client, answer questions about the engine's calls and the desk's studies in plain words.

ASK CLAUDE

What you can ask through the MCP server.

Add Synapse to Claude once as a custom connector (Customize > Connectors > Add custom connector, then sign in with your Desk account), and ask in your own words. Claude picks the tool; the answers come from the engine's own record. The examples below are live from that record, sessions before today.

“What is Synapse doing right now?”
get_session {}

Each book's state today, any call it has made or stood down from, the engine's live read (the headline, the trigger and invalidation levels, and its reasoning) and whether every input the engine depends on is healthy.

“Why did Peregrine stand down on Oct 15?”
get_call {"call_id": "PEREGRINE-2026-10-15-0940C"}
Oct 15PeregrineStood down: 09:35 pin gate: 09:35 spot 7,683.05 above the 7,670.00 OI-weighted pin; new entries withheld

The call, the order it was decided in, and the gate and reason behind each step.

“List every stand-down in the last two weeks and the gate behind each.”
list_calls {"from": "2026-10-02", "status": "blocked"}
Oct 15Peregrine09:35 pin gate: 09:35 spot 7,683.05 above the 7,670.00 OI-weighted pin; new entries withheld
Oct 14Phoenixiv_atm 13.1% below floor 15.0%; low-IV regime
Oct 14Phoenixlive leg-in open at K=776 put (wings filled at broker, body not yet sold); not stacking a second identical fly
Oct 14Peregrine09:35 pin gate: 09:35 spot 7,776.55 above the 7,760.00 OI-weighted pin; new entries withheld
Oct 13Phoenixiv_atm 26.0% above ceiling 25.0%; high-IV regime
Oct 13PeregrineRUT positioning veto: RUT 09:35 spot 2,799.65 above the 2,780.00 OI-weighted pin; new entries withheld
Oct 12PeregrineRUT positioning veto: RUT 09:35 spot 2,803.32 above the 2,800.00 OI-weighted pin; new entries withheld
Oct 9Phoenixiv_atm 10.4% below floor 15.0%; low-IV regime
“Has anything fired since I last checked?”
list_events {"after_seq": 3}

Only what is new in today's journal since the last event Claude saw, so an agent can check in through the session without rereading the day.

“Where are the SPX gamma walls, and is order flow confirming the move?”
get_studies {"ids": ["gex", "flow"]}

Any of the desk's fourteen studies, read now in SPX points: the engine call and its notes, the spread finder, the closing imbalance, the projected close, GEX, order flow, value area, voids, expected move, key levels, the chop meter and the event clock. Each says whether it is live or final and carries its tested record.

THE PAYLOAD

What a call looks like.

A call carries its side, the SPX strike, where that strike sits against the money, the entry window, the exit rule, and an order intent your own code can price against your own broker's quotes. Illustrative values:

{
  "id": "evt_2026-09-25_000002",
  "seq": 2,
  "schema": "v1",
  "type": "call.fired",
  "book": "peregrine",
  "session": "2026-09-25",
  "call_id": "PEREGRINE-2026-09-25-0940C",
  "decision_ts": "2026-09-25T13:41:07.214Z",
  "emitted_ts": "2026-09-25T13:41:07.214Z",
  "data": {
    "side": "call",
    "strike_spx": 7690,
    "first_trend_ts": "2026-09-25T13:40:00.000Z",
    "structure": "long_option",
    "strike_relation": "1_itm",
    "entry_window": {
      "opens": "2026-09-25T13:41:00.000Z",
      "closes": "2026-09-25T13:42:00.000Z"
    },
    "exit_rule": {
      "kind": "time",
      "at_et": "15:58"
    },
    "order_intent": {
      "underlying": "SPX",
      "roots": [
        "SPXW",
        "XSP"
      ],
      "expiry": "0DTE",
      "legs": [
        {
          "right": "C",
          "strike_relation": "1_itm",
          "ratio": 1,
          "action": "BUY_TO_OPEN"
        }
      ],
      "entry_window": {
        "opens": "2026-09-25T13:41:00.000Z",
        "closes": "2026-09-25T13:42:00.000Z"
      },
      "pricing_rule": null,
      "exit_rule": {
        "kind": "time",
        "at_et": "15:58"
      },
      "cancel_if": [
        "window_closed"
      ]
    }
  }
}
WHAT IS NEVER IN IT
No quotes or prices, no position size, no account data. Every subscriber gets the identical payload at the identical moment. Synapse never holds your broker keys and never places an order in your account; whether to act on a call is your decision. Nothing here is investment advice.
GET STARTED

From zero to Claude in three steps.

1. Start Desk

7 trading days free. $0 today. Cancel before the trial ends and you pay nothing.

2. Connect Claude

In Claude, add a custom connector with the URL below and sign in with the email you used at checkout. No key needed.

3. Or use a key

For your own code, make a key under API on the desk: REST, the live stream and webhooks.

MCP server URL (Claude custom connector, Claude Code, any MCP client):
https://synapseengine.ai/api/v1/mcp

claude mcp add --transport http synapse https://synapseengine.ai/api/v1/mcp

curl -s https://synapseengine.ai/api/v1/sessions/today \
  -H "Authorization: Bearer $SYNAPSE_KEY"

Up to 120 requests a minute and 3 open streams per key. The full contract is the OpenAPI 3.1 spec; members get the rendered reference next to their keys.

Compare plans