
KitchenSink4PPT
io.github.KitchenSink4AIPublished by GitHub account KitchenSink4AIv2.0.0Updated Oct 24, 2026
PowerPoint (.pptx) MCP server: editable vector diagrams, tables, budgeted reads, render-to-verify
Overview
Local MCP server that lets an AI assistant create and revise PowerPoint .pptx decks, including diagrams built from editable native shapes.
- What you can do
- Read decks as text, find text, list elements, and read tables, charts, notes, comments and hyperlinks; run read-only audits such as accessibility, layout, overflow, fonts and deck comparison; batch-edit text, formatting, notes and slide order; draw shapes, glued connectors and SVG-converted graphics, and generate diagrams, tables and charts; apply themes, layouts, backgrounds, transitions and animations; manage comments, snapshots, backups, merges, splits and PDF or image export.
- When to use it
- Useful when you want an assistant to build or revise a .pptx deck on your machine and leave the result editable in PowerPoint, especially for shape-based diagrams, tables, charts and review cleanup.
- Requirements
- Runs locally over stdio; Python 3.12 or newer, installed via uvx or pip. Editing a deck open in PowerPoint, and PDF or image export, need Windows with PowerPoint or a supported LibreOffice. First launch downloads the package, so network access is needed. Optional settings include KS4P_READ_ONLY, KS4P_FORBID and KS4P_ALLOWED_ROOTS.
Installation
In SourceWeft
- Open KitchenSink4PPT in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[Image] KitchenSink4PPT
[Tests] [PyPI] [License: AGPL-3.0]
Build and revise PowerPoint decks with your AI assistant, with diagrams made of shapes you can still edit.
Your AI gets 193 actions in PowerPoint, a backup before every change, and a question instead of a guess when your request could mean more than one shape.
KitchenSink4PPT is an MCP server that lets Claude Code, the Codex CLI, Copilot CLI, Claude Desktop and other local MCP clients create and edit .pptx files. Its diagrams are built from native PowerPoint shapes and glued connectors, so the slide is still yours to adjust after the AI is done. This is the free Community edition, licensed under the AGPL-3.0.
Product page · llms.txt · Changelog
Platform: the file tools run on Windows and Linux (macOS is untested in this release). Editing a deck that is open in PowerPoint needs Windows with PowerPoint. PDF and image export need PowerPoint on Windows or a supported LibreOffice.
Install
The package needs Python 3.12 or newer. Run the commands below in PowerShell or a terminal, not in an AI chat.
Claude Code or Codex CLI. Install uv, run the line for your app, and start a new session:
Claude Desktop. Install uv and restart Claude Desktop. Download the .mcpb file from the latest release, then open Settings > Extensions > Advanced settings > Install extension and choose the file. The first launch downloads the Python package, so it needs a network connection.
Any other local MCP client. Use uvx as the command and kitchensink4ppt as its argument, or install the package and run kitchensink4ppt as the server command:
Optional: pip install "kitchensink4ppt[metrics]" adds measurement with your installed fonts for text fitting and overflow checks. The results are still estimates, so render the slide to confirm.
What it can do
- Build a deck from a template and revise its text and speaker notes.
- Draw diagrams from editable shapes and glued connectors, or generate timelines, org charts, matrices, cycles and comparisons in one call.
- Turn SVG graphics into native PowerPoint shapes.
- Align objects and apply consistent fonts, colors, themes and layouts.
- Build tables and charts that colleagues can keep editing.
- Merge, split and compare decks, and work through review comments.
- Check slides for accessibility issues and apply the supported repairs.
- Export PDF or slide images when a rendering application is installed.
In total the server offers 145 operations in 9 tools, 193 counting each action an operation can take (for example each kind of transition or alignment). The whole tool list costs about 7.3k tokens of your AI's working memory at startup. Figures come from scripts/measure_surface.py and scripts/count_operations.py.
KitchenSink4Word (Word), KitchenSink4XL (Excel) and KitchenSink4Web (web pages) are built the same way.
Real graphics, not pictures of graphics
svg_to_shapes compiles an SVG into a grouped tree of native PowerPoint shapes: custom geometry, gradients, strokes, text and nested groups. Nothing is rasterized, no external service is called, and building does not need PowerPoint installed. Every shape keeps its own id, so you can recolor one node, resize a box or rewrite a label afterward.
Connectors are glued. Move a node and its arrows follow, exactly as if someone had drawn the diagram by hand, so the person you hand the deck to can adjust any piece without regenerating it.
insert_shape (presets and freeform geometry), insert_connector (straight, elbow, curved, with arrowheads), group_shapes, align_shapes, distribute_shapes and set_z_order cover diagrams built from scratch, and export_slide_image renders a PNG so your AI can look at what it made and fix it.
Tool packs and context cost
The server lists nine tools, all from the first message. Every tool except ppt_help takes an op (the operation to run) and args (its arguments, including the path to the .pptx). Everything is available from the start; nothing needs switching on. Token figures count the full tools/list entry the client receives and come from scripts/measure_surface.py. ppt_help returns the arguments and a working example for any operation, and unknown arguments are refused rather than ignored. Name a slide with slide_number, which counts from 1 the way people do, or with slide, which counts from 0; every answer about one slide gives its number and title.
For a recipe, ask your AI to call get_workflows. It includes the build-a-diagram, template and table sequences with the right tool for each step. The server's own instructions add about 500 tokens to the figures above. Administrators who want a narrower server can set KS4P_READ_ONLY=1 or list what to remove in KS4P_FORBID (see Configuration); what is removed no longer counts toward the cost.
Safety model
- Atomic, validated saves. Every change rebuilds the package in memory, validates it, then swaps the new file in for the old one. A failed operation leaves the original exactly as it was. On Windows the deck keeps its Mark of the Web, so a downloaded deck still opens in Protected View, and its creation time; it keeps its own permissions wherever the file system and the folder allow it; where they do not, the deck takes its folder's permissions and the answer says so in a warning. Other programs may see the deck missing for a moment during a save, usually a few milliseconds; this server's reads wait it out.
- Backups before every change. The current version rotates into
prev.pptxandanchor.pptxin a hidden.ks4p-backups/folder next to the deck.create_snapshotkeeps a permanent copy in the same hidden folder, where nothing rotates or purges it; withdest_dirit writes a visible copy there instead, named after the deck so it never carries a newer leading date stamp than the deck.manage_backupslists and restores them all (a restore can itself be undone) and purges the rotating ones. - Untouched parts stay untouched. Parts a call does not change are written back byte for byte, so themes, media and animations survive edits to other slides.
- Refusals instead of guesses. Ambiguous targets are refused with a list of candidates, merged-cell edits that would split a span are refused, and a batch with a stale anchor is refused before anything changes. Each refusal is structured (
{ok: false, error: {code, message, hint}}) and names the next call to make. - Locks. Changes to one file are serialized within a server and across processes. A deck open in PowerPoint is read from its saved file, and the answer says so; the file tools refuse to change it rather than risk it.
- PowerPoint stays yours. The server ends a PowerPoint process only if it started that process itself, and it cancels a hung call safely instead of killing the application.
- Encrypted and read-only files. An encrypted presentation is refused before any Office call, and a read-only file is reported as read-only.
Privacy
The server runs on your computer. KitchenSink4AI never receives your files or usage data. Your AI app may send prompts, file contents and tool results to its own provider under that app's settings and terms. The update check described below contacts PyPI at most once a week and sends only the package name and the installed version. Choosing Update now downloads the new version from PyPI, or the new bundle from GitHub for Claude Desktop. The server's startup banner is switched off, so the framework it runs on makes no version check of its own. The Privacy Policy covers the product, purchases and support.
Configuration
A value the server cannot use stops startup with a plain message instead of being guessed at: an unreadable KS4P_READ_ONLY, KS4P_CALL_TIMEOUT_S, KS4P_MAX_OUTPUT_CHARS or KS4P_AUTHOR, a name in KS4P_FORBID that is not a tool or operation, or a retired setting that locked the tools, such as KS4P_PACK_POLICY=locked. A variable name the server does not know is ignored, so a misspelled one such as KS4P_READ_ONY has no effect. Check the spelling; get_server_info reports whether the server is read-only and what it forbids.
Update check and update notices. At most once a week, after you use a tool, the server asks PyPI in the background which version of kitchensink4ppt is newest. The request names only the package and the installed version and contains no decks, file names or identifiers. When a newer version exists and the server runs through uvx or the Claude Desktop extension, your AI app shows a short notice with Update now and Not now, where the app supports one. Otherwise your AI mentions the new version once and offers to update. It never downloads or installs a new version unless you choose Update now in its notice or ask your AI to update it. To turn notices off, ask your AI to turn off KitchenSink4PPT update notices; KS4P_UPDATE_NOTICES=off turns them off everywhere, and KS4P_UPDATE_CHECK=off turns the check off completely (the older KS4P_NO_UPDATE_CHECK=1 also works). The setting is kept in the server's own state folder, so it survives updates.
Upgrading from 1.x
Version 2.0 regroups the 142 flat tools of 1.3.1 into the nine tools above. Every 1.3.1 operation still exists, but you now call it as an operation of a group tool: ppt_graphics with op: "svg_to_shapes" instead of a tool named svg_to_shapes. Some arguments changed, so check ppt_help for an operation before the first call.
docs/surface_map.mdlists each 1.3.1 tool beside the tool and operation that replaces it.- The
migrate-from-v1recipe inget_workflowsgives your AI the same map, so it can translate a saved prompt or script. enable_toolsanddisable_toolsare gone, because every operation is present from the start. The launch settingsKS4P_MODE,KS4P_PACK_POLICY,KS4P_ALL_TOOLSandKS4P_LOCK_TOOLSare retired. Settings from earlier versions are handled for you: an old default (KS4P_MODE=lite,fulloreverything,KS4P_PACK_POLICY=auto,KS4P_ALL_TOOLS,KS4P_LOCK_TOOLS=false) is ignored with a one-line notice, and a setting that locked the tools (KS4P_PACK_POLICY=locked,KS4P_LOCK_TOOLS=trueor aKS4P_MODElist of tool groups) stops the start with a message naming what to use instead. To limit what the server offers, useKS4P_READ_ONLYandKS4P_FORBID(see Configuration).- The install commands, the package name and the
kitchensink4pptcommand are unchanged.
The changelog lists everything else that changed.
Testing
The file layer (packages, slides, text, graphics, tables, charts, comments, animations, themes, links, media, notes, masters, equations, accessibility, assembly, sweeps and export) is covered by a suite of 3,689 tests, including checks that generated decks open cleanly in PowerPoint, and the server passes a protocol round-trip suite over stdio. Tests that need sample decks generate synthetic ones, so the suite runs on any machine. Editing a deck that is open in PowerPoint runs every call through one process-wide lock, with dialog detection and bounded timeouts.
Reporting problems
Please open an issue with what you asked for, what happened and what you expected. Ask your AI to run diagnose and paste the output; it is designed to be safe to share. Please do not attach decks that contain anything private. For security issues, follow SECURITY.md.
Business edition
The Business edition pairs these tools with a Windows installer, a signed update channel and support under the Business terms. Update checks tell you when a covered release is available, and nothing installs on its own. See pricing. The Community edition stays free under the AGPL, including business use that meets its terms.
Contributing
Bug reports, fixes, tests and documentation are welcome. See CONTRIBUTING.md; first-time contributors agree to the Contributor License Agreement.
License
KitchenSink4PPT is dual-licensed.
- AGPL-3.0. Free for anyone, including businesses, for any use that complies with the AGPL. Its terms include sharing your source code, with your modifications, when you distribute the software or make it available over a network.
- Commercial license. For organizations that want to build KitchenSink4PPT into their own products or services without the AGPL's source-sharing obligations. Contact [email protected].
Copyright (c) 2026 Alvut Consulting, LLC. KitchenSink4AI is a product line of Alvut Consulting, LLC. KitchenSink4AI tools are built with the help of AI coding assistants, and every release goes through the full test suite before it ships.
Not affiliated with, endorsed by, or sponsored by Microsoft Corporation. Microsoft and PowerPoint are trademarks of the Microsoft group of companies. GitHub and Copilot are trademarks of the Microsoft group of companies. Claude is a trademark of Anthropic. Codex and OpenAI are trademarks of OpenAI. All other trademarks are the property of their respective owners.
Source: README.md at commit c20ff39
Tools
0Version history
4- v2.0.0LatestOct 24, 2026
- v1.3.2Oct 13, 2026
- v1.3.1Sep 22, 2026
- v1.3.0Sep 21, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
