Token导航 LogoToken导航

MCP Server · 运维云端

Pptxgenjs MCP

一个基于PptxGenJS的PPT生成服务,提供全面的PPT创建、编辑和导出功能,适用于自动化报告生成、演示文稿制作等场景。

未说明官方级别未说明来源级核验工具 0
JavaScriptClaude云端部署Claude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
gavanduffy
提供方
gavanduffy

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Pptxgenjs MCP 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前要先准备 会话凭据。

分类

运维云端

传输方式

未说明

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

PptxGenJS MCP服务器

一种模型上下文协议(MCP)服务器,使用以下命令提供全面的PowerPoint演示文稿创建功能 PptxGenJS该服务器通过LLM友好的界面公开PptxGenJS的整个功能集。

特性

此MCP服务器提供以下工具:

  • 展示管理:使用自定义布局、元数据和属性创建演示文稿
  • 滑动操作:添加带有背景、部分和自定义布局的幻灯片
  • 文本内容:添加具有丰富样式选项(字体、颜色、对齐方式、项目符号等)的格式化文本
  • 形状:插入各种形状,包括矩形、圆形、箭头、流程图元素等
  • 图像:从URL、本地路径或base64数据添加图像
  • 图像搜索:通过SearXNG搜索图像并自动将其添加到幻灯片中
  • 表格:创建具有自定义样式、边框和单元格属性的格式化表格
  • HTML表格导入:导入HTML表格并将其转换为保留样式的PowerPoint表格
  • 图表:生成各种图表类型(条形图、折线图、饼图、面积图、散点图、气泡图、雷达图、甜甜圈图)
  • 演讲者备注:将演示者备注添加到幻灯片中
  • 批量操作:在单个操作中添加包含多个内容项的幻灯片,以提高效率
  • 幻灯片母版模板:定义和重用幻灯片模板,以实现一致的演示文稿设计
  • PPTX模板:将现有的PPTX文件转换为JSON模板,并使用动态内容替换从中创建新的演示文稿
  • 出口:将演示文稿保存为文件或导出为base64/二进制数据

安装

地方发展

npm install
npm run build

Cloudflare员工部署

此MCP服务器还可以部署到Cloudflare Workers,用于基于云的操作,并使用R2存储进行演示。看 CLOUDFLARE_DEPLOYMENT.md 有关详细的设置说明。

快速启动:

npm install -g wrangler
wrangler login
wrangler r2 bucket create pptx
npm run deploy

用法

使用克劳德桌面(本地)

将此添加到您的Claude Desktop配置文件中:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pptxgenjs": {
      "command": "node",
      "args": ["/path/to/pptxgenjs-mcp/dist/index.js"]
    }
  }
}

使用MCP客户端

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

const transport = new StdioClientTransport({
  command: "node",
  args: ["/path/to/pptxgenjs-mcp/dist/index.js"]
});

const client = new Client({
  name: "example-client",
  version: "1.0.0"
}, {
  capabilities: {}
});

await client.connect(transport);

可用工具

展示管理

create_presentation

创建新的PowerPoint演示文稿。

参数:

  • presentationId (可选):演示文稿的自定义ID
  • layout (可选):布局类型(“Layout_4x3”、“Layout_16x9”、“Layout_16x10”和“Layout_WIDE”)
  • author (可选):作者姓名
  • company (可选):公司名称
  • title (可选):演示文稿标题
  • subject (可选):演示主题
  • rtlMode (可选):启用从右向左模式

退货: 用于后续操作的演示ID

list_presentations

列出内存中所有活动的演示文稿。

define_layout

创建具有特定尺寸的自定义幻灯片布局。

参数:

  • presentationId:演示文稿ID
  • name:版面名称(例如“A4”)
  • width:宽度(英寸)
  • height:高度(英寸)

滑动操作

add_slide

在演示文稿中添加新幻灯片。

参数:

  • presentationId:演示文稿ID
  • backgroundColor (可选):6位十六进制颜色(例如“FF0000”)
  • backgroundImage (可选):图像路径或base64数据
add_section

添加一个命名部分来组织幻灯片。

参数:

  • presentationId:演示文稿ID
  • title:章节标题

内容工具

add_text

为当前幻灯片添加格式丰富的文本。

参数:

  • presentationId:演示文稿ID
  • text:文本内容(文本对象的字符串或数组)
  • x, y, w, h:位置和大小(英寸或百分比)
  • fontSize:字体大小(以点为单位)
  • fontFace:字体系列名称
  • color:文本颜色(6位十六进制)
  • bold, italic, underline:文本样式
  • align:水平对齐(“左”、“中”、“右”、“对齐”)
  • valign:垂直对齐(“顶部”、“中部”、“底部”)
  • bullet:启用项目符号
  • lineSpacing:行距乘数
