Bisque Presentations
Turn what your agent just did into something a person can watch.
What it can do
- Get Presentation Spec: Fetch the html-presentation/v1 authoring contract: document structure, the dual landscape/vertical layout rule, and the narration markup that makes slides speak. Call this BEFOR
- Create Presentation: Generate a narrated presentation from an html-presentation/v1 document. BEFORE authoring, call get_presentation_spec and follow it exactly — slides without its narration markup pu
- Publish Narrated Presentation: Publish an html-presentation/v1 document using audio YOU synthesized locally (e.g. with `bisque-voice`) — free, unlimited, and works on macOS, Linux and Windows. Send ea
What data it sees
Do you need an account
No: the server works without sign-in
Turn what your agent just did into something a person can watch. Ask for a walkthrough of a pull request, a briefing on an overnight run, or a summary of a long document — you get back a link that plays in any browser: slides with synchronized narration, published to your own channel. It reads presentations back too, so paste a link and your agent answers from the full transcript. One URL, browser sign-in, nothing to install.
How to connect
How to connect Bisque Presentations to Claude
The server address to paste into Claude settings:
https://presentations--bisque.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Bisque Presentations to ChatGPT
The server address to paste into ChatGPT settings:
https://presentations--bisque.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Bisque Presentations to Cursor
The server address to paste into Cursor settings:
https://presentations--bisque.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (8)
Raw names from tools/list. Only developers need these.
| get_presentation_spec | Fetch the html-presentation/v1 authoring contract: document structure, the dual landscape/vertical layout rule, and the narration markup that makes slides speak. Call this BEFORE authoring for create_presentation — documents written without it publish with missing audio. |
| create_presentation | Generate a narrated presentation from an html-presentation/v1 document. BEFORE authoring, call get_presentation_spec and follow it exactly — slides without its narration markup publish SILENT. Returns a presentationId; poll get_presentation_status until it is ready. |
| publish_narrated_presentation | Publish an html-presentation/v1 document using audio YOU synthesized locally (e.g. with `bisque-voice`) — free, unlimited, and works on macOS, Linux and Windows. Send each narrated slide's word timings and MP3 metadata; the server assembles presentation.json (recomputing cues from your narration markers) and returns one upload URL per MP3. Then PUT each file and POST the returned completeUrl with the returned `files` array. RE-PUBLISHING: `audio` is optional — any narrated slide you omit reuses the audio from the last publish whenever its narration text and speechSpeed are unchanged, so an HTML-only edit needs no synthesis at all. The response reports `reused`, `synthesized`, and `staleSlides` (narrated slides whose text changed and have no audio — synthesize exactly those and publish again). Use create_presentation instead to have the server narrate. |
| get_presentation_status | Fetch the build state and result URL for a presentationId. |
| list_presentations | List the authenticated user's presentations. |
| get_presentation_analytics | Watch analytics for one of your presentations: views, likes, completion rate, per-slide retention funnel, traffic sources, distinct signed-in/anonymous viewers, and organization email domains (personal providers filtered). Lets an agent read how its own published briefings performed. |
| get_presentation_context | Load any shared Bisque presentation for reading: its metadata, the full per-slide narration transcript with timestamps, and the context.md file its author shipped for agents (extra background the slides summarize). Target it by watch URL (https://bisque.today/p/{handle}/{slug}) or by handle + slug — it does not have to be yours. Use this to read, summarize, cite, or answer questions about a presentation: ground your answers in the returned transcript and context, and cite slides as [slide N]. |
| update_channel | Update one of your channels. Set the description — the line a stranger reads in a search result or a link unfurl, at most 160 characters, empty to clear it and go back to naming the newest presentations. Set the avatar from an image URL, which is fetched, center-cropped square and resized. Pass either or both. Omit handle to use your default channel. |