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

# MCP tools

> Every tool the Pekto MCP server offers, and how they behave.

Each tool calls the [Pekto API](/api-reference/introduction) as the signed-in user. Tools that change or delete things are marked so your AI tool can ask before running them.

## Create

| Tool | What it does |
| - | - |
| `create_presentation` | Generates and saves a complete, editable presentation (3–20 slides) or carousel (3–30 slides) and returns `editor_url`. Uses 2.5 credits. |
| `create_presentation_plan` | Older name for `create_presentation`, kept for clients that cached it. Same behaviour. |
| `list_carousel_themes` | The 32 carousel themes and their ids, for `template_family`. |

`create_presentation` inputs:

| Input | Type | Notes |
| - | - | - |
| `topic` | string | Topic or working title. One of `topic`, `content` or `instructions` is required. |
| `content` | string | The full source: post, article, notes or report text (up to 36,000 characters). |
| `instructions` | string | Anything else Pekto should know. |
| `audience`, `objective`, `tone` | string | Who it's for, what it should achieve, how it should sound. |
| `format` | `presentation` \| `carousel` | Default `presentation`. Use `carousel` for LinkedIn and Instagram. |
| `slide_count` | integer | Default 8. Presentations 3–20, carousels 3–30 (Instagram accepts at most 20). |
| `template_family` | string | Carousel theme id, e.g. `carousel37`. Leave it out and Pekto picks one. |
| `title`, `language` | string | Optional title and output language (default: the source's language). |
| `aspect_ratio` | `16:9` \| `4:3` | Presentations only; carousels are always 4:5. |
| `include_stock_images`, `use_web_search` | boolean | Optional. |
| `idempotency_key` | string | Reuse it on a retry to get the same deck instead of a second charge. |

The result has `project_id`, `editor_url`, `title`, `slide_count` and `status`. In ChatGPT an inline card shows progress, the first three slides and an **Open in Pekto** button.

## Projects

| Tool | What it does |
| - | - |
| `list_projects` | Your projects, newest first, with pagination. |
| `get_project` | One project; set `include_content` for its editable slides. |
| `update_project_metadata` | Change the title, description or status (`draft`, `published`, `archived`). |
| `update_project_content` | Patch one slide's SVG, title or notes with `patch_slide`, or replace the whole document with `content`. **Destructive** when replacing. |
| `duplicate_project` | Copy a project and return the copy's editor link. |
| `delete_project` | Permanently delete a project. **Destructive.** |

The resource `pekto://projects/{project_id}` returns a project's editable content.

## Templates, brand kits and account

| Tool | What it does |
| - | - |
| `list_templates` | Browse templates by category or name. |
| `list_brand_kits` | Your brand kits: colours, fonts and logos. |
| `create_brand_kit` | Create a brand kit. |
| `delete_brand_kit` | Delete a brand kit. **Destructive.** |
| `get_account_status` | Your credits, plan and the generation cost. |
| `get_job` | Read a generation job by id. |

## Social posts

| Tool | What it does |
| - | - |
| `list_social_accounts` | Your connected social accounts. |
| `list_scheduled_posts` | Scheduled and published posts. |
| `schedule_social_post` | Schedule a text, image or document post. See [Scheduling posts](/guides/scheduling-posts). |
| `delete_scheduled_post` | Delete a post that hasn't been published. **Destructive.** |

## How the assistant is told to behave

The server gives AI tools these instructions:

* Work out the topic or source, audience, objective, slide count and tone from the conversation; ask one short bundled question only if a missing detail would change the result a lot.
* Call `create_presentation` once per request, with the full brief. Never call it in a loop, regenerate to revise copy, or invent layouts.
* Use `format: "carousel"` for LinkedIn, Instagram or social carousels.
* Show the `editor_url` as soon as generation succeeds.
* Read a project before changing it, and delete a scheduled post only when the user clearly asks.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.