j2slide
Live presentation slides for AI agents. Push chart/text/KPI JSON and every open viewer updates in real time over WebSocket.
Connect this API to an AI agent Browse all specs
What you can do with j2slide via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| POST | /decks/{deckId}/slides |
pushSlide | Push one slide; every open viewer updates immediately |
| GET | /decks/{deckId}/slides |
listSlides | List the slides currently in the deck |
| DELETE | /decks/{deckId}/slides |
clearDeck | Clear all slides to start a new session. IMPORTANT: confirm with the user before calling — this removes the deck history viewers can navigate. |
Authentication
bearerAuth
Bearer token — sent as Authorization: Bearer <token>
Deck api_key (sk_…) returned once by POST /decks. Configure as the VX Agents bearer token for this fixed deck. Viewers never need this key.
Usage guide
Fixed-deck setup (required once, outside the agent)
VX Agents uses one static bearer token per spec. j2slide write keys are per-deck and returned only at create time, so the agent must not create decks. Create the deck yourself, then configure this spec:
- Create a deck:
curl -s -X POST https://j2slide.haanhduclinh.workers.dev/decks - Save
deck_idandapi_key(api_key is shown once). - Open
view_urlon the shared screen (/d/{deck_id}). - Upload this OpenAPI template to an agent (or My Swagger).
- Set auth type bearer to the deck
api_key. - Pass
deckId=deck_idon every tool call.
See docs/swagger-templates/j2slide-usage-guide.md for a full walkthrough.
Auth
Bearer token = the deck api_key (sk_…). Configure it once in VX Agents
auth_config. Do not put the key in chat.
Limits (enforced server-side)
- Request body ≤ 32 KB
- 60 slide pushes per minute per deck
- Max 200 slides per deck (oldest evicted)
- Title ≤ 80 chars; category/slice labels ≤ 24 chars
- bar/line: 1–12 points; optional unit ≤ 8 chars
- pie: 1–8 slices, non-negative values
- text: 1–8 bullets, each ≤ 120 chars
- kpi: 1–4 tiles; value ≤ 12 chars; optional delta ≤ 10; trend up/down/flat
- Idle decks: slides deleted after 7 days (key hash kept)
Sandbox warning
The default host is the public demo (shared sandbox). Treat it as best-effort and ephemeral. Do not put secrets, PII, or confidential data on it. For production, self-host j2slide and change the spec base URL.
Agent usage tips
- Prefer
pushSlidewhile narrating; open viewers auto-advance if they are already on the latest slide. - Use
listSlideswhen the user asks what is already on the deck. - Confirm with the user before
clearDeck— it wipes session history. - On
validation_failed, readdetails[]and retry with corrected fields. - Always pass the fixed 32-hex
deckIdfrom setup.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “j2slide” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.