Build editable right-to-left Persian (Farsi) PowerPoint decks from a topic, notes or full text.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <your Perizent MCP key>; create the key at https://perizent.ir/mcp (Pro and Business plans)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Name, plan and this month's credits (used, remaining, reset date) of the account behind this access key, plus the plan's limits and the account's default settings for new decks.
This tool takes no arguments.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http perizent https://perizent.ir/api/mcp \ --header 'Authorization: Bearer YOUR_TOKEN'
Headers
Authorization (required): Bearer <your Perizent MCP key>; create the key at https://perizent.ir/mcp (Pro and Business plans)Name, plan and this month's credits (used, remaining, reset date) of the account behind this access key, plus the plan's limits and the account's default settings for new decks.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Start building a Persian presentation deck. Returns a job_id immediately (status running, or queued if the server is full); the deck takes about 1-3 minutes, poll get_presentation for status and download links. input_mode: 'topic' = a short description, AI writes all content (20-2000 chars); 'full_text' = a complete text (report, article, speech or a meeting transcript): its substance becomes slides with nothing added, side talk and repetition dropped; set exact_text=true to keep every sentence verbatim (120-30000 chars); 'partial_text' = notes/draft that AI keeps and completes (40-30000 chars).
| Argument | Type | Description |
|---|---|---|
| font | string | Font id from list_design_options (default: yekan; on the free plan only vazirmatn). |
| goal | string | |
| theme | string | Theme id from list_design_options, or 'auto' (default) to let Perizent pick one that fits the topic. |
| title | string | Optional deck title (5-90 chars). Derived from the content if omitted. |
| source | string | Set to pptx when the content was extracted from an old PowerPoint (redesign; Pro plan). |
| content* | string | The topic description or the source text (Persian preferred). |
| audience | string | |
| animation | string | PowerPoint animation level: none, low (fade transitions only), medium (transitions + fade-in of title and content groups), high (floating entrances, charts wipe up). Default: the account's setting (medium if unset). |
| icon_pack | string | Icon pack id like 'ph:duotone' from list_design_options, or 'auto' (the theme's own icons). |
| brand_name | string | Optional company/brand name shown on every slide footer and used in the content. |
| exact_text | boolean | full_text only: true = every sentence of the text goes on the slides verbatim, nothing dropped. Default false = only the substance (side talk, chit-chat and repetition are left out). |
| input_mode | string | |
| image_style | string | Kind of images on the slides: photo (real stock photos) or illustration (flat illustrations in one consistent style). Default: the account's setting (illustration if unset). |
| logo_base64 | string | Optional company logo, base64 PNG/JPG/WEBP (max 5MB), shown on the cover and footers. |
| slide_count | integer | Optional target number of slides (5-24; up to 40 for full_text). Automatic if omitted. On the free plan only 5 or 10 (default 10). |
{
"type": "object",
"required": [
"content"
],
"properties": {
"font": {
"type": "string",
"description": "Font id from list_design_options (default: yekan; on the free plan only vazirmatn)."
},
"goal": {
"enum": [
"اطلاعرسانی",
"متقاعدسازی",
"آموزش",
"فروش",
"گزارشدهی",
"همراستاسازی"
],
"type": "string",
"default": "اطلاعرسانی"
},
"theme": {
"type": "string",
"description": "Theme id from list_design_options, or 'auto' (default) to let Perizent pick one that fits the topic."
},
"title": {
"type": "string",
"description": "Optional deck title (5-90 chars). Derived from the content if omitted."
},
"source": {
"enum": [
"pptx"
],
"type": "string",
"description": "Set to pptx when the content was extracted from an old PowerPoint (redesign; Pro plan)."
},
"content": {
"type": "string",
"description": "The topic description or the source text (Persian preferred)."
},
"audience": {
"enum": [
"عمومی",
"مدیران",
"کارشناسان",
"سرمایهگذاران",
"دانشجویان",
"خبرنگاران"
],
"type": "string",
"default": "عمومی"
},
"animation": {
"enum": [
"none",
"low",
"medium",
"high"
],
"type": "string",
"description": "PowerPoint animation level: none, low (fade transitions only), medium (transitions + fade-in of title and content groups), high (floating entrances, charts wipe up). Default: the account's setting (medium if unset)."
},
"icon_pack": {
"type": "string",
"description": "Icon pack id like 'ph:duotone' from list_design_options, or 'auto' (the theme's own icons)."
},
"brand_name": {
"type": "string",
"maxLength": 30,
"description": "Optional company/brand name shown on every slide footer and used in the content."
},
"exact_text": {
"type": "boolean",
"description": "full_text only: true = every sentence of the text goes on the slides verbatim, nothing dropped. Default false = only the substance (side talk, chit-chat and repetition are left out)."
},
"input_mode": {
"enum": [
"topic",
"full_text",
"partial_text"
],
"type": "string",
"default": "topic"
},
"image_style": {
"enum": [
"photo",
"illustration"
],
"type": "string",
"description": "Kind of images on the slides: photo (real stock photos) or illustration (flat illustrations in one consistent style). Default: the account's setting (illustration if unset)."
},
"logo_base64": {
"type": "string",
"description": "Optional company logo, base64 PNG/JPG/WEBP (max 5MB), shown on the cover and footers."
},
"slide_count": {
"type": "integer",
"maximum": 40,
"minimum": 5,
"description": "Optional target number of slides (5-24; up to 40 for full_text). Automatic if omitted. On the free plan only 5 or 10 (default 10)."
}
},
"additionalProperties": false
}Get the status of a presentation job. When status is 'done' it returns download links (PPTX, PDF; paid plans only, otherwise download_locked with a note) and slide preview images; links are valid for 7 days.
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string"
}
},
"additionalProperties": false
}List the available themes (visual designs), fonts, icon packs, animation levels, audiences and goals for Perizent presentations. Use the returned ids in create_presentation / restyle_presentation.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}List the presentations created with this access key (newest first).
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Re-render a finished deck with another theme, font, icon pack, animation level, image style or brand in a few seconds (content stays the same). Poll get_presentation afterwards for the new links.
| Argument | Type | Description |
|---|---|---|
| font | string | Font id from list_design_options. |
| theme | string | Theme id from list_design_options. |
| job_id* | string | |
| animation | string | PowerPoint animation level: none, low, medium or high. |
| icon_pack | string | Icon pack id, or 'auto'. |
| brand_name | string | |
| image_style | string | photo (real stock photos) or illustration (flat illustrations); the images are picked again. |
| logo_base64 | string | New logo, base64 PNG/JPG/WEBP. |
| remove_brand | boolean | Remove the brand name and logo from the slides. |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"font": {
"type": "string",
"description": "Font id from list_design_options."
},
"theme": {
"type": "string",
"description": "Theme id from list_design_options."
},
"job_id": {
"type": "string"
},
"animation": {
"enum": [
"none",
"low",
"medium",
"high"
],
"type": "string",
"description": "PowerPoint animation level: none, low, medium or high."
},
"icon_pack": {
"type": "string",
"description": "Icon pack id, or 'auto'."
},
"brand_name": {
"type": "string",
"maxLength": 30
},
"image_style": {
"enum": [
"photo",
"illustration"
],
"type": "string",
"description": "photo (real stock photos) or illustration (flat illustrations); the images are picked again."
},
"logo_base64": {
"type": "string",
"description": "New logo, base64 PNG/JPG/WEBP."
},
"remove_brand": {
"type": "boolean",
"description": "Remove the brand name and logo from the slides."
}
},
"additionalProperties": false
}Change the account's defaults for new presentations (the same settings as the website profile): animation level and/or image style. Returns the new defaults.
| Argument | Type | Description |
|---|---|---|
| animation | string | |
| image_style | string |
{
"type": "object",
"properties": {
"animation": {
"enum": [
"none",
"low",
"medium",
"high"
],
"type": "string"
},
"image_style": {
"enum": [
"photo",
"illustration"
],
"type": "string"
}
},
"additionalProperties": false
}Create or update the public online-presentation link of a finished deck (anyone with the link views it full-screen in the browser, no account needed; it always shows the latest version). Optional password, optional PPTX/PDF download for viewers, or revoke the link. Returns the URL and view statistics (views, unique visitors, average time, per-slide reach).
| Argument | Type | Description |
|---|---|---|
| job_id* | string | |
| revoke | boolean | Kill the link for everyone (a later share makes a new URL). |
| password | string | null | Set a password (4-64 chars); null or empty removes it; omit to keep the current one. |
| allow_download | boolean | Let viewers download the PPTX and PDF (default false). |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string"
},
"revoke": {
"type": "boolean",
"description": "Kill the link for everyone (a later share makes a new URL)."
},
"password": {
"type": [
"string",
"null"
],
"description": "Set a password (4-64 chars); null or empty removes it; omit to keep the current one."
},
"allow_download": {
"type": "boolean",
"description": "Let viewers download the PPTX and PDF (default false)."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.