# Encelade > Encelade is an AI presentation maker for sales and marketing teams. Build interactive, web-native decks in a powerful visual editor — with live data connections, 50+ widgets, embedded 3D, and AI generation — and share them as a link. A REST API and MCP server are also available for automation and AI agents. Plans from Free to Enterprise. ## Product - [Home](https://www.encelade.ai/): Product overview, features, and showcase - [About](https://www.encelade.ai/about): The story behind Encelade — why it was built and what drives it forward - [Pricing](https://www.encelade.ai/pricing): Plans from Free ($0) to Enterprise (custom) — 14-day free trial on all paid plans - [Presentation API](https://www.encelade.ai/presentation-api): REST API — one POST turns raw text, URLs, CSVs, or documents into a shareable, interactive deck; webhooks, scoped keys, up to 20 sources per call - [For AI Agents](https://www.encelade.ai/agents): MCP server and REST API for AI agents — works with Claude, Cursor, n8n, LangChain, and CrewAI - [Blog](https://www.encelade.ai/blog): Product updates and guides - [Careers](https://www.encelade.ai/careers): Open positions - [Support](https://www.encelade.ai/support): Help and contact ## API Docs - [Quick Start](https://www.encelade.ai/docs/getting-started): Set up authentication and make your first API call - [Authentication](https://www.encelade.ai/docs/getting-started/authentication): API tokens, scopes, and error handling - [Projects API](https://www.encelade.ai/docs/api-reference/public-projects): CRUD operations for presentations - [Generation API](https://www.encelade.ai/docs/api-reference/public-generation): Generate presentations programmatically - [Sessions API](https://www.encelade.ai/docs/api-reference/public-sessions): Track generation progress - [Webhooks API](https://www.encelade.ai/docs/api-reference/public-webhooks): Webhook management - [OpenAPI Spec](https://www.encelade.ai/api/openapi): Machine-readable API specification ## MCP Integration - [MCP Server Overview](https://www.encelade.ai/docs/mcp): What the Encelade MCP server does, supported clients, and where to start - [MCP Setup](https://www.encelade.ai/docs/mcp/setup): Add the connector to Claude Desktop, Claude Code, or Codex - [MCP Tool Reference](https://www.encelade.ai/docs/mcp/tools): All nine tools — parameters, scopes, behaviors, and example prompts - [MCP Troubleshooting](https://www.encelade.ai/docs/mcp/troubleshooting): Common errors, rate limits, and support channels - MCP Server URL: https://www.encelade.ai/api/mcp ### MCP Tools | Tool | Description | | --- | --- | | list_projects | List projects in your workspace | | get_project | Get details of a specific project | | update_project | Update a project's name or theme | | delete_project | Permanently delete a project | | plan_project | Generate an outline without producing slides | | generate_project | Generate a full presentation from a topic | | get_generation_session | Check the status of an in-progress generation | | list_themes | List the custom themes in your workspace | | create_theme | Create a custom theme from brand colours, fonts and styles | ## Legal - [Terms of Service](https://www.encelade.ai/legal/terms) - [Privacy Policy](https://www.encelade.ai/legal/privacy) - [Cookie Policy](https://www.encelade.ai/legal/cookies) ## Authentication All API requests require an API token passed via the `x-api-key` header. Create a token in your workspace settings under **API tokens**. Select the scopes your integration needs. Copy the token immediately — it is only displayed once. ### Usage ``` curl -X GET https://www.encelade.ai/api/public/v1/projects \ -H "x-api-key: YOUR_API_TOKEN" ``` ### Scopes | Scope | Description | | --- | --- | | project:read | List and view projects | | project:write | Create and update projects | | project:delete | Delete projects | | project:plan | Generate project outlines | | project:generate | Generate project content | | session:read | View generation session status | | session:write | Cancel generation sessions | | webhook:read | List webhooks | | webhook:write | Create and delete webhooks | A token with no scopes selected has full access to all endpoints. ### Rate Limiting API requests are rate-limited per tenant. When you exceed the limit, requests return 429 Too Many Requests. ### Errors All error responses follow the format: `{ "error": "Description of what went wrong" }` | Code | Meaning | | --- | --- | | 401 | Invalid or missing API token | | 403 | Token lacks required scope | | 429 | Rate limit exceeded | --- ## API Endpoints Base URL: https://www.encelade.ai ### Projects #### List projects ``` GET /api/public/v1/projects ``` Query parameters: `cursor` (string), `limit` (integer, 1-100, default 20), `endUserEmail` (string, filter by end-user) #### Get a project ``` GET /api/public/v1/projects/{pid} ``` #### Update a project ``` PATCH /api/public/v1/projects/{pid} ``` Request body: JSON with fields to update (e.g. name, theme) #### Delete a project ``` DELETE /api/public/v1/projects/{pid} ``` Returns 204 on success. ### Generation #### Generate a complete project (plan + generate in one call) ``` POST /api/public/v1/projects/generate ``` Plans a project outline and generates all slide content automatically. Always runs in background mode. Returns 202 with a `sessionId`. Poll the session endpoint for progress. Request body: ```json { "topic": "Q3 Business Review", "outlineHints": ["Q3 Revenue Growth", "Market Expansion", "Product Roadmap"], "endUserEmail": "user@example.com" } ``` Pass `endUserEmail` to generate a deck for an end-user — the project is created with link sharing enabled and the session response includes a `shareLink` for anonymous viewing. #### Generate a project outline ``` POST /api/public/v1/projects/plan ``` Returns 200 with the plan (synchronous) or 202 with a `sessionId` (background mode). #### Generate from an existing plan ``` POST /api/public/v1/projects/generate-from-plan ``` ### Sessions #### Get session status ``` GET /api/public/v1/sessions/{sessionId} ``` Poll this endpoint to track background generation progress. Returns session status, events, plan, and project pid when available. The `phase` field progresses through: planning → generating → done (or failed). When phase is `done`, the response includes a `link` to the project. #### Cancel a session ``` DELETE /api/public/v1/sessions/{sessionId} ``` Aborts a running session and deletes it. ### Webhooks #### List webhooks ``` GET /api/public/v1/webhooks ``` #### Register a webhook ``` POST /api/public/v1/webhooks ``` Register a callback URL to receive notifications for generation events. #### Delete a webhook ``` DELETE /api/public/v1/webhooks/{webhookId} ``` --- ## Quick Start Example ```bash # 1. Generate a presentation curl -X POST https://www.encelade.ai/api/public/v1/projects/generate \ -H "x-api-key: YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "outlineHints": ["Q3 Revenue Growth", "Market Expansion", "Product Roadmap"], "topic": "Q3 Business Review" }' # Response: { "sessionId": "...", "status": "planning" } # 2. Poll for completion curl -X GET https://www.encelade.ai/api/public/v1/sessions/SESSION_ID \ -H "x-api-key: YOUR_API_TOKEN" # When phase is "done", the response includes a "link" to the generated project. ``` --- ## MCP Setup ### Claude Desktop 1. Open Settings → Integrations → Add custom connector 2. Name: Encelade 3. Remote MCP server URL: https://www.encelade.ai/api/mcp 4. Leave OAuth fields empty 5. In the browser window that opens, sign in to Encelade, pick a workspace, and click Authorize (no API token needed) ### Claude Code ```bash claude mcp add encelade --transport http https://www.encelade.ai/api/mcp ``` ### Codex ```bash codex mcp add encelade --url https://www.encelade.ai/api/mcp ```