Skip to main content
Version: 2.0

Agents & MCP

The Prezent Platform API ships with a first-class Model Context Protocol (MCP) server, so AI agents can create and convert presentations as a tool call instead of writing custom HTTP code. Two ways to use it:

  • Hosted remote MCP at https://mcp.myprezent.com/mcp — OAuth 2.1, no install needed; works with Claude.ai Custom Connectors.
  • Local stdio server via pip install prezent-mcp-server — drop a config snippet into Claude Desktop, Cursor, Cline, Continue, or Zed and the tools appear in your agent's tool list.

The same tools (presentation creation, poster creation, status, download, template conversion, theme discovery, feedback) are exposed in both modes. The MCP server wraps the documented REST API — anything you can do through the API, an agent can do through MCP.

Distributed as the prezent-mcp-server package (see SDKs & Client Libraries for install).

Quick start — hosted MCP (Claude.ai)

The fastest path. Zero install.

  1. In Claude.ai, open Settings → Custom Connectors → Add custom connector.
  2. MCP server URL: https://mcp.myprezent.com/mcp
  3. Click Connect. Claude.ai redirects through Prezent's OAuth login — sign in with your Prezent account.
  4. The Prezent tools (create_presentation, convert_template, etc.) are now available in any Claude.ai chat.

That's it — your Prezent API key is fetched server-side from your Prezent account, so you don't paste it into Claude.

Quick start — local stdio (Claude Desktop / Cursor / Cline / Continue / Zed)

For locally-running agents and IDE integrations.

1. Install the server

pip install prezent-mcp-server

Requires Python 3.10+.

2. Get a Prezent API key

Contact your Customer Success Manager. The key is a Bearer token of the form pzbk_.... Set it as an environment variable.

3. Add the server to your agent's MCP config

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
"mcpServers": {
"prezent": {
"command": "prezent-mcp-server",
"env": {
"PRESENTATION_API_TOKEN": "pzbk_your_key_here"
}
}
}
}

Restart Claude Desktop. The Prezent tools appear under the 🔌 plug icon in the chat input.

4. Verify

In a fresh chat, ask the agent:

"Which Prezent templates can I use?"

The agent should invoke get_accessible_templates and return your company's themes.

Available tools

All tools target the Prezent Platform API. Async tools (presentation, poster, template-conversion) return a callback_id that the agent resolves via the matching check_*_status tool.

Presentation and template tools

ToolPurposeSync / Async
create_presentationStart a presentation generation job. Accepts a prompt, optional template id, files / web links / historical context. Returns a callback_id.Async
check_presentation_statusPoll the status of a create_presentation job. Returns slides, extracted images, theme/audience metadata when complete.Sync
download_presentation_toolDownload the final .pptx (or .pdf) for a completed presentation.Sync
send_reaction_feedbackLike/dislike a generated presentation.Sync
send_text_feedbackSubmit free-text feedback on a presentation.Sync
convert_templateStart a Template Converter job that applies a target brand template to an uploaded deck. Returns a callback_id.Async
check_template_converter_statusPoll a Template Converter job.Sync
send_template_converter_reaction_feedbackLike/dislike a conversion.Sync
send_template_converter_text_feedbackSubmit free-text feedback on a conversion.Sync
get_accessible_templatesList the brand templates / themes the caller's company has access to.Sync
validate_templateVerify that a specific template id is accessible before kicking off a generation or conversion.Sync

Poster tools

Posters have their own create/edit/status/download tools, wrapping the Posters API. A poster is a single canvas, not a deck — so ask the agent for a poster explicitly, otherwise it will build a presentation.

ToolPurposeSync / Async
create_posterStart a poster generation job from a prompt. Accepts orientation, page size, template, language, export format, citation style, and grounding content (files / web links / text). Returns a callback_id.Async
edit_posterRevise an existing poster from a plain-language instruction — content, layout, styling, or its template. Returns a new callback_id.Async
check_poster_statusWait for a poster (or edit) to finish and return the download_url. Streams live progress to the agent while it waits.Sync (blocking)
download_posterGet the download URL for a finished poster, optionally re-exported to a different format (pptx, pdf, png, jpg) without regenerating.Sync

