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 eleven tools (presentation 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.
Source repository: github.com/prezentai/prezent-mcp.
Quick start — hosted MCP (Claude.ai)
The fastest path. Zero install.
- In Claude.ai, open Settings → Custom Connectors → Add custom connector.
- MCP server URL:
https://mcp.myprezent.com/mcp - Click Connect. Claude.ai redirects through Prezent's OAuth login — sign in with your Prezent account.
- 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
- Claude Desktop
- Cursor
- Cline / Continue
- Zed
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.
In Cursor, open Settings → Features → Model Context Protocol → Add new MCP server:
{
"mcpServers": {
"prezent": {
"command": "prezent-mcp-server",
"env": {
"PRESENTATION_API_TOKEN": "pzbk_your_key_here"
}
}
}
}
In your cline_mcp_settings.json (or Continue's ~/.continue/config.json
mcpServers section):
{
"mcpServers": {
"prezent": {
"command": "prezent-mcp-server",
"env": {
"PRESENTATION_API_TOKEN": "pzbk_your_key_here"
}
}
}
}
In Zed's settings.json, under context_servers:
{
"context_servers": {
"prezent": {
"command": {
"path": "prezent-mcp-server",
"args": [],
"env": {
"PRESENTATION_API_TOKEN": "pzbk_your_key_here"
}
},
"settings": {}
}
}
}
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 /
template-conversion) return a callback_id that the agent polls via
the matching check_*_status tool.
| Tool | Purpose | Sync / Async |
|---|---|---|
create_presentation | Start a presentation generation job. Accepts a prompt, optional template id, files / web links / historical context. Returns a callback_id. | Async |
check_presentation_status | Poll the status of a create_presentation job. Returns slides, extracted images, theme/audience metadata when complete. | Sync |
download_presentation_tool | Download the final .pptx (or .pdf) for a completed presentation. | Sync |
send_reaction_feedback | Like/dislike a generated presentation. | Sync |
send_text_feedback | Submit free-text feedback on a presentation. | Sync |
convert_template | Start a Template Converter job that applies a target brand template to an uploaded deck. Returns a callback_id. | Async |
check_template_converter_status | Poll a Template Converter job. | Sync |
send_template_converter_reaction_feedback | Like/dislike a conversion. | Sync |
send_template_converter_text_feedback | Submit free-text feedback on a conversion. | Sync |
get_accessible_templates | List the brand templates / themes the caller's company has access to. | Sync |
validate_template | Verify that a specific template id is accessible before kicking off a generation or conversion. | Sync |
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:
| Mode | Flow |
|---|---|
| Hosted | OAuth 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 stdio | Bearer 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). - 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.
Source, issues, and roadmap
- GitHub: github.com/prezentai/prezent-mcp
- Issues / feature requests: file them on the GitHub repo.
- PyPI:
prezent-mcp-server - 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_presentationwraps. - Template Converter — full
request/response detail for
convert_template.