关于 KitchenSink4PPT
KitchenSink4PPT 是供本地 MCP 客户端使用的 PowerPoint MCP 服务,可创建和编辑演示文稿,涵盖内容、设计、审阅与导出。它用可编辑的 PowerPoint 原生形状构建图表,并在每次更改前备份文件。
主要功能
- 01从模板创建和修改演示文稿
- 02构建可编辑图表和粘附连接线
- 03编辑表格、图表、主题和版式
- 04审阅批注并检查无障碍问题
- 05更改前备份文件
适用场景
- 01基于现有模板创建演示文稿
- 02制作可由同事在 PowerPoint 中调整的图表
- 03检查幻灯片的版式、溢出或无障碍问题
- 04合并演示文稿或导出为 PDF 和图像
MCP 相关
KitchenSink4PPT 是供本地 MCP 客户端使用的 MCP 服务,通过九个工具提供 PowerPoint 的读取、检查、编辑、设计、审阅和导出操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
25收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | any | 否 | |
| scope | any | 否 | |
| detail | string | 否 | |
| offset | integer | 否 | |
| file_path | string | 是 |
详细介绍
KitchenSink4PPT
与 AI 助手一起制作和修改 PowerPoint 幻灯片,并使用仍可编辑的形状绘制图表。
你的 AI 可以在 PowerPoint 中执行 193 种操作,每次更改前都会备份;如果你的请求可能指代多个形状,它会先提问,而不是猜测。
KitchenSink4PPT 是一款 MCP 服务,可让 Claude Code、Codex CLI、Copilot CLI、Claude Desktop 和其他本地 MCP 客户端创建和编辑 .pptx 文件。它的图表由 PowerPoint 原生形状和粘合连接符构成,因此 AI 完成后,你仍可自行调整幻灯片。这是免费的 Community 版,采用 AGPL-3.0 许可。
**平台:**文件工具可在 Windows 和 Linux 上运行(此版本尚未在 macOS 上测试)。编辑已在 PowerPoint 中打开的演示文稿需要 Windows 和 PowerPoint。导出 PDF 和图像需要 Windows 上的 PowerPoint 或受支持的 LibreOffice。
安装
此软件包需要 Python 3.12 或更高版本。请在 PowerShell 或终端中运行以下命令,不要在 AI 聊天中运行。
**Claude Code 或 Codex CLI。**安装 uv,运行适用于你的应用的命令,然后开始新会话:
claude mcp add ppt -s user -- uvx kitchensink4ppt
codex mcp add ppt -- uvx kitchensink4ppt
**Claude Desktop。**安装 uv 并重启 Claude Desktop。从最新版本下载 .mcpb 文件,然后打开 Settings > Extensions > Advanced settings > Install extension 并选择该文件。首次启动时会下载 Python 软件包,因此需要网络连接。
**其他本地 MCP 客户端。**将 uvx 用作命令,将 kitchensink4ppt 用作参数;或者安装软件包,并将 kitchensink4ppt 作为服务命令运行:
pip install kitchensink4ppt
可选:pip install "kitchensink4ppt[metrics]" 可使用你已安装的字体进行测量,以便适配文本并检查溢出。结果仍是估算值,因此请渲染幻灯片进行确认。
功能
- 根据模板制作演示文稿,并修改其中的文本和演讲者备注。
- 使用可编辑形状和粘合连接符绘制图表,或通过一次调用生成时间线、组织结构图、矩阵、循环图和对比图。
- 将 SVG 图形转换为 PowerPoint 原生形状。
- 对齐对象,并应用统一的字体、颜色、主题和布局。
- 创建同事可以继续编辑的表格和图表。
- 合并、拆分和比较演示文稿,并处理审阅评论。
- 检查幻灯片是否存在无障碍问题,并应用支持的修复。
- 如果安装了渲染应用程序,可导出 PDF 或幻灯片图像。
此服务总共提供 9 个工具中的 145 项操作;若按操作可执行的每种动作分别计数(例如每种切换效果或对齐方式),则共有 193 项。完整工具列表在启动时约占用 AI 工作记忆的 7.3k 个令牌。数据来自 scripts/measure_surface.py 和 scripts/count_operations.py。
KitchenSink4Word(Word)、KitchenSink4XL(Excel)和 KitchenSink4Web(网页)采用相同的构建方式。
真正的图形,而不是图形图片
svg_to_shapes 会将 SVG 编译为由原生 PowerPoint 形状组成的分组树:包括自定义几何图形、渐变、描边、文本和嵌套分组。它不会栅格化,也不会调用外部服务,构建时无需安装 PowerPoint。每个形状都保留自己的 ID,因此之后可以单独更改某个节点的颜色、调整方框大小或重写标签。
连接符会粘附到节点上。移动节点时,箭头也会随之移动,就像有人手动绘制图表一样,因此你交付演示文稿的对象可以调整其中任意部分,而无需重新生成。
insert_shape(预设形状和自由形状几何图形)、insert_connector(直线、肘形、曲线,带箭头)、group_shapes、align_shapes、distribute_shapes 和 set_z_order 可用于从头构建图表;export_slide_image 会渲染 PNG,让你的 AI 查看生成的内容并进行修正。
工具包与上下文成本
服务会在第一条消息中列出九个工具。除 ppt_help 外,每个工具都接收 op(要执行的操作)和 args(其参数,包括 .pptx 的路径)。所有工具从一开始就可用,无需启用。Token 数量统计的是客户端收到的完整 tools/list 条目,数据来自 scripts/measure_surface.py。ppt_help 会返回任意操作所需的参数和可运行示例;未知参数会被拒绝,而非忽略。通过 slide_number 指定幻灯片时,编号从 1 开始,符合人们的习惯;通过 slide 指定时,编号从 0 开始;每个关于单张幻灯片的回答都会提供其编号和标题。
| 工具 | 操作数 | 约计 Token 数 | 涵盖内容 |
|---|---|---|---|
ppt_read | 18 | ~1.0k | 将演示文稿作为文本读取,为每张幻灯片提供稳定地址;查找文本、列出元素、读取表格、图表、备注、评论、公式和超链接;get_server_info 和 get_workflows |
ppt_inspect | 17 | ~0.9k | 不会更改内容的审查:无障碍性、版式和溢出检查、字体清单、演示文稿对比、统计信息、品牌提取、主题、文档属性、diagnose 和 PowerPoint 状态 |
ppt_edit | 19 | ~0.9k | 使用 apply_edits 批量编辑、搜索和替换、占位符文本、文本适配与格式设置、项目符号、超链接、备注,以及插入、删除、复制、重排、移动和隐藏幻灯片 |
ppt_graphics | 27 | ~1.2k | 形状及其调整控点、粘附连接符、SVG 编译器、一键式图表生成器、分组、对齐、Z 轴顺序、图片、视频和音频、公式、替代文本和阅读顺序,以及从其他演示文稿复制形状或组 |
ppt_tables | 16 | ~0.7k | 表格及单元格编辑、合并与取消合并、插入和删除行列、边框和填充、宽度和高度、内置样式、CSV 和 JSON 导入;包含可编辑数据的图表 |
ppt_design | 19 | ~0.9k | 幻灯片尺寸、版式、主题颜色和字体、应用品牌、背景、母版和版式编辑、在整个演示文稿中替换字体和颜色、切换效果和进入动画 |
ppt_review | 7 | ~0.6k | 线程式评论(添加、回复、解决、删除)以及匿名化演示文稿以供审阅。还可按需更新服务(update_now),并开启或关闭更新通知(update_notices) |
ppt_deck | 22 | ~1.0k | 根据模板创建演示文稿、复制、快照和备份、在演示文稿之间复制幻灯片、合并和拆分、导出 PDF、PNG、形状图片和讲义、议程幻灯片、页脚、压缩、验证,以及保存或滚动浏览在 PowerPoint 中打开的演示文稿 |
ppt_help | n/a | ~0.2k | 任意操作所需的参数和示例 |
| 全部九个工具 | 145 | ~7.3k | 启动时一次性加载;之后无需启用 |
如需操作指南,请让 AI 调用 get_workflows。其中包含构建图表、模板和表格的操作流程,并为每一步提供适用的工具。服务自身的指令会在以上数据基础上增加约 500 个 Token。希望使用范围更窄服务的管理员可以设置 KS4P_READ_ONLY=1,或在 KS4P_FORBID 中列出要移除的内容(参见 Configuration);移除的内容不再计入成本。
安全模型
- 原子化、经过验证的保存。 每次更改都会在内存中重建软件包并进行验证,然后用新文件替换旧文件。操作失败时,原文件保持原样。在 Windows 上,演示文稿会保留其 Mark of the Web,因此下载的演示文稿仍会在受保护视图中打开,并保留创建时间;只要文件系统和文件夹允许,演示文稿就会保留自身权限;如果不允许,则会继承所在文件夹的权限,并在警告中说明。保存期间,其他程序可能会短暂看不到该演示文稿,通常只有几毫秒;此服务的读取操作会等待保存完成。
- 每次更改前备份。 当前版本会轮换保存到演示文稿旁边隐藏的
.ks4p-backups/文件夹中的prev.pptx和anchor.pptx。create_snapshot会在同一隐藏文件夹中保留永久副本,不会轮换或清除该副本;使用dest_dir时,它会在该目录中写入一个可见副本,文件名以演示文稿命名,因此不会带有比演示文稿日期更晚的前置日期戳。manage_backups会列出并还原所有备份(还原操作本身也可以撤销),并清除轮换备份。 - 未修改的部分保持原样。 未被调用修改的部分会逐字节写回,因此编辑其他幻灯片不会影响主题、媒体和动画。
- 遇到不确定情况时拒绝操作,而非猜测。 对于目标不明确的情况,会列出候选项并拒绝操作;可能导致合并单元格跨区范围被拆分的编辑会被拒绝;锚点已过期的批处理也会在任何更改发生前被拒绝。每次拒绝都会提供结构化信息(
{ok: false, error: {code, message, hint}}),并指出下一步应调用的工具。 - 锁定。 对同一文件的更改会在单个服务内及跨进程进行串行处理。若演示文稿已在 PowerPoint 中打开,服务会读取其已保存的文件,并在回复中说明;文件工具会拒绝修改它,以避免风险。
- PowerPoint 始终由你掌控。 只有服务自己启动的 PowerPoint 进程才会由服务结束;如果调用卡住,服务会安全地取消调用,而不会关闭应用程序。
- 加密和只读文件。 加密的演示文稿会在任何 Office 调用之前被拒绝;只读文件会被报告为只读。
隐私
此服务在你的计算机上运行。KitchenSink4AI 不会接收你的文件或使用数据。你的 AI 应用可能会根据该应用的设置和条款,将提示词、文件内容和工具结果发送给其服务提供商。下文所述的更新检查每周最多联系 PyPI 一次,且只发送软件包名称和已安装版本。选择“立即更新”会从 PyPI 下载新版本;对于 Claude Desktop,则会从 GitHub 下载新捆绑包。此服务已关闭启动横幅,因此它所运行的框架不会自行检查版本。隐私政策涵盖产品、购买和支持事宜。
配置
| 变量 | 作用 |
|---|---|
KS4P_READ_ONLY | 1 会移除所有会更改文件的工具,仅保留 ppt_read、ppt_inspect 和 ppt_help |
KS4P_FORBID | 要移除的工具或操作名称,以逗号分隔,例如 export_pdf,ppt_review;也接受 ppt_app 作为名称,并会移除所有启动 PowerPoint 或连接到 PowerPoint 的工具 |
KS4P_ALLOWED_ROOTS | 可选沙箱:工具不会操作这些文件夹之外的文件 |
KS4P_CALL_TIMEOUT_S | 单次调用可运行后安全取消前的秒数(默认 120) |
KS4P_MAX_OUTPUT_CHARS | 单条回复的大小上限,因此大型演示文稿会分页面读取(默认 52,000 个字符) |
KS4P_UPDATE_CHECK | off 会完全禁用更新检查(KS4P_NO_UPDATE_CHECK=1 也有效) |
KS4P_UPDATE_NOTICES | off 会关闭更新通知;on 会在关闭通知后重新开启 |
KS4P_AUTHOR | 当调用未指定作者时,为评论或回复署名的人:user(默认值)使用你自己的姓名署名;如果没有,则使用你的 Office 用户名;如果两者都没有,则使用你的 Windows 登录名;assistant 会署名为“AI Assistant via KS4PPT”,调用传入 author="assistant" 时也如此,不受此设置影响 |
KS4P_COMMENT_AUTHOR | 当评论或回复的调用未指定作者时,为每条评论和回复署名的名称,优先于 KS4P_AUTHOR 的选择。无论在此设置还是作为调用的 author 传入,电子邮件地址都不会用于署名:系统会改用下一个选项,并在回答中说明 |
服务器无法使用的值会导致启动停止,并显示普通提示,而不是自行猜测:无法读取的 KS4P_READ_ONLY、KS4P_CALL_TIMEOUT_S、KS4P_MAX_OUTPUT_CHARS 或 KS4P_AUTHOR,KS4P_FORBID 中不是工具或操作的名称,或锁定工具的已弃用设置,例如 KS4P_PACK_POLICY=locked。服务器不认识的变量名会被忽略,因此拼写错误的名称(例如 KS4P_READ_ONY)不会生效。请检查拼写;get_server_info 会报告服务器是否为只读,以及禁止了哪些内容。
更新检查和更新通知。 每周最多一次,在你使用工具后,服务器会在后台向 PyPI 查询 kitchensink4ppt 的最新版本。请求只包含软件包名称和已安装版本,不包含演示文稿、文件名或标识符。如果有更新版本,且服务器通过 uvx 或 Claude Desktop 扩展运行,你的 AI 应用会显示一条简短通知,提供“立即更新”和“暂不更新”选项(如果应用支持)。否则,你的 AI 会提及新版本一次,并提供更新选项。除非你在通知中选择“立即更新”,或要求你的 AI 更新,否则服务器绝不会下载或安装新版本。若要关闭通知,请要求你的 AI 关闭 KitchenSink4PPT 更新通知;KS4P_UPDATE_NOTICES=off 会在所有位置关闭通知,而 KS4P_UPDATE_CHECK=off 会完全关闭更新检查(较旧的 KS4P_NO_UPDATE_CHECK=1 也有效)。该设置保存在服务器自己的状态文件夹中,因此更新后仍会保留。
从 1.x 升级
2.0 版本将 1.3.1 中的 142 个独立工具重新归类为上述九个工具。1.3.1 中的每项操作仍然存在,但现在需要将其作为某个分组工具的操作来调用:例如,使用 op: "svg_to_shapes" 调用 ppt_graphics,而不是调用名为 svg_to_shapes 的工具。部分参数有所变化,因此首次调用某项操作前,请先查看 ppt_help。
docs/surface_map.md列出了每个 1.3.1 工具,以及取代它的工具和操作。get_workflows中的migrate-from-v1配方会向你的 AI 提供同一份映射,帮助它转换已保存的提示词或脚本。enable_tools和disable_tools已移除,因为所有操作从一开始就都可用。启动设置KS4P_MODE、KS4P_PACK_POLICY、KS4P_ALL_TOOLS和KS4P_LOCK_TOOLS已弃用。旧版本的设置会自动处理:旧的默认设置(KS4P_MODE=lite、full或everything、KS4P_PACK_POLICY=auto、KS4P_ALL_TOOLS、KS4P_LOCK_TOOLS=false)会被忽略,并显示一行提示;锁定工具的设置(KS4P_PACK_POLICY=locked、KS4P_LOCK_TOOLS=true或包含工具组的KS4P_MODE列表)会导致启动停止,并显示说明替代设置的消息。若要限制服务提供的内容,请使用KS4P_READ_ONLY和KS4P_FORBID(参见 Configuration)。- 安装命令、包名和
kitchensink4ppt命令保持不变。
changelog 列出了其他所有变更。
测试
文件层(包、幻灯片、文本、图形、表格、图表、评论、动画、主题、链接、媒体、备注、母版、公式、无障碍功能、组装、扫描和导出)由包含 3,689 项测试的测试套件覆盖,其中包括检查生成的演示文稿能否在 PowerPoint 中正常打开的测试;服务也通过了基于 stdio 的协议往返测试套件。需要示例演示文稿的测试会生成合成文件,因此可在任何机器上运行。编辑在 PowerPoint 中打开的演示文稿时,每次调用都会经过一个进程级锁,并进行对话框检测和有界超时控制。
报告问题
请通过 提交 issue 报告问题,并说明你提出了什么请求、实际发生了什么以及预期结果是什么。请让你的 AI 运行 diagnose 并粘贴输出;该输出经过专门设计,可以安全分享。请勿附上含有任何隐私内容的演示文稿。有关安全问题,请参阅 SECURITY.md。
Business 版
Business 版将这些工具与 Windows 安装程序、签名更新渠道以及 Business 条款下的支持服务相结合。当有适用的版本可用时,更新检查会通知你,且不会自动安装任何内容。请参阅定价。Community 版继续依据 AGPL 免费提供,包括符合其条款的商业用途。
贡献
欢迎提交错误报告、修复、测试和文档。请参阅 CONTRIBUTING.md;首次贡献者需同意贡献者许可协议。
许可证
KitchenSink4PPT 采用双重许可。
- AGPL-3.0。 任何人(包括企业)都可以免费使用,但必须遵守 AGPL 的规定。其条款包括:分发软件或通过网络提供软件时,必须共享源代码及所做的修改。
- 商业许可证。 面向希望将 KitchenSink4PPT 集成到自有产品或服务中,且不受 AGPL 源代码共享义务约束的组织。请联系 [email protected]。
版权所有 (c) 2026 Alvut Consulting, LLC。KitchenSink4AI 是 Alvut Consulting, LLC 的产品系列。KitchenSink4AI 工具在 AI 编码助手的帮助下构建,每次发布前都会通过完整的测试套件。
与 Microsoft Corporation 无关联,也未获得其认可或赞助。Microsoft 和 PowerPoint 是 Microsoft 公司集团的商标。GitHub 和 Copilot 是 Microsoft 公司集团的商标。Claude 是 Anthropic 的商标。Codex 和 OpenAI 是 OpenAI 的商标。所有其他商标均为其各自所有者的财产。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。