Build with SynthBoard
MCP tools
67 tools, 22 resources and 12 prompts, listed from the server's own inventory. Start with synthboard.ask: their Chief of Staff answers, or brings in the expert whose field fits.
Connect#
https://www.synthboard.ai/api/mcpA person's AI app signs in with OAuth 2.1 (PKCE): the person chooses what it may start each day without asking, and every ask lands on their Home. Your own code can send a personal key as Authorization: Bearer sb_live_…; an organization key adds X-SynthBoard-Office to act in one managed office.
- Claude: In Claude, open Settings › Connectors and choose "Add custom connector". Paste the address below and add it. Sign in to SynthBoard when Claude asks, and choose what it may do.
- ChatGPT: In ChatGPT, open Settings › Apps & Connectors and create a connector. Paste the address below as its URL. Sign in to SynthBoard when ChatGPT asks, and choose what it may do.
- Cursor: Add SynthBoard to Cursor in one click, then sign in when it asks.
- Claude Code: Run this line once in your terminal. Then type /mcp in Claude Code and sign in to SynthBoard.bash
claude mcp add --transport http synthboard https://www.synthboard.ai/api/mcp - Another AI app: Any app that supports MCP: add this address, then sign in when it asks.
The default list shows 25 tools; add ?toolset=full to the address for all of them. People manage their connected apps in Settings › Connections › AI apps.
Their Chief of Staff and the work#
synthboard.ask— Ask their Chief of Staffdefault listBring the person's situation to their Chief of Staff: she answers, or brings in the expert whose field fits; a board or a job comes back as a card with next_actions. One turn per idempotency_key, inside the connection's daily limit; past about 25 s it returns 'working' with a turn_id.
Scope
session:write· message, idempotency_key?, wait_seconds? (≤25)synthboard.turn.result— Get a turn's answerdefault listThe answer to an ask that returned 'working': her answer or the expert's, the question, cards with next_actions, the matter. Read-only.
Scope
session:read· turn_id, wait_seconds? (≤45)synthboard.start— Start a card she posteddefault listRun a job card or an in-room question she posted, once, inside the connection's daily limit.
Scope
session:write· card_idsynthboard.job.start— Have an expert do a jobdefault listA named expert finds, drafts and builds end to end and hands back finished objects plus a one-sentence call. About 110–400 credits by size.
Scope
session:write· title, brief, lead_expert, gets, steps, language?, idempotency_key?, call_id?synthboard.job.result— Get a jobdefault listThe job's progress, or its call, objects and next_actions. Read-only.
Scope
session:read· job_id, wait_seconds? (≤45)synthboard.job.control— Stop a job or add a notedefault listA note the expert reads at the next step, or stop (keeps what is done).
Scope
session:write· job_id, action: stop | note, note?synthboard.steps.list— List their plan stepsdefault listThe dated steps their Chief of Staff checks in on, with ids. Spends nothing.
Scope
session:read· status?, due_before?, job_id?, limit?synthboard.steps.report— Report how a step wentdefault listDone, not yet (a new day) or stuck — lands as their check-in answer, marked via the agent. Spends nothing.
Scope
session:write· step_id, status, note?, due_at?synthboard.contexts.list— List their contextsdefault listThe parts of their life SynthBoard keeps apart. Spends nothing.
Scope
session:read· —synthboard.rooms.organize— Keep their rooms in orderArchive, unarchive, rename, or move a room to a context. Signing a call stays theirs. Spends nothing.
Scope
session:write· room_id, action, value?synthboard.matters.list— List their mattersdefault listThe person's matters — who is on each, what waits on them, whether it is followed — paged. Spends nothing.
Scope
session:read· scope? (rooms | one_offs | closed), before?, before_id?, limit?synthboard.matter.get— Get one matterdefault listOne matter whole: its record (calls, takes, dated steps), its files and whether it is followed. Spends nothing.
Scope
session:read· matter_idsynthboard.matter.follow— Stop following a matter (or offer Keep following)Stop following at once; Keep following stays the person's own yes — an agent gets the quote and the link to offer it.
Scope
session:write· matter_id, on, idempotency_key?synthboard.matter.watch— Stop watching for a reply (or offer the watch)Stop a matter's reply watch at once; starting one stays the person's own yes — an agent gets the watch, the price and the link to offer it.
Scope
session:write· matter_id, on, idempotency_key?synthboard.file.get— Get a filedefault listA file made for the person (Word, Excel, PDF, calendar, PNG) as a signed short-lived link. Spends nothing.
Scope
session:read· file_id, ttl_seconds?synthboard.context.read— Read one of their contextsOne context the person granted this app: its members, files, kept records (each field with its page), decisions, and the pages matching a query. Any other context answers not_granted. Spends nothing.
Scope
session:read· context_id, query?synthboard.context.propose— Propose records into one of their contextsRecords the app learned, as proposals in one granted context — nothing is kept until the person keeps it on the context's page. Spends nothing.
Scope
session:write· context_id, records[]
Calls on the record#
synthboard.call.start— Put a call on the recorddefault listFrom her card that carries a call (the person's yes): the room opens, each expert commits a call — how sure, what would change it, when to check back — blind to the person's lean and to each other. Costs the room it runs.
Scope
session:write· card_id, gut? (a decision only), idempotency_key?synthboard.call.result— Get a call on the recorddefault listEach expert's take, the chair's read, the flips, the dates, the decision and the outcome — or who is still committing. Read-only.
Scope
session:read· call_id, wait_seconds? (≤45)synthboard.call.resolve— Report what they did, or how it wentdefault listA decision (followed · didnt · still_open · other) or an outcome (well · badly · mixed · cant_tell), marked via the agent and pending until the person confirms. Spends nothing.
Scope
session:write· call_id, stage: decision | outcome, decision? | outcome?, idempotency_key?synthboard.record— Their record with each expertdefault listPer expert and per domain, this person's resolved calls — held, partly, missed — counts only; base rates across people where at least five stand behind each count. Spends nothing.
Scope
session:read· synth_id?, domain?synthboard.events.list— What happened on their mattersdefault listWhat happened on the person's matters since the agent last looked — a decision due, an outcome due, an expert came back, the answers are in — and the dates this week, with one cursor. Hidden while site_config.agent_events is off. Spends nothing.
Scope
session:read· cursor?, names?, limit? (≤50)synthboard.record.backfill— Bring their past decisionsThe person's past decisions and how each went, as one card on their Home — nothing lands on their own record until they tap Keep; never on an expert's record. Spends nothing.
Scope
session:write· decisions[], lang?, idempotency_key?
Ask the board#
synthboard.board.call— Ask the board for a calldefault listBring a decision to the board: it seats its experts and returns a board_id at once; the price is the plan's board card (about N credits), reserved against the connection's daily limit.
Scope
session:write· question, context?, experts?, size: glance | full, language?, idempotency_key?synthboard.board.result— Get the board's calldefault listThe board's call, its sharpest dissent, what would change its mind, the first step and the link — or when to ask again. Read-only.
Scope
session:read· board_id, wait_seconds? (≤45)
Session lifecycle#
synthboard.session.plan— Plan a sessiondefault listPropose a room (who sits, the shape, one up-to price) without opening it. Returns a single-use plan_id (15 min).
Scope
session:write· question, session_type?, mode?, synth_id? (consult), context?, web_search?, language?synthboard.session.start— Start sessiondefault listOpen a room from an approved plan_id or an explicit setup. Board: the brief seats the experts. Consult: requires synth_id.
Scope
session:write· plan_id | (question + session_type/mode) | (question + synth_id), preselected_synth_ids?, focus_synth_id?, synth_model_overrides?, images?, tags?synthboard.session.get— Get sessiondefault listSession state + latest task. On finished boards: v4_phase, decision_brief, memo, board_artifact.
Scope
session:read· session_id, wait_ms? (≤60000), include_transcript?, include_tool_calls?, include_action_items?synthboard.session.continue— Continue sessionFollow-up round on a legacy-engine session. Current boards redirect to session.reconvene.
Scope
session:write· session_id, messagesynthboard.session.reconvene— Reconvene boardReconvene a completed board as Round N+1 — opens from the delivered verdict plus what changed, re-briefs, runs.
Scope
session:write· session_id, whats_changed, question?, keep_board?synthboard.session.cancel— Cancel sessionCancel the in-flight task. Work delivered is retained; the remainder is refunded.
Scope
session:write· session_id, reason?synthboard.session.update— Update sessionMid-session mutations on legacy-engine sessions — add/remove synths, change mode, tune DNA/model/temperature. Current boards redirect to session.reconvene.
Scope
session:write· session_id, add_synths?, remove_synths?, change_mode?, tune?synthboard.session.fork— Fork sessionDuplicate a session with altered context; rerun=true starts the fork immediately.
Scope
session:write· session_id, new_context?, rerun?synthboard.session.list— List sessionsFilter, search, sort, and paginate your sessions.
Scope
session:read· status?, mode?, tag?, q?, since?, until?, sort?, limit?, cursor?synthboard.session.update_meta— Update session metadataRename a session or update its tags.
Scope
session:write· session_id, topic?, tags?synthboard.session.delete— Delete draft sessionHard-delete a draft. Non-drafts archive instead.
Scope
session:write· session_id, confirm: truesynthboard.session.archive— Archive / unarchive sessionHide a session from default listings (or bring it back). Idempotent.
Scope
session:write· session_id, action: archive | unarchivesynthboard.session.export— Export sessionExport as markdown, JSON, or plain text with selectable parts.
Scope
session:read· session_id, format, include? (transcript/synthesis/bookmarks/decision/action_items/full_reasoning)
The Consult#
synthboard.consult.message— Consult messagedefault listSend one message to the seated expert of a Consult session; returns the reply and any composed document. Billed per turn.
Scope
synth:chat· session_id, message (≤5000), wait_ms? (≤290000)
In-session interaction#
synthboard.session.outcomes— Generate outcomesGenerate a polished deliverable — action plan, report, decision memo, or bullets.
Scope
session:write· session_id, format?, include?synthboard.session.live_summary— Session live consensusLive consensus snapshot — who agrees, who dissents, running confidence.
Scope
session:read· session_idsynthboard.session.cross_round— Session cross-round trendsHow positions evolved across rounds.
Scope
session:read· session_idsynthboard.synth.chat— Synth 1-on-1 chatDirect message to a specific synth inside a session.
Scope
synth:chat· session_id, synth_id, messagesynthboard.assistant.ask— Ask Session AssistantQ&A grounded in the session transcript + synthesis.
Scope
assistant:use· session_id, questionsynthboard.bookmark.create— Create bookmarkSave a moment — a claim, agreement, conflict, or pinned thread.
Scope
session:write· session_id, type, item_text, synth_id?, note?synthboard.decision.capture— Capture decisionRecord a formal decision with rationale, stakeholders, deadline, action items.
Scope
session:write· session_id, decision, rationale?, stakeholders?, deadline?, action_items?, confidence?
Your World Model#
synthboard.world_model.bring— Bring the user's worldRead a brief your client wrote about the user into review chips and park them as a pending transfer — nothing lands until the user keeps it (here, or on Home).
Scope
session:write· text (≤12000), client_name?synthboard.world_model.confirm_transfer— Confirm a brought worldLand a pending transfer after the user's review: prose, goals and constraints merge into the world model; numbers become told metrics with the brief's dates.
Scope
session:write· transfer_id, drop_facts?, drop_numbers?, drop_goals?, drop_constraints?synthboard.world_model.search— Search Your World ModelHybrid semantic + keyword search over your board's memory — captured decisions, delivered memos, board artifacts, and world-model facts. Off-record material is never returned.
Scope
session:read· query, types? (decision | memo | board_artifact | wm_fact), limit?
Synth management#
synthboard.synth.create— Create Custom SynthCreate a custom Synth (your own named expert) — name, role, persona, expertise, DNA, training files. Its model is chosen per question.
Scope
synth:write· name, role, system_prompt, tagline?, expertise_tags?, dna_*?, training_files?synthboard.synth.update— Update Custom SynthEdit one of your custom synths — and an expert's method in plain words. Core synths use preferences.set.
Scope
synth:write· synth_id + any editable field, method_card?synthboard.synth.delete— Delete Custom SynthDelete a custom synth; one with history on your record is kept aside instead.
Scope
synth:write· synth_id, confirm: truesynthboard.synth.get— Get SynthFetch one synth — core, public, or your own (own prompt included).
Scope
synth:read· synth_idsynthboard.synth.list— List SynthsList core, public, and your own synths with search + filters.
Scope
synth:read· search?, core_only?, expertise?, limit?, offset?synthboard.synth.preferences.set— Set Core Synth PreferencesPer-user overlay for a core synth — DNA, model, temperature, directions.
Scope
synth:write· synth_id, dna_*?, preferred_model?, temperature?, user_directions?synthboard.synth.preferences.reset— Reset Core Synth PreferencesReset your core-synth overlay to defaults.
Scope
synth:write· synth_id, confirm: true
Synth knowledge#
synthboard.synth.knowledge.add— Add Synth KnowledgeGive a custom synth permanent knowledge from a URL or text (RAG). 1 credit per source.
Scope
synth:write· synth_id, source: url | text, url?, text?, label?synthboard.synth.knowledge.list— List Synth KnowledgeList a custom synth's knowledge files.
Scope
synth:read· synth_idsynthboard.synth.knowledge.remove— Remove Synth KnowledgeDelete a knowledge file and its chunks.
Scope
synth:write· synth_id, file_id, confirm: truesynthboard.synth.knowledge.promote_session— Promote session documents to synth knowledgePersist a session's uploaded documents into a synth's permanent knowledge. Idempotent.
Scope
synth:write· session_id, synth_id, source_files?
Integrations#
synthboard.integrations.list— List integrationsYour connected providers across the live integration catalog.
Scope
integrations:read· —
Utilities#
synthboard.ping— Pingdefault listConnectivity check — returns the authenticated principal. Spends nothing.
No scope · —
synthboard.catalog.search— Search catalogSearch synths, modes, templates, strategies, and models.
Scope
session:read· query?, kind?, limit?
Resources#
synthboard://session/{id}— Session. Full session state — plus decision brief, memo, and board artifact on finished boards.synthboard://session/{id}/memo— Session memo. The board's terminal deliverable alone — decision memo or shaped artifact.synthboard://session/{id}/synthesis— Session synthesis. Round summaries + synthesis blocks.synthboard://session/{id}/outcomes— Session outcomes. Captured decisions, action plan, outcomes.synthboard://session/{id}/transcript— Session transcript. Complete agent message transcript.synthboard://session/{id}/bookmarks— Session bookmarks. Saved moments with notes.synthboard://session/{id}/citations— Session citations. Web-search citations used in the session.synthboard://session/{id}/canvas— Session canvas state. Canvas layout, positions, metadata.synthboard://synth/{id}— Synth profile. Public-safe profile — role, tagline, expertise, rating.synthboard://catalog/synths— Synth library. The full public synth library.synthboard://catalog/modes— Session modes catalog. All session modes with recommended setups.synthboard://catalog/templates— Templates catalog. Pre-built decision templates.synthboard://catalog/synthesis_strategies— Synthesis strategies. All 5 synthesis strategies with best-for guidance.synthboard://catalog/models— Available models. LLM models available at your tier — same list as the web UI.synthboard://recent— Recent sessions. Your 20 most recent sessions, engine + phase aware.synthboard://account— Account. Credit balance, tier, engine, available session types.synthboard://world-model— Your World Model. The board's dossier on your world — identity, situation, goals, constraints, named entities — plus per-section counts, freshness, and per-seat calibration records (whose judgment has held up, per decision type).ui://synthboard/board-call.html— The board's call card. The inline card Claude and ChatGPT show for synthboard.board.result (an MCP App; self-contained, no data of its own).ui://synthboard/card.html— SynthBoard's answer. The inline card Claude and ChatGPT show for synthboard.ask and synthboard.turn.result: the expert, the answer's lead, what was checked, or what waits for the person's go (an MCP App; every word in the person's language).ui://synthboard/sealed-answers.html— Sealed answers. The inline card Claude and ChatGPT show for synthboard.call.result and call.start: portraits, the answers revealed together, how sure, the dates, the AI line (an MCP App; EN and Hebrew).synthboard://events— What happened on their matters. The person's clock — a decision due, an outcome due, an expert came back, the answers are in — with the dates ahead and the four events in MCP Events' events/list shape. Followed by polling synthboard.events.list.synthboard://briefs/latest— Latest Board Brief. Your most recent weekly Board Brief — the standing board's proactive read on your world.
Prompts#
Each is named for what the person wants and runs through synthboard.ask; the model decides the route.
synthboard-decidesynthboard-both-sidessynthboard-poke-holessynthboard-quick-readsynthboard-think-it-throughsynthboard-choosesynthboard-urgentsynthboard-oddssynthboard-find-outsynthboard-ideassynthboard-ask-an-expertsynthboard-onboard