pptx-mcp
Click on "Deploy 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., "@pptx-mcpoutline ~/Documents/presentation.pptx with speaker notes"
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.
pptx-mcp
Read, outline and preview PowerPoint (.pptx) files from any AI agent. Free and open source (MIT) Model Context Protocol server by 207studio.
What it does
Tool | What you get |
| A slide-by-slide outline of the deck as JSON: title, body text and speaker notes. |
| The cover thumbnail PowerPoint saved inside the file, when the file has one. |
| A self-contained HTML page showing the first 5 slides as text cards, ready to share. |
source can be a local path or an http(s) URL. Files up to 50 MB.
Related MCP server: mcp-powerpoint
Install
{
"mcpServers": {
"pptx": { "command": "npx", "args": ["-y", "github:207studio/pptx-mcp"] }
}
}Or clone and run npm install && node src/index.js (Node 18+).
Bot ideas
Deck summarizer: outline a .pptx you got by email and draft a reply.
Cover gallery: pull the cover thumbnail of every deck in a folder.
Share preview: turn a deck into one HTML page you can share as a link.
Need real slides in your own app?
pptx-mcp reads text only. It does not render layouts, images, animations or transitions.
To play .pptx files inside your web app with layout, animations and transitions, use PPTX Player SDK. It is a one-time purchase with source included.
Development
npm install
npm testMCPB bundle
npm ci
npm run bundleUpload dist/pptx-mcp.mcpb to Smithery as "Local (MCPB Bundle)". The bundle includes production dependencies.
License
MIT © 207studio
Available Tools
3 toolspptx_outlineOutline a PowerPoint fileB
Turns a .pptx into a slide-by-slide outline: title, body text and speaker notes, as JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | Local path or http(s) URL of a .pptx file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the return shape (title, body text, speaker notes, JSON) and implies a read-only extraction, but says nothing about failure modes (password-protected or malformed files), whether remote http(s) sources are fetched, size limits, or whether the file is modified.
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 that front-loads the transformation, enumerates the extracted elements, and names the output format. No filler, nothing redundant with the schema.
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 one-parameter extraction tool with no output schema, the description adequately covers what is returned. The remaining gap is the absence of any note on error conditions or remote-source behavior, which is minor given the tool's simplicity.
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?
Only one parameter, and the schema already documents it fully (100% coverage) as a local path or http(s) URL. The description adds no extra meaning about the source argument, so the baseline 3 for a fully documented schema applies.
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 transformation with a clear input (.pptx) and a clearly different output shape (slide-by-slide JSON outline with titles, body text, speaker notes), which naturally separates it from the thumbnail and web-preview siblings. It stops short of naming or explicitly contrasting those siblings, so differentiation is inferable 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?
There is no guidance on when to use this tool versus pptx_thumbnail or pptx_web_preview, nor any prerequisites such as file accessibility or supported formats. The agent must infer usage entirely from the one-line purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pptx_thumbnailShow the cover thumbnailB
Returns the cover thumbnail image that PowerPoint saved inside the .pptx, if there is one.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | Local path or http(s) URL of a .pptx file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It usefully discloses that the result is conditional ('if there is one'), implying a possible empty result, and 'Returns' implies a read-only operation. However it never says what the returned thumbnail looks like (image bytes, base64, path) or what errors/permissions apply, leaving meaningful behavioural 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?
A single front-loaded sentence with no padding, containing the verb, the resource, its origin inside the file, and the conditional caveat. Every clause earns its place.
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 one-parameter, annotation-free tool with no output schema, the definition is adequate but leaves the return format (critical given no output schema) and read-only/permission context unspecified. Sufficient to call, not sufficient to predict the response.
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% and the sole 'source' parameter is fully documented as a local path or http(s) URL in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 applies.
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: 'Returns the cover thumbnail image that PowerPoint saved inside the .pptx.' An agent can tell this apart from pptx_outline and pptx_web_preview by the resource, though the description never names those siblings to reinforce the distinction.
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?
There is no guidance on when to reach for this versus pptx_outline or pptx_web_preview, nor any prerequisites or exclusions. The 'if there is one' clause is a data condition, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pptx_web_previewMake a shareable text previewA
Writes a self-contained HTML page previewing the first 5 slides as text cards, ready to share.
| Name | Required | Description | Default |
|---|---|---|---|
| output | No | Where to write the .html (default: returned inline) | |
| source | Yes | Local path or http(s) URL of a .pptx file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does reveal two real traits: the tool writes to disk (a mutation side effect) and the preview is truncated to the first 5 slides, which matters for correctness. It omits overwrite behavior, whether an http(s) source is fetched over the network, and any path/permission constraints.
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 well-formed sentence with the verb and the output artifact front-loaded and no filler. It is dense but every clause adds information; only the sharing angle is slightly redundant.
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 two-parameter, no-annotation, no-output-schema tool, the description covers what is produced (self-contained HTML, text cards, 5-slide cap) and the side effect of writing. The remaining gaps are edge-case behaviors (overwrite, remote fetch) rather than anything an agent needs to invoke it.
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 both parameters are already documented, including the inline-vs-file default for output. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.
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 artifact (writes a self-contained HTML page previewing slides as text cards) and pins the scope to the first 5 slides. It clearly differs in kind from pptx_outline and pptx_thumbnail, though it never names those siblings or contrasts against them explicitly.
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?
"Ready to share" hints at the sharing/preview use case, and "first 5 slides" implies a quick-look scenario, but there is no statement of when to prefer this over pptx_outline or pptx_thumbnail. The routing must be inferred from the artifact type.
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.
3 tool updates
v0.1.0- First observed
pptx_outline - First observed
pptx_thumbnail - First observed
pptx_web_preview
TDQS
Scored across 3 tools
Each tool targets a distinct output: JSON outline, cover thumbnail image, and HTML preview page. pptx_outline and pptx_web_preview both surface slide text, so an agent might briefly weigh one against the other, but the format/naming distinction (JSON vs HTML, all slides vs first 5) clarifies intent.
All three tools use an identical pattern: the pptx_ prefix plus a snake_case noun/descriptor. Fully predictable and readable.
Three tools is a small but coherent set for a read-only pptx inspection server. It is on the lean side, but each tool earns its place without redundancy.
Coverage is entirely read-only: no creation, editing, or slide/image extraction beyond the saved cover. The web preview also caps at the first 5 slides, a notable gap for a complete inspection surface.
Maintenance
Related MCP Connectors
Generate professional PowerPoint presentations from text, YouTube videos, or structured JSON data.…
Generate polished PowerPoint presentations from text prompts, YouTube videos, or structured outlin…
Create consulting-style presentation decks (editable PowerPoint) from a topic or notes.
Create polished slide decks from text or YouTube links in seconds. Fetch video transcripts to tran…
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 gradedqualityDmaintenanceEnables AI assistants to create and manipulate PowerPoint presentations programmatically, including adding slides, exporting to PDF, and reading metadata.6 npm5MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with PowerPoint presentations through natural language commands, supporting reading, editing, slide management, and automated speaker notes processing.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to create, inspect, and edit PowerPoint presentations programmatically using tools for slides, text, shapes, images, tables, and search-and-replace operations.-