> For the complete documentation index, see [llms.txt](https://docs.perceptis.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.perceptis.ai/perceptis-mcp-server/tools.md).

# Tools reference

Full reference for all tools exposed by the Perceptis MCP server.

All tools are available once your client is connected. The AI selects the appropriate tool automatically based on your request.

## generate\_slide

Generates a single PowerPoint slide from a natural-language prompt.

* **Cost:** 1 credit
* **Typical duration:** 3–7 minutes
* **Parameters:** `instruction` (string), `template_id` (optional string)

## edit\_slide

Edits a previously generated single slide.

* **Cost:** Free
* **Parameters:** `session_id` (from prior `generate_slide`), `instruction` (string)

## generate\_deck

Generates a full multi-slide PowerPoint deck. Runs through three phases (storyline → render → export); the AI chains the calls automatically.

* **Cost:** 1 credit per slide (charged after outline)
* **Typical duration:** 5–15 minutes for a 10-slide deck (\~2 min storyline + \~30 s per slide + \~1 min export)
* **Parameters:** `instruction` (string), `template_id` (optional string)

## edit\_deck\_slide

Edits a specific slide within a generated deck.

* **Cost:** Free
* **Parameters:** `deck_id`, `slide_number` (1-based), `instruction` (string)

## check\_generation\_status

Continues polling a generation that returned `status: "processing"`. Called automatically by the AI — you do not need to invoke this yourself.

* **Cost:** Free

## show\_slide\_preview

Renders the inline preview and download link for a completed slide or deck. Called automatically by the AI after generation completes.

* **Cost:** Free

## list\_templates

Lists PowerPoint templates available to your organization. The default template is flagged with `is_default: true`.

* **Cost:** Free
* **Parameters (all optional):**
  * `template_id` — look up a single template by id.
  * `query` — filter by template name (case-insensitive substring match).