add_shape

向当前幻灯片添加形状。

参数:

  • presentationId:演示文稿ID
  • shape:形状类型(例如,“矩形”、“椭圆形”、“圆形矩形”、”三角形“、”右箭头“、”星形“)
  • x, y, w, h:位置和尺寸
  • fill:填充配置(颜色、透明度)
  • line:边框配置(颜色、宽度、dashType)

支持的形状包括:

  • 基本:矩形、椭圆形、三角形、菱形、星形、心形、云形
  • 箭头:右箭头、左箭头、上箭头、下箭头、弯曲箭头
  • 流程图:流程图、流程图决策、流程图文档等。
  • 还有更多。..
add_image

将图像添加到当前幻灯片。

参数:

  • presentationId:演示文稿ID
  • path 或 data:图像源(URL、本地路径或base64)
  • x, y, w, h:位置和尺寸
  • sizing:尺寸选项(包含、覆盖、裁剪)
  • hyperlink:添加可点击链接
  • rounding:圆角
  • transparency:图像透明度(0-100)
search_and_add_image

通过SearXNG搜索图像,并可选择将其添加到演示幻灯片中。

参数:

  • query:图像搜索查询(例如,“中世纪城堡建筑”、“工业革命工厂”)
  • maxResults (可选):返回的最大结果数(默认值:10)
  • presentationId (可选):要添加图像的演示文稿ID(如果autoAdd为true,则为必填项)
  • slideIndex (可选):图像放置的目标幻灯片索引(从0开始,如果没有提供,则使用最后一张幻灯片)
  • position (可选):具有属性的对象的位置和大小:

- x, y:位置单位为英寸或百分比 - w, h:宽度和高度,单位为英寸或百分比

  • autoAdd (可选):如果为true,则自动将第一个搜索结果添加到指定的幻灯片中(默认值:false)

退货:

  • results:图像搜索结果数组 description 和 sourceUrl
  • addedToSlide (当autoAdd为true时):有关添加的图像的信息,包括 presentationId, slideIndex, imageUrl,以及 description

示例:

仅搜索:

await callTool("search_and_add_image", {
  query: "medieval castle architecture",
  maxResults: 5
});

搜索和自动添加:

await callTool("search_and_add_image", {
  query: "Industrial Revolution factory",
  presentationId: "pres_123",
  slideIndex: 2,
  position: { x: 5, y: 2, w: 4, h: 3 },
  autoAdd: true
});
add_table

添加具有可自定义样式的表格。

参数:

  • presentationId:演示文稿ID
  • rows:行数组(每行是单元格数组)
  • x, y, w, h:位置和尺寸
  • colW:列宽数组
  • rowH:行高数组
  • fontSize, fontFace, color:默认文本样式
  • fill:默认单元格背景颜色
  • border:默认单元格边框

每个单元格可以是:

  • 一个简单的字符串
  • 一个物体 text 和 options 用于单个细胞造型
add_chart

将图表添加到当前幻灯片中。

参数:

  • presentationId:演示文稿ID
  • type:图表类型(“条形”、“bar3D”、“直线”、“饼状”、“面积”、“散点”、“气泡”、“雷达”、“甜甜圈”)
  • data:数据序列数组(每个序列都有名称、标签、值)
  • x, y, w, h:位置和尺寸
  • title:图表标题
  • showLabel, showLegend, showTitle, showValue:显示选项
  • legendPos:图例位置('b'、't'、'l'、'r'、'tr')
  • barDir:条形图方向(“Bar”、“col”)
  • barGrouping:分组风格(“聚类”、“堆叠”、“百分比堆叠”)
  • catAxisTitle, valAxisTitle:轴标题
add_notes

在当前幻灯片中添加演讲者备注。

参数:

  • presentationId:演示文稿ID
  • notes:注释文本

高级工具

import_html_table

导入HTML表格并将其转换为PowerPoint表格。自动保留样式,包括粗体、斜体、颜色、对齐方式、colspan和rowspan。

参数:

  • presentationId:演示文稿ID
  • html:HTML表标记(应包括 `` 标签)
  • x, y, w, h:位置和大小(英寸或百分比)
  • fontSize (可选):单元格的默认字体大小
  • border (可选):默认边框配置

例子:

await callTool("import_html_table", {
  presentationId: "pres_1",
  html: `
    
      Header
      Data
    
  `,
  x: 1,
  y: 1.5,
  w: 8,
  h: 3
});
add_slide_with_content

