Powerpoint MCP Server
The PowerPoint MCP Server allows you to programmatically create, edit, and manage PowerPoint presentations with the following capabilities:
Create new presentations with specific names
Open existing presentations for editing (with automatic backup)
Save presentations to a specified folder
Add various slide types:
Title slides
Section header slides
Title and content slides
Comparison slides with two-sided content
Tables and charts (with automatic chart type inference)
Pictures with captions
Generate and save images using a FLUX model via TogetherAI for use in presentations
Allows retrieval of data from SQLite databases for inclusion in PowerPoint presentations, specifically mentioned for creating presentations based on database content
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Powerpoint MCP Servercreate a presentation about quarterly sales with charts and tables"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
powerpoint MCP server
A MCP server project that creates powerpoint presentations
Components
Tools
The server implements multiple tools:
create-presentation: Starts a presentationTakes "name" as required string arguments
Creates a presentation object
add-slide-title-only: Adds a title slide to the presentationTakes "presentation_name" and "title" as required string arguments
Creates a title slide with "title" and adds it to presentation
add-slide-section-header: Adds a section header slide to the presentationTakes "presentation_name" and "header" as required string arguments
Creates a section header slide with "header" (and optionally "subtitle") and adds it to the presentation
add-slide-title-content: Adds a title with content slide to the presentationTakes "presentation_name", "title", "content" as required string arguments
Creates a title with content slide with "title" and "content" and adds it to presentation
add-slide-title-with-table: Adds a title slide with a tableTakes "presentation_name", "title", "data" as required string and array arguments
Creates a title slide with "title" and adds a table dynamically built from data
add-slide-title-with-chart: Adds a title slide with a chartTakes "presentation_name", "title", "data" as required string and object arguments
Creates a title slide with "title" and adds a chart dynamically built from data. Attempts to figure out the best type of chart from the data source.
add-slide-picture-with-caption: Adds a picture with caption slideTakes "presentation_name", "title", "caption", "image_path" as required string arguments
Creates a picture with caption slide using the supplied "title", "caption", and "image_path". Can either use images created via the "generate-and-save-image" tool or use an "image_path" supplied by the user (image must exist in folder_path)
open-presentation: Opens a presentation for editingTakes "presentation_name" as required arguments
Opens the given presentation and automatically saves a backup of it as "backup.pptx"
This tool allows the client to work with existing pptx files and add slides to them. Just make sure the client calls "save-presentation" tool at the end.
save-presentation: Saves the presentation to a file.Takes "presentation_name" as required arguments.
Saves the presentation to the folder_path. The client must call this tool to finalize the process.
generate-and-save-image: Generates an image for the presentation using a FLUX modelTakes "prompt" and "file_name" as required string arguments
Creates an image using the free FLUX model on TogetherAI (requires an API key)
Related MCP server: PowerPoint MCP Server
Configuration
An environment variable is required for image generation via TogetherAI Register for an account: https://api.together.xyz/settings/api-keys
"env": {
"TOGETHER_API_KEY": "api_key"
}A folder_path is required. All presentations and images will be saved to this folder.
"--folder-path",
"/path/to/decks_folder"Quickstart
Install
Make sure you have UV installed
MacOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | shWindows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Clone the repo
git clone https://github.com/supercurses/powerpoint.gitClaude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
--directory: the path where you cloned the repo above--folder-path: the path where powerpoint decks and images will be saved to. Also the path where you should place any images you want the MCP server to use.
# Add the server to your claude_desktop_config.json
"mcpServers": {
"powerpoint": {
"command": "uv",
"env": {
"TOGETHER_API_KEY": "api_key"
},
"args": [
"--directory",
"/path/to/powerpoint",
"run",
"powerpoint",
"--folder-path",
"/path/to/decks_folder"
]
}Usage Examples
Create a presentation about fish, create some images and include tables and chartsCreate a presentation about the attached paper. Please use the following images in the presentation:
author.jpegAssuming you have SQLite MCP Server installed.
Review 2024 Sales Data table. Create a presentation showing current trends, use tables and charts as appropriate
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Available Tools
11 toolsadd-slide-comparisonA
Add a new a comparison slide with title and comparison content. Use when you wish to compare two concepts
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_name | Yes | Name of the presentation to add the slide to | |
| title | Yes | Title of the slide | |
| left_side_title | Yes | Title of the left concept | |
| left_side_content | Yes | Content/body text of left concept. Separate main points with a single carriage return character.Make sub-points with tab character.Do not use bullet points, asterisks or dashes for points.Max main points is 4 | |
| right_side_title | Yes | Title of the right concept | |
| right_side_content | Yes | Content/body text of right concept. Separate main points with a single carriage return character.Make sub-points with tab character.Do not use bullet points, asterisks or dashes for points.Max main points is 4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions the tool adds a slide, it doesn't cover critical aspects like whether this modifies an existing presentation, requires specific permissions, has side effects, or how errors are handled. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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?
The description is highly concise and front-loaded, consisting of just two sentences that directly state the purpose and usage guidelines. Every sentence earns its place with no wasted words, making it efficient and easy to parse.
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?
Given the tool's complexity (6 required parameters, no output schema, and no annotations), the description is minimally adequate. It clarifies the purpose and usage but lacks details on behavioral traits, error handling, or output expectations. With no annotations to fill gaps, it should do more to be fully complete for a mutation tool.
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 100%, so the input schema already documents all parameters thoroughly. The description adds no additional meaning beyond what the schema provides, such as explaining relationships between parameters or usage nuances. The baseline score of 3 reflects adequate coverage from the schema alone.
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 clearly states the action ('Add a new comparison slide') and the resource ('with title and comparison content'), making the purpose evident. However, it doesn't explicitly differentiate this tool from sibling tools like 'add-slide-title-content' or 'add-slide-title-with-table', which also add slides with specific content types.
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 description provides explicit guidance on when to use this tool ('Use when you wish to compare two concepts'), which is helpful. It doesn't mention when not to use it or name specific alternatives among the sibling tools, but the context is clear enough for basic decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add-slide-picture-with-captionC
Add a new slide with a picture and caption to an existing presentation
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_name | Yes | Name of the presentation to add the slide to | |
| title | Yes | Title of the slide | |
| caption | Yes | Caption text to appear below the picture | |
| image_path | Yes | Path to the image file to insert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool adds a slide, implying a write operation, but doesn't cover critical aspects like whether it modifies the presentation in-place, requires specific permissions, handles errors (e.g., invalid image paths), or returns any confirmation. This leaves significant gaps 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?
The description is a single, clear sentence that efficiently conveys the core action and content. It's front-loaded with the main purpose and avoids unnecessary details. However, it could be slightly more structured by explicitly mentioning the target ('existing presentation') to enhance clarity without adding bulk.
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?
Given the tool is a mutation operation (adding slides) with no annotations and no output schema, the description is incomplete. It doesn't address behavioral traits like side effects, error handling, or return values, which are crucial for safe and effective use. The high schema coverage helps with parameters, but overall context is lacking.
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 input schema has 100% description coverage, so parameters are well-documented in the schema. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain relationships between parameters like how 'title' and 'caption' are positioned relative to the image). Baseline score of 3 is appropriate as the schema does the heavy lifting.
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 clearly states the action ('Add a new slide') and specifies the content ('with a picture and caption'), distinguishing it from siblings like 'add-slide-title-only' or 'add-slide-title-with-table'. However, it doesn't explicitly mention the target ('to an existing presentation'), which is implied but could be more precise in differentiating from 'create-presentation'.
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 description provides no guidance on when to use this tool versus alternatives like 'add-slide-title-content' or 'add-slide-comparison'. It lacks context such as use cases for picture-based slides versus other slide types, prerequisites (e.g., needing an existing presentation), or exclusions (e.g., not for creating new presentations).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add-slide-section-headerC
This tool adds a section header (a.k.a segue) slide to the presentation you are working on. The tool doesn't return anything. It requires the presentation_name to work on.
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_name | Yes | Name of the presentation to add the slide to | |
| header | Yes | Section header title | |
| subtitle | No | Section header subtitle |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'The tool doesn't return anything', which is useful, but lacks details on side effects (e.g., whether it modifies an existing presentation in-place), error handling, or permissions needed. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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?
The description is concise with two sentences that directly address the tool's action and a key requirement. It avoids unnecessary words, though it could be slightly more structured by front-loading the core purpose more explicitly.
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?
Given the tool's moderate complexity (adding a slide with specific content), no annotations, no output schema, and 100% schema coverage, the description is minimally adequate. It covers the basic purpose and a behavioral note about no return value, but lacks details on usage context, error cases, or integration with sibling tools, leaving room for improvement.
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 100%, so the schema already documents all three parameters (presentation_name, header, subtitle) with clear descriptions. The description adds no additional meaning beyond the schema, such as examples or constraints, but doesn't need to compensate for gaps. Baseline 3 is appropriate when the schema handles parameter documentation adequately.
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 clearly states the verb ('adds') and resource ('a section header slide to the presentation you are working on'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'add-slide-title-only' or 'add-slide-title-content', which also add slides but with different content types.
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 description provides no guidance on when to use this tool versus alternatives, such as when a section header is needed versus other slide types like title slides or comparison slides. It mentions that it 'requires the presentation_name to work on', but this is a basic requirement rather than contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add-slide-title-contentC
Add a new slide with a title and content to an existing presentation
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_name | Yes | Name of the presentation to add the slide to | |
| title | Yes | Title of the slide | |
| content | Yes | Content/body text of the slide. Separate main points with a single carriage return character.Make sub-points with tab character.Do not use bullet points, asterisks or dashes for points.Max main points is 4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an 'Add' operation (implying mutation) but doesn't describe permissions needed, whether the slide is appended or inserted at a specific position, what happens on duplicate presentation names, or what the tool returns. For a mutation tool with zero annotation coverage, this is inadequate.
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?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for this tool's complexity and front-loaded with the essential information.
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?
This is a mutation tool with no annotations and no output schema, yet the description provides minimal behavioral context. It doesn't explain what happens after adding the slide (e.g., success/failure response, slide position, error conditions). Given the tool's purpose and lack of structured data, the description should do more to compensate.
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 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain formatting rules for 'content' that the schema already covers). Baseline 3 is appropriate when schema does the heavy lifting.
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 clearly states the action ('Add a new slide'), the resource ('to an existing presentation'), and the content ('with a title and content'). It distinguishes from siblings like 'add-slide-title-only' by specifying both title and content, but doesn't explicitly contrast with all alternatives like 'add-slide-comparison'.
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 description provides no guidance on when to use this tool versus its many siblings (e.g., 'add-slide-title-only', 'add-slide-title-with-chart', 'add-slide-comparison'). It mentions 'existing presentation' which implies the presentation must already exist, but doesn't reference 'create-presentation' for when a presentation doesn't exist yet.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add-slide-title-onlyB
This tool adds a new title slide to the presentation you are working on. The tool doesn't return anything. It requires the presentation_name to work on.
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_name | Yes | Name of the presentation to add the slide to | |
| title | Yes | Title of the slide |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states 'The tool doesn't return anything,' which is useful behavioral info, but lacks details on permissions, side effects (e.g., if it modifies existing slides), or error handling. For a mutation tool with zero annotation coverage, this is inadequate.
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?
The description is appropriately sized with two sentences, front-loading the core purpose. However, the second sentence could be more integrated or omitted since schema covers requirements, slightly reducing efficiency.
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?
Given no annotations, no output schema, and a mutation tool, the description is incomplete. It lacks crucial context like what happens on success/failure, how the slide is positioned, or dependencies (e.g., requires an open presentation). More detail is needed for safe agent use.
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 100%, so the schema already documents both parameters (presentation_name and title). The description adds minimal value by mentioning presentation_name is required, but doesn't provide additional context like format examples or constraints beyond the 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 clearly states the specific action ('adds a new title slide') and resource ('to the presentation you are working on'), distinguishing it from siblings like add-slide-comparison or add-slide-title-content by specifying it's title-only. It's not a tautology of the tool name, which lacks context.
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 description provides no guidance on when to use this tool versus alternatives like add-slide-title-content or add-slide-title-with-chart. It mentions the presentation_name requirement but doesn't help differentiate among similar slide-adding tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add-slide-title-with-chartC
Add a new slide with a title and chart. The chart type will be automatically selected based on the data structure.
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_name | Yes | Name of the presentation to add the slide to | |
| title | Yes | Title of the slide | |
| data | Yes | Chart data structure |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that 'chart type will be automatically selected based on the data structure,' which adds some context about automation. However, it lacks critical details: whether this is a mutation (likely, but not stated), what permissions are needed, if there are rate limits, or what happens on failure. For a tool that creates content with no annotation coverage, this is insufficient.
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?
The description is a single, efficient sentence that states the core functionality upfront. There's no wasted text or redundancy, making it easy for an agent to parse quickly. It's appropriately sized for the tool's complexity.
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?
Given the tool's complexity (3 parameters with nested objects, no output schema, and no annotations), the description is incomplete. It doesn't cover behavioral aspects like mutation effects, error handling, or output format. For a tool that creates slides with charts, more context is needed to guide the agent effectively, especially without annotations or output schema.
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 100%, so the schema fully documents the three parameters. The description adds minimal value beyond the schema: it implies the 'data' parameter influences chart type selection, but doesn't explain how. With high schema coverage, the baseline is 3, as the description doesn't significantly enhance parameter understanding.
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 clearly states the tool's purpose: 'Add a new slide with a title and chart.' It specifies both the action (add) and the resources (slide with title and chart). However, it doesn't explicitly differentiate from sibling tools like 'add-slide-title-with-table' or 'add-slide-title-only,' which would require 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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'add-slide-title-with-table' for tabular data or 'add-slide-title-only' for slides without charts, nor does it specify prerequisites or exclusions. This leaves the agent without clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add-slide-title-with-tableA
Add a new slide with a title and table containing the provided data
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_name | Yes | Name of the presentation to add the slide to | |
| title | Yes | Title of the slide | |
| data | Yes | Table data object with headers and rows |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits like whether this modifies existing presentations, requires specific permissions, what happens on failure, or if there are rate limits. 'Add' implies mutation but lacks safety or operational context.
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?
The description is a single, efficient sentence that directly states the tool's purpose with zero wasted words. It's appropriately sized for this functionality and front-loads the key information.
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 mutation tool with no annotations and no output schema, the description is minimal. While it states the basic purpose clearly, it lacks important context about what the tool returns, error conditions, or behavioral constraints that would be needed for safe and effective use.
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 100%, so the schema fully documents all 3 parameters. The description adds no additional meaning beyond what's in the schema - it mentions 'title' and 'data' but doesn't explain their formats or relationships beyond the schema's detailed specifications.
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 clearly states the specific action ('Add a new slide'), the resource ('with a title and table'), and distinguishes it from siblings by specifying the table content. It explicitly mentions 'title and table' which differentiates it from tools like 'add-slide-title-only' or 'add-slide-title-with-chart'.
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 description implies usage when you need a slide with both a title and table, but doesn't explicitly state when to choose this over alternatives like 'add-slide-title-content' or 'add-slide-title-with-chart'. No guidance on prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-presentationB
This tool starts the process of generating a new powerpoint presentation with the name given by the user. Use this tool when the user requests to create or generate a new presentation.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the presentation (without .pptx extension) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'starts the process of generating,' which implies a creation operation but doesn't clarify what 'starts' entails (e.g., whether it creates a file immediately, requires saving later, or has side effects). It lacks details on permissions, error handling, or what happens after generation, leaving significant gaps 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?
The description is concise and front-loaded, consisting of two sentences that directly address purpose and usage. There's no wasted text, and it efficiently communicates the core information. However, it could be slightly more structured by separating purpose and guidelines more clearly, preventing a perfect score.
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?
Given the complexity of a presentation creation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a presentation object, success status), potential errors, or how it interacts with sibling tools like 'save-presentation'. For a mutation tool, this leaves too many unknowns for effective agent use.
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 schema description coverage is 100%, with the 'name' parameter fully documented in the input schema. The description adds minimal value beyond the schema by mentioning 'name given by the user' but doesn't provide additional context like naming conventions or constraints. This meets the baseline of 3 since the schema handles most of the parameter documentation.
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 clearly states the tool's purpose: 'starts the process of generating a new powerpoint presentation with the name given by the user.' It specifies the verb ('starts generating'), resource ('new powerpoint presentation'), and key input ('name given by the user'). However, it doesn't explicitly differentiate from sibling tools like 'open-presentation' or 'save-presentation', which prevents a perfect score.
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 description provides some usage guidance: 'Use this tool when the user requests to create or generate a new presentation.' This implies the context but doesn't explicitly state when NOT to use it or mention alternatives like 'open-presentation' for existing presentations. The guidance is helpful but lacks specificity about exclusions or comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate-and-save-imageA
Generates an image using a FLUX model and save the image to the specified path. The tool will return a PNG file path. It should be used when the user asks to generate or create an image or a picture.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Description of the image to generate in the form of a prompt. | |
| file_name | Yes | Filename of the image. Include the extension of .png |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool saves the image to a specified path and returns a PNG file path, which is useful. However, it lacks critical details such as potential rate limits, authentication requirements, file size constraints, or error handling, leaving significant gaps in understanding the tool's behavior.
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?
The description is front-loaded with the core functionality in the first sentence and uses a second sentence to provide usage guidelines. Both sentences are essential and contribute directly to understanding the tool, with no wasted words or redundancy.
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?
Given the complexity of an image generation tool with no annotations and no output schema, the description is incomplete. It covers the basic purpose and usage but lacks details on behavioral aspects like performance, limitations, or error cases. The absence of an output schema means the description should ideally explain return values more thoroughly, which it does not.
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 input schema has 100% description coverage, so the schema already documents both parameters (prompt and file_name) adequately. The description does not add any additional meaning or context beyond what the schema provides, such as examples or constraints, resulting in a baseline score of 3.
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 clearly states the specific action ('Generates an image using a FLUX model and save the image to the specified path') and distinguishes it from sibling tools focused on presentation slides. It identifies the resource (image) and the technology (FLUX model), making the purpose unambiguous.
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 description provides clear context for when to use the tool ('when the user asks to generate or create an image or a picture'), which is helpful for an AI agent. However, it does not explicitly state when NOT to use it or mention alternatives, such as other image generation tools or methods, which prevents a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open-presentationB
Opens an existing presentation and saves a copy to a new file for backup. Use this tool when the user requests to open a presentation that has already been created.
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_name | Yes | Name of the presentation to open | |
| output_path | No | Path where to save the presentation (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions saving a copy for backup, which implies non-destructive behavior, but doesn't disclose other traits like whether it requires specific permissions, what happens if the presentation doesn't exist, or if there are rate limits. For a tool with mutation implications (saving a copy) and zero annotation coverage, this is inadequate.
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?
The description is appropriately sized with two sentences: the first states the purpose, and the second provides usage guidelines. It's front-loaded with the core functionality. However, the second sentence could be slightly more concise (e.g., 'Use when opening an existing presentation').
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?
Given the tool's moderate complexity (opening and saving a copy), no annotations, no output schema, and 100% schema coverage, the description is minimally adequate. It covers purpose and usage but lacks behavioral details (e.g., error handling, backup specifics) and output information, leaving gaps for an agent to operate effectively.
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 100%, so the schema already documents both parameters fully. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain the backup purpose in relation to parameters). Baseline 3 is appropriate when the schema does the heavy lifting.
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 clearly states the tool's purpose: 'Opens an existing presentation and saves a copy to a new file for backup.' This specifies the verb (open and save copy) and resource (presentation), distinguishing it from siblings like 'create-presentation' or 'save-presentation'. However, it doesn't explicitly differentiate from 'save-presentation' in terms of backup vs. regular save.
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 description provides clear context for when to use it: 'Use this tool when the user requests to open a presentation that has already been created.' This distinguishes it from 'create-presentation' for new presentations. However, it doesn't specify when NOT to use it (e.g., vs. 'save-presentation' for saving without opening) or mention alternatives explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save-presentationA
Save the presentation to a file. Always use this tool at the end of any process that has added slides to a presentation.
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_name | Yes | Name of the presentation to save | |
| output_path | No | Path where to save the presentation (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions saving to a file but lacks details on permissions, file formats, error handling, or whether it overwrites existing files. For a write operation with zero annotation coverage, this leaves significant behavioral gaps.
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?
The description is concise with two sentences that are front-loaded with the core purpose and usage rule. However, the second sentence could be slightly more precise (e.g., specifying 'slides' vs. other changes), but overall it's efficient with minimal waste.
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?
Given the tool's complexity (a write operation with 2 parameters), no annotations, and no output schema, the description is adequate but incomplete. It covers purpose and usage well but lacks details on behavior, output, or error handling, making it minimally viable but with clear gaps.
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 100%, so the schema already documents both parameters ('presentation_name' and 'output_path'). The description doesn't add any meaning beyond what the schema provides, such as explaining parameter interactions or constraints. Baseline 3 is appropriate when the schema does the heavy lifting.
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 clearly states the verb ('save') and resource ('presentation to a file'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from potential sibling tools like 'generate-and-save-image' or 'create-presentation', which might also involve saving operations, leaving some ambiguity in sibling context.
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 description provides explicit usage guidance: 'Always use this tool at the end of any process that has added slides to a presentation.' This clearly indicates when to use it (after slide additions) and implies when not to use it (e.g., at other times or for other purposes), offering strong contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no ambiguity. The slide-adding tools are specialized for different slide types (comparison, picture-with-caption, section-header, title-content, title-only, title-with-chart, title-with-table), while the other tools handle presentation lifecycle operations (create, open, save) and image generation. An agent can easily select the right tool based on the desired slide type or operation.
All tool names follow a consistent verb_noun pattern using snake_case. The slide-adding tools consistently use 'add-slide-' prefix followed by the slide type, while other tools use clear action verbs like 'create-', 'open-', 'save-', and 'generate-and-save-'. There are no deviations in naming conventions.
With 11 tools, this server is well-scoped for PowerPoint presentation creation and management. The count is appropriate, covering various slide types, presentation lifecycle operations, and image generation. Each tool earns its place without being excessive or insufficient for the domain.
The tool surface is nearly complete for PowerPoint presentation creation and editing. It covers creation, opening, saving, and multiple slide types. The only minor gap is the lack of tools for editing or deleting existing slides, which agents might need to work around by creating new presentations. However, core workflows for building presentations from scratch are well-covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Generate polished PowerPoint presentations from text prompts, YouTube videos, or structured outlin…
Generate professional PowerPoint presentations from text, YouTube videos, or structured JSON data.…
Deterministic, fully editable PowerPoint from typed slide intents. 200+ layouts, brand templates.
Generate, edit, merge, translate and PDF-convert PowerPoint (.pptx) over MCP. 8 tools.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to create, edit, and manipulate PowerPoint presentations programmatically with support for text styling, shapes, slide rearrangement, and direct Office XML access.81
- AlicenseNot gradedqualityCmaintenanceEnables PowerPoint automation on Windows, including template-based creation, real-time editing, LaTeX equations, animations, and multimodal slide analysis, all via natural language.112MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI-powered generation of PowerPoint presentations with dynamic content, themes, and tones. Supports custom topics, audience, and slide count via the generate_ppt tool.
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to create, modify, and manage PowerPoint presentations programmatically using python-pptx.17
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/supercurses/powerpoint'
If you have feedback or need assistance with the MCP directory API, please join our Discord server