> ## Documentation Index
> Fetch the complete documentation index at: https://docs.presenton.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# API, webhooks, and MCP

> Automate presentation creation from applications, scripts, agents, and compatible AI clients.

Use the browser for interactive work, the REST API for application-controlled workflows, webhooks for background completion events, and MCP when an AI client should invoke Presenton tools.

## Choose an integration

| Integration      | Best for                                                       | Authentication                              |
| ---------------- | -------------------------------------------------------------- | ------------------------------------------- |
| REST API         | Products, scripts, report pipelines, and internal applications | HTTP Basic on `/api/v1/*`                   |
| Asynchronous API | Longer jobs that should not hold one request open              | HTTP Basic plus polling or webhook handling |
| Webhooks         | Receiving completion or failure events                         | Protect the callback in your application    |
| MCP server       | Compatible AI clients and agent workflows                      | Bearer token on `/mcp`                      |

## What the API can automate

* Upload source documents and reusable assets.
* Generate a presentation from a prompt, Markdown outline, or uploaded files.
* Select language, tone, verbosity, slide count, template, and export format.
* Enable optional web research.
* Edit presentations or individual slides.
* Create a new deck from an existing presentation.
* List available themes and templates.
* Export PPTX or PDF output.

With the default Docker installation, the REST API base URL is:

```text theme={null}
http://localhost:5001/api/v1
```

All `/api/v1/*` routes except `/api/v1/auth/*` use the same admin username and password as the web UI through HTTP Basic authentication.

## What MCP adds

The MCP server exposes supported presentation actions as tools to a compatible AI client. The client can discover the tools, create a presentation, and return the result to the user without requiring the user to construct REST requests.

MCP is served from:

```text theme={null}
http://localhost:5001/mcp
```

When authentication is configured, request a session token from `/api/v1/auth/login` and send it as a bearer token. MCP is disabled in the Electron desktop app; use the Docker or web deployment.

## Deployment guidance

* Use HTTPS for a remote instance.
* Store REST credentials and MCP tokens in a secret manager.
* Restrict network access to approved applications and clients.
* Use asynchronous generation for long-running or high-latency jobs.
* Treat webhook payloads as untrusted input and verify requests according to your application design.
* Persist `/app_data` so generated presentations and uploads survive replacement containers.
* Review generated content before it is published automatically.

<CardGroup cols={2}>
  <Card title="Generate with the REST API" icon="brackets-curly" href="/open-source/v0.9.0-beta/tutorials/generate-with-api">
    Make an authenticated request, inspect the result, and open the generated deck.
  </Card>

  <Card title="Connect an MCP client" icon="plug" href="/open-source/v0.9.0-beta/tutorials/connect-mcp">
    Configure authenticated local, remote, or multiple Presenton instances.
  </Card>
</CardGroup>