在一次操作中添加包含多个内容项(文本、形状、图像、表格、图表)的新幻灯片。比多个单独的呼叫更有效。

参数:

  • presentationId:演示文稿ID
  • backgroundColor (可选):幻灯片背景颜色
  • backgroundImage (可选):背景图像配置
  • content:内容项数组,每个都有 type (“文本”、“形状”、“图像”、“表格”、“图表”)以及 data (参数与单个工具相同)

例子:

await callTool("add_slide_with_content", {
  presentationId: "pres_1",
  backgroundColor: "F8F9FA",
  content: [
    {
      type: "text",
      data: { text: "Title", x: 1, y: 0.5, w: 8, h: 0.75, fontSize: 32, bold: true }
    },
    {
      type: "shape",
      data: { shape: "ellipse", x: 2, y: 2, w: 2, h: 2, fill: { color: "3498DB" } }
    }
  ]
});
define_slide_master

定义一个具有预定义布局和样式的可重用幻灯片母版模板,以实现一致的演示设计。

参数:

  • masterId:幻灯片母版的唯一标识符
  • name:人类可读的名称(例如,“标题幻灯片”、“内容幻灯片”)
  • backgroundColor (可选):默认背景颜色
  • backgroundImage (可选):默认背景图像
  • placeholders:占位符定义数组 id, type、位置和样式

例子:

await callTool("define_slide_master", {
  masterId: "title-slide",
  name: "Title Slide",
  backgroundColor: "1A1A2E",
  placeholders: [
    {
      id: "title",
      type: "text",
      x: 1, y: 2, w: 8, h: 1.5,
      fontSize: 44, bold: true, align: "center", color: "FFFFFF"
    }
  ]
});
add_slide_from_master

基于预定义的幻灯片母版模板添加新幻灯片。

参数:

  • presentationId:演示文稿ID
  • masterId:要应用的幻灯片母版ID
  • placeholderContent (可选):对象,占位符ID作为键,内容作为值

例子:

await callTool("add_slide_from_master", {
  presentationId: "pres_1",
  masterId: "title-slide",
  placeholderContent: {
    title: { text: "My Presentation Title" }
  }
});
list_slide_masters

列出所有已定义的幻灯片母版。

退货: 幻灯片母版及其ID、名称和占位符计数的数组。

模板工具

模板系统允许您将现有的PPTX演示文稿转换为可重用的JSON模板。这些模板保留了原始演示文稿的布局、样式和结构,同时允许在创建新演示文稿时进行动态内容替换。

convert_pptx_to_template

将现有的PPTX文件转换为JSON模板格式。

参数:

  • filePath:要转换的PPTX文件的路径

退货: 带有幻灯片结构和元素的JSON模板数据

例子:

const result = await callTool("convert_pptx_to_template", {
  filePath: "/path/to/template.pptx"
});
// Returns templateData that can be saved
save_template

保存包含元数据的JSON模板以供以后使用。

参数:

  • templateData:JSON模板数据(来自convert_pptx_to_template或自定义)
  • templateId (可选):模板的自定义ID(如果未提供,则自动生成)
  • name (可选):模板的人类可读名称
  • description (可选):模板用途的描述

退货: 模板ID和元数据

例子:

await callTool("save_template", {
  templateId: "quarterly-report",
  templateData: convertedData,
  name: "Quarterly Report Template",
  description: "Standard template for quarterly business reports"
});
list_templates

列出所有已保存的模板及其元数据。

退货: 包含ID、名称、描述、幻灯片计数和创建日期的模板数组

例子:

const result = await callTool("list_templates", {});
// Returns: { templates: [...], count: N }
load_template

按ID加载已保存的模板以检查或修改它。

参数:

  • templateId:要加载的模板的ID

退货: 包含数据和元数据的完整模板对象

delete_template

按ID删除已保存的模板。

参数:

  • templateId:要删除的模板的ID
create_from_template

使用可选的内容替换从保存的模板创建新的演示文稿。

参数:

  • templateId:要使用的模板的ID
  • contentMapping (可选):将元素标识符映射到替换内容的对象

内容映射格式: 这 contentMapping 对象允许您替换模板元素中的内容。密钥可以是:

  • 元件位置: "slide_0_element_1" (幻灯片索引、元素索引)
  • 元素名称:原始演示文稿中元素的名称

值是具有基于元素类型的属性的对象:

  • 文本/形状元素: { text: "New text content" }
  • 图像元素: { path: "url/or/path" } 或 { data: "base64..." }
  • 表元素: { rows: [[...]] }
  • 图表元素: { chartType: "bar", data: [...] }

