Perizent: Persian PowerPoint
Server Details
Build editable right-to-left Persian (Farsi) PowerPoint decks from a topic, notes or full text.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- ablmontazer1997/perizent-mcp
- GitHub Stars
- 0
- Server Listing
- Perizent MCP Server
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: account inspection, deck creation, job status retrieval, design option listing, deck listing, restyling, default settings, and sharing. No two tools overlap enough to cause misselection.
Most names follow a predictable snake_case verb_noun pattern such as create_presentation, get_presentation, and list_presentations. account_info is a minor deviation because it is noun-based rather than verb-based, but overall naming is consistent and readable.
Eight tools is well-scoped for a presentation-generation service and each tool covers a meaningful part of the workflow. There are no redundant or trivial tools.
The surface covers the main lifecycle: account info, design options, create, poll, list, restyle, defaults, and share. A delete/remove presentation operation is missing, but agents can still complete core workflows.
Available Tools
8 toolsaccount_infoAccount and creditsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this is a safe read, so the description's job is to add substance, which it does by disclosing the scope (account tied to the current access key) and the return payload including credit reset date and plan limits. It does not discuss rate limits, caching, or whether credit figures are real-time, leaving a small gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loading the identity fields before the credit details. The dense comma-delimited parenthetical makes it slightly harder to scan than a short clause structure would.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No input parameters, no output schema, and readOnlyHint covers safety, so the description is the only place return values can be communicated, and it enumerates them thoroughly. There is nothing an agent needs to call this correctly that is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters there is nothing for the description to disambiguate, so the baseline applies. The sentence correctly spends its words on outputs instead of restating an empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (the account behind this access key) and enumerates what it returns: name, plan, this month's credits with used/remaining/reset date, plan limits, and default settings for new decks. None of the sibling tools (create_presentation, list_presentations, set_defaults, etc.) overlap with this, so an agent can route to it unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the tool to call before creating presentations to check credits or read deck defaults, but the description never states when to use it, when not to, or points at set_defaults as the sibling for changing those defaults. For a zero-argument read tool this is acceptable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_presentationCreate a presentationAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| font | No | Font id from list_design_options (default: yekan; on the free plan only vazirmatn). | |
| goal | No | اطلاعرسانی | |
| theme | No | Theme id from list_design_options, or 'auto' (default) to let Perizent pick one that fits the topic. | |
| title | No | Optional deck title (5-90 chars). Derived from the content if omitted. | |
| source | No | Set to pptx when the content was extracted from an old PowerPoint (redesign; Pro plan). | |
| content | Yes | The topic description or the source text (Persian preferred). | |
| audience | No | عمومی | |
| animation | No | 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 | No | Icon pack id like 'ph:duotone' from list_design_options, or 'auto' (the theme's own icons). | |
| brand_name | No | Optional company/brand name shown on every slide footer and used in the content. | |
| exact_text | No | 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 | No | topic | |
| image_style | No | 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 | No | Optional company logo, base64 PNG/JPG/WEBP (max 5MB), shown on the cover and footers. | |
| slide_count | No | 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). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden and does so well: it discloses the async contract (job_id returned immediately, status running or queued when the server is full), the 1-3 minute latency, and the required follow-up call to get_presentation for status and download links. It also surfaces plan-level constraints (free plan limited to vazirmatn and slide counts of 5 or 10; pptx source requires Pro), which an agent cannot infer from any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and the return contract, then moves into parameter semantics in a logical order, with zero filler. The single input_mode sentence is dense and runs long, but every clause carries information an agent would otherwise have to guess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, no-output-schema, no-annotation creation tool, the description covers the three things an agent could get wrong: which mode to pick, that the call is async and needs polling, and what plan restrictions apply. Nothing essential to a correct first invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 80%, so the baseline is 3, and the description earns above that by explaining what each mode actually does to the content ("its substance becomes slides with nothing added, side talk and repetition dropped") plus per-mode character ranges (20-2000, 120-30000, 40-30000) that the schema does not encode as minLength/maxLength. It also clarifies that exact_text only applies to full_text. The goal, audience and theme parameters get no added meaning, but their enums are largely self-describing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource ("Start building a Persian presentation deck") and immediately establishes it as an async job producer, which separates it from get_presentation, list_presentations and restyle_presentation. An agent can identify the tool's role without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit selection criteria among the three input_mode values (topic for a short description, full_text for a finished document, partial_text for a draft to be completed) and routes polling to get_presentation and id lookups to list_design_options. It never contrasts itself with restyle_presentation, which is the alternative path for an existing deck, so the when-not is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_presentationPresentation status and downloadsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses genuinely useful behavior: downloadable formats (PPTX, PDF), a paid-plan gate that yields download_locked with a note, inclusion of slide preview images, and a 7-day link expiry. This is context an agent cannot derive from annotations or schema. It stops short of listing possible status values or failure states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and the conditional return behavior immediately after. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately explains the return values, including the locked-download case and link lifetime, which is the critical information for this tool. It is slightly incomplete in not enumerating status values or describing behavior for failed/in-progress jobs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single job_id parameter is 0%, so the description must carry meaning, and it only implies that the id refers to a presentation job. It adds no format, origin, or example for job_id, leaving the agent to rely on the bare schema field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: get the status of a presentation job. The return payload (download links, slide previews) is spelled out, which distinguishes it from siblings like list_presentations or create_presentation. It does not explicitly name a sibling it might be confused with, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is a polling tool for a job created elsewhere (likely create_presentation), and the 'when status is done' clause hints at iteration. There is no explicit statement of when to call it versus list_presentations, nor of what to do while status is not 'done'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_design_optionsPerizent design optionsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this a safe read, so the description only needs to add context. It contributes the useful fact that results are id-bearing options intended for reuse elsewhere, but says nothing about whether the catalog is static, tenant-specific, or subject to variation — a real gap for a lookup tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste: the first establishes what is returned, the second tells the agent what to do with it. The consumable output is front-loaded ahead of the follow-up action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only catalog tool with no output schema, the description covers purpose, scope of returned categories, and the intended next step. It would be stronger if it sketched the shape of each returned option (id plus label) or flagged that results are exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case. The description correctly implies no filtering is possible and that everything is returned in one pass, consistent with the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ("List the available themes (visual designs), fonts, icon packs, animation levels, audiences and goals") and enumerates exactly what catalog items come back. An agent can tell this is a design-option catalog lookup, not presentation CRUD, without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit downstream routing: "Use the returned ids in create_presentation / restyle_presentation," naming the two siblings that consume this output. It lacks an explicit when-not-to-use clause or a note on what to do if a requested option is absent, so it falls short of the top mark.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_presentationsMy presentationsARead-onlyInspect
List the presentations created with this access key (newest first).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already declaring the safety profile, the description adds the access-key scoping constraint and the newest-first ordering, which are genuine behavioral details not present in structured fields. It does not disclose result size, pagination behavior, or whether shared/inbound presentations are included, leaving real gaps for a list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the resource front-loaded and the two useful qualifiers, scope and ordering, in parentheses. No filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool with no output schema, the essentials are covered: what is listed, whose items, and in what order. Missing only secondary details an agent might want, such as whether the result set is bounded or whether recency is by creation or modification time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema has no semantics to clarify and the description cannot add parameter meaning. Baseline 4 applies; the description correctly signals the call is parameterless by describing a bare enumeration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("List the presentations") plus a meaningful scope ("created with this access key") and ordering ("newest first"). It does not explicitly contrast with siblings such as get_presentation, but the singular/plural distinction makes the boundary inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the enumeration entry point before calling get_presentation on a specific item. There is no explicit when-to-use rule, no exclusion, and no mention of alternatives for finding presentations not created with this key.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restyle_presentationRestyle a presentationAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| font | No | Font id from list_design_options. | |
| theme | No | Theme id from list_design_options. | |
| job_id | Yes | ||
| animation | No | PowerPoint animation level: none, low, medium or high. | |
| icon_pack | No | Icon pack id, or 'auto'. | |
| brand_name | No | ||
| image_style | No | photo (real stock photos) or illustration (flat illustrations); the images are picked again. | |
| logo_base64 | No | New logo, base64 PNG/JPG/WEBP. | |
| remove_brand | No | Remove the brand name and logo from the slides. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose key traits: it is asynchronous, fast ('a few seconds'), and preserves content while swapping visual treatments. It never says whether the original deck is overwritten or a new version is produced, nor whether logo/brand changes require ownership of the deck — important for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence establishes the operation, its inputs, and the content-preserving guarantee, and the second sentence delivers the only required follow-up action. Nothing is redundant and the most decision-relevant facts come first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an async mutation with no output schema, the description covers the essential gap — that results are retrieved via get_presentation rather than returned. It leaves open whether the source deck is replaced and what happens to the job if it fails, which keeps it just short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 78% and six of the nine parameters already carry descriptions (including that image style re-picks images). The description lists the same knobs without adding format, defaults, or precedence rules, and says nothing about job_id, brand_name's length limit, logo_base64, or how remove_brand interacts with brand_name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Re-render a finished deck' — and enumerates the swap dimensions (theme, font, icon pack, animation level, image style, brand). 'Finished deck' plus the job_id requirement cleanly separates it from create_presentation, which builds a new deck.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Makes the post-call workflow explicit by naming the sibling to poll ('Poll get_presentation afterwards for the new links'), which is the main usage ambiguity for an async job. It doesn't state when to prefer restyle over creating a fresh deck or what to do on failure, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_defaultsDefault settings for new decksAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| animation | No | ||
| image_style | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden: it usefully states 'Returns the new defaults' (compensating for the absent output schema) and implies an account-wide mutation. It omits whether the change is reversible, whether omitted settings are preserved or reset, and what permission level is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence covering purpose, scope, and fields, plus a short return-value statement. The parenthetical about the website profile earns its place, though the sentence is slightly dense with nested clauses.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-optional-parameter account setting tool with no output schema and no annotations, the description covers what changes, the blast radius (new presentations only), and the return value. Only the partial-update merge behavior remains unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate; it names both settings ('animation level and/or image style') and the 'and/or' signals that each is optional. However, it does not explain the meaning or effect of the enum levels (none/low/medium/high, photo/illustration) for deck generation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Change the account's defaults for new presentations') and enumerates the two settings affected, which separates it from sibling tools like restyle_presentation that act on existing decks. It never names a sibling, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for new presentations' implies the scope boundary (affects future decks, not existing ones) and 'the same settings as the website profile' anchors the concept, but there is no explicit when-to-use guidance or named alternative for changing existing presentation styling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- First observed
account_info - First observed
create_presentation - First observed
get_presentation - First observed
list_design_options - First observed
list_presentations - First observed
restyle_presentation - First observed
set_defaults - First observed
share_presentation
Related MCP Connectors
Create consulting-style presentation decks (editable PowerPoint) from a topic or notes.
Create professionally designed, editable PowerPoint presentations from a prompt.
Generate professional PowerPoint presentations from text, YouTube videos, or structured JSON data.…
Generate polished PowerPoint presentations from text prompts, YouTube videos, or structured outlin…
Related MCP Servers
- AlicenseAqualityAmaintenanceGenerate professional AI-powered presentations from a topic, raw text, or document file. Export to PPTX, PDF, image, or shareable link.131MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to create and reconstruct editable PowerPoint presentations from source material, managing project resources and slide construction through natural language.MIT

Slidespeakofficial
FlicenseAqualityCmaintenanceGenerate PowerPoint presentations using the Slidespeak API714-- AlicenseAqualityDmaintenanceCreates and manipulates PowerPoint presentations with capabilities for adding various slide types, generating images, and incorporating tables and charts through natural language commands.11145MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.