The agent-facing flow is:

create_poster ──► check_poster_status ──► download_url
▲ │
edit_poster ─────────┘ (new callback_id) │

download_poster (different file format)

Three rules an agent should follow, and which the tool descriptions enforce:

  1. Every follow-up change is an edit_poster call, including switching the template ("use the corporate 2026 template"). Re-running create_poster discards the existing poster and rebuilds from scratch.
  2. edit_poster takes no settings arguments — the entire request goes in prompt, in plain language. That is a deliberate mirror of the REST endpoint, which reuses the poster's stored configuration. See What an edit can change.
  3. A different file format is not an edit. Use download_poster with export_type — it re-exports the same canvas and is far cheaper than regenerating.

Poster tools reuse the shared file-upload, template, language, and integration tools listed above — a file_id from validate_uploaded_file works in either flow, and get_accessible_templates is the same catalogue posters draw from.

Each tool is wired to the equivalent REST endpoint documented in the interactive API Reference — same response envelope, same error catalog, same rate limits, same annual usage quotas.

Authentication

The hosted MCP server (mcp.myprezent.com) and the local stdio server authenticate the same calls differently:

ModeFlow
HostedOAuth 2.1 authorisation code + PKCE. Claude.ai redirects to Prezent's Cognito-backed login, gets an access token (Cognito id_token), and presents it as Bearer <token> on every /mcp call. The remote-server middleware exchanges that for the user's Prezent API key behind the scenes — the API key never leaves Prezent infrastructure.
Local stdioBearer token from the PRESENTATION_API_TOKEN environment variable, sent directly on every API call.

Both modes ultimately hit the same Prezent Platform API endpoints described in this documentation. Auth, rate limits, error codes, and annual quotas behave identically.

Rate limits & quotas

Tool calls count against the same limits as direct API calls:

  • Gateway throttle — 10 req/s, 5 burst, 1,000 req/day per key.
  • Annual quotas — slide-generation (create_presentation) and presentation-download (download_presentation_tool) consume the per-key annual quotas (default 50,000 / 1,000,000).
  • Poster downloads — each download_poster call is a counted delivery against the key's poster download limit, including a re-export of a poster you already downloaded in another format.
  • Per-minute throttle — applied per company × category when configured.

See the Developer Guide → Usage quotas and rate limits for the full picture.

Discovery + interop

The hosted server implements the relevant MCP / OAuth interop standards:

  • MCP transport: Streamable HTTP at https://mcp.myprezent.com/mcp (current MCP-spec default; Server-Sent Events for streaming responses).
  • OAuth 2.1 authorisation server metadata: GET https://mcp.myprezent.com/.well-known/oauth-authorization-server (RFC 8414).
  • Protected-resource metadata: GET https://mcp.myprezent.com/.well-known/oauth-protected-resource (RFC 9728).
  • Dynamic client registration: POST https://mcp.myprezent.com/oauth/register (RFC 7591).
  • Liveness: GET https://mcp.myprezent.com/healthz.

Most agent clients (Claude.ai, Cursor, Cline) handle this discovery automatically when you give them the MCP server URL.

Package, issues, and roadmap

  • Package: prezent-mcp-server on PyPI.
  • Issues / feature requests: contact your Customer Success Manager or Prezent API Support.
  • Versioning: the MCP server tracks the OpenAPI contract version (currently 1.0.0). New tools are additive; tool signatures don't change without a major-version bump.

Where to go next

  • The interactive API Reference — every underlying endpoint with try-it-out forms.
  • Getting Started — make your first raw HTTP call (useful for debugging what an MCP tool is doing).
  • AutoGenerator — full request/response detail for the presentation-creation flow that create_presentation wraps.
  • Posters API — full request/response detail for the flow the create_poster / edit_poster tools wrap, including the orientation and page-size catalogue.
  • Template Converter — full request/response detail for convert_template.