退货: 新演示文稿ID

例子:

await callTool("create_from_template", {
  templateId: "quarterly-report",
  contentMapping: {
    "slide_0_element_0": { text: "Q1 2025 Report" },
    "slide_1_element_2": { text: "Revenue: $52.8M" },
    "Company Logo": { path: "" },
  }
});

完整工作流示例:

// 1. Create and save a template presentation
const pres = await callTool("create_presentation", { layout: "LAYOUT_16x9" });
// ... add slides and content ...
await callTool("save_presentation", {
  presentationId: pres.presentationId,
  fileName: "template.pptx"
});

// 2. Convert to template
const converted = await callTool("convert_pptx_to_template", {
  filePath: "template.pptx"
});

// 3. Save as reusable template
await callTool("save_template", {
  templateId: "my-template",
  templateData: converted.templateData,
  name: "My Template"
});

// 4. Create presentations from template
await callTool("create_from_template", {
  templateId: "my-template",
  contentMapping: {
    "slide_0_element_0": { text: "Custom Title" }
  }
});

导出工具

save_presentation

将演示文稿保存到文件。

参数:

  • presentationId:演示文稿ID
  • fileName:输出文件名(应以.pptx结尾)
  • compression (可选):启用压缩以减小文件大小
export_presentation

将演示文稿导出为base64或其他格式。

参数:

  • presentationId:演示文稿ID
  • outputType:格式类型('base64'、'arraybuffer'、'blob'、'nodebuffer'、'uint8array')

示例用法

以下是创建演示文稿的示例工作流:

// 1. Create a presentation
const createResult = await callTool("create_presentation", {
  layout: "LAYOUT_16x9",
  title: "My Presentation",
  author: "John Doe"
});
const presentationId = createResult.presentationId;

// 2. Add a title slide
await callTool("add_slide", { presentationId });
await callTool("add_text", {
  presentationId,
  text: "Welcome to My Presentation",
  x: 1,
  y: 2,
  w: 8,
  h: 1.5,
  fontSize: 44,
  bold: true,
  align: "center"
});

// 3. Add a content slide with bullet points
await callTool("add_slide", { 
  presentationId,
  backgroundColor: "F0F0F0"
});
await callTool("add_text", {
  presentationId,
  text: "Key Points",
  x: 0.5,
  y: 0.5,
  w: 9,
  h: 0.75,
  fontSize: 32,
  bold: true
});
await callTool("add_text", {
  presentationId,
  text: "First point\nSecond point\nThird point",
  x: 0.5,
  y: 1.5,
  w: 9,
  h: 3,
  fontSize: 20,
  bullet: true
});

// 4. Add a chart slide
await callTool("add_slide", { presentationId });
await callTool("add_chart", {
  presentationId,
  type: "bar",
  data: [
    {
      name: "Sales",
      labels: ["Q1", "Q2", "Q3", "Q4"],
      values: [15, 28, 35, 42]
    }
  ],
  x: 1,
  y: 1.5,
  w: 8,
  h: 4,
  title: "Quarterly Sales",
  showLegend: true
});

// 5. Add a slide with an image from search
await callTool("add_slide", { presentationId });
await callTool("add_text", {
  presentationId,
  text: "Historical Context",
  x: 0.5,
  y: 0.5,
  w: 9,
  h: 0.75,
  fontSize: 32,
  bold: true
});
// Search and add an image automatically
await callTool("search_and_add_image", {
  query: "industrial revolution historical photo",
  presentationId,
  maxResults: 5,
  position: { x: 1.5, y: 1.5, w: 7, h: 4 },
  autoAdd: true
});

// 6. Save the presentation
await callTool("save_presentation", {
  presentationId,
  fileName: "output.pptx",
  compression: true
});

发展

# Build the project
npm run build

# Watch mode for development
npm run watch

# Start the server
npm start

# Test template features
node test-templates.cjs

这 test-templates.cjs 脚本演示了完整的模板工作流:

  1. 创建示例演示文稿
  2. 将其另存为PPTX文件
  3. 将PPTX转换为JSON模板
  4. 保存模板以供重用
  5. 从具有不同内容的模板创建多个演示文稿
  6. 管理和检查模板

许可证

国际协调委员会

鸣谢

此MCP服务器使用:

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

PPT生成JavaScript本地部署自动化报告演示文稿幻灯片编辑模板管理

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到会话凭据的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Pptxgenjs MCP

MCP World · 本页

0未说明未标注1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Pptxgenjs MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Pptxgenjs MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Pptxgenjs MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Pptxgenjs MCP 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Pptxgenjs MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP