@8btc/ppt-generator-mcp 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +129 -0
  2. package/dist/export-pptx.d.ts +6 -0
  3. package/dist/export-pptx.js +876 -0
  4. package/dist/generate-ppt-slides.d.ts +10 -0
  5. package/dist/generate-ppt-slides.js +581 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.js +161 -0
  8. package/dist/ppt-generator.d.ts +39 -0
  9. package/dist/ppt-generator.js +110 -0
  10. package/dist/tpls/imgs.json +482 -0
  11. package/dist/tpls/tpl-1.json +7649 -0
  12. package/dist/tpls/tpl-2.json +7455 -0
  13. package/dist/tpls/tpl-3.json +8184 -0
  14. package/dist/tpls/tpl-4.json +8352 -0
  15. package/dist/types/outline.d.ts +36 -0
  16. package/dist/types/outline.js +2 -0
  17. package/dist/types/slide.d.ts +696 -0
  18. package/dist/types/slide.js +2 -0
  19. package/dist/utils/element.d.ts +94 -0
  20. package/dist/utils/element.js +239 -0
  21. package/dist/utils/htmlParser/format.d.ts +3 -0
  22. package/dist/utils/htmlParser/format.js +47 -0
  23. package/dist/utils/htmlParser/index.d.ts +4 -0
  24. package/dist/utils/htmlParser/index.js +15 -0
  25. package/dist/utils/htmlParser/lexer.d.ts +2 -0
  26. package/dist/utils/htmlParser/lexer.js +245 -0
  27. package/dist/utils/htmlParser/parser.d.ts +15 -0
  28. package/dist/utils/htmlParser/parser.js +117 -0
  29. package/dist/utils/htmlParser/stringify.d.ts +3 -0
  30. package/dist/utils/htmlParser/stringify.js +32 -0
  31. package/dist/utils/htmlParser/tags.d.ts +8 -0
  32. package/dist/utils/htmlParser/tags.js +50 -0
  33. package/dist/utils/htmlParser/types.d.ts +55 -0
  34. package/dist/utils/htmlParser/types.js +2 -0
  35. package/dist/utils/svg2Base64.d.ts +1 -0
  36. package/dist/utils/svg2Base64.js +58 -0
  37. package/dist/utils/svgPathParser.d.ts +120 -0
  38. package/dist/utils/svgPathParser.js +145 -0
  39. package/package.json +59 -0
package/README.md ADDED
@@ -0,0 +1,129 @@
1
+ # MCP PPT Generator
2
+
3
+ 一个基于 Model Context Protocol (MCP)的 PowerPoint 生成服务,可以根据大纲文件和模板自动生成 PPT 演示文稿。
4
+
5
+ ## 功能特性
6
+
7
+ - 📝 **大纲解析**: 支持 JSON 格式的大纲文件解析
8
+ - 🎨 **模板应用**: 支持自定义 PPT 模板
9
+ - 🔧 **MCP 协议**: 完全兼容 MCP 协议,可与支持 MCP 的 AI 助手集成
10
+ - 📊 **多种幻灯片类型**: 支持封面页、目录页、过渡页、内容页等
11
+
12
+ ## 安装
13
+
14
+ ```bash
15
+ npm install
16
+ npm run build
17
+ ```
18
+
19
+ ## 使用方法
20
+
21
+ ### 作为 MCP 服务运行
22
+
23
+ ```bash
24
+ node dist/index.js
25
+ ```
26
+
27
+ ### 可用工具
28
+
29
+ #### 1. generate_ppt
30
+
31
+ 根据大纲文件和模板生成 PPT 文件
32
+
33
+ **参数:**
34
+
35
+ - `outlineFile` (必需): 大纲文件路径(JSON 格式)
36
+ - `templateFile` (可选): 模板文件路径
37
+ - `outputPath` (可选): 输出 PPT 文件路径
38
+ - `title` (可选): PPT 标题
39
+
40
+ ## 大纲文件格式
41
+
42
+ 大纲文件应为 JSON 格式,包含幻灯片数组:
43
+
44
+ ```json
45
+ [
46
+ {
47
+ "type": "cover",
48
+ "title": "演示标题",
49
+ "subtitle": "副标题"
50
+ },
51
+ {
52
+ "type": "contents",
53
+ "title": "目录",
54
+ "items": ["第一章", "第二章", "第三章"]
55
+ },
56
+ {
57
+ "type": "content",
58
+ "title": "内容标题",
59
+ "content": "幻灯片内容"
60
+ }
61
+ ]
62
+ ```
63
+
64
+ ### 支持的幻灯片类型
65
+
66
+ - `cover`: 封面页
67
+ - `contents`: 目录页
68
+ - `transition`: 过渡页
69
+ - `content`: 内容页
70
+ - `end`: 结束页
71
+
72
+ ## 模板格式
73
+
74
+ 模板文件为 JSON 格式,定义 PPT 的主题样式:
75
+
76
+ ```json
77
+ {
78
+ "title": "模板名称",
79
+ "width": 1920,
80
+ "height": 1080,
81
+ "theme": {
82
+ "colors": {
83
+ "primary": "#1f4e79",
84
+ "secondary": "#70ad47",
85
+ "accent": "#ffc000"
86
+ },
87
+ "fonts": {
88
+ "title": "Microsoft YaHei",
89
+ "body": "Microsoft YaHei"
90
+ }
91
+ }
92
+ }
93
+ ```
94
+
95
+ ## 测试
96
+
97
+ 运行测试脚本验证功能:
98
+
99
+ ```bash
100
+ node test-gen-ppt.cjs
101
+ ```
102
+
103
+ ## 项目结构
104
+
105
+ ```
106
+ mcp-ppt-generator/
107
+ ├── src/
108
+ │ ├── index.ts # MCP服务主入口
109
+ │ └── ppt-generator.ts # PPT生成核心逻辑
110
+ ├── dist/ # 编译输出目录
111
+ ├── package.json
112
+ ├── tsconfig.json
113
+ └── README.md
114
+ ```
115
+
116
+ ## 依赖项
117
+
118
+ - `@modelcontextprotocol/sdk`: MCP 协议 SDK
119
+ - `pptxgenjs`: PowerPoint 文件生成库
120
+ - `fs-extra`: 文件系统操作增强
121
+ - `uuid`: 唯一标识符生成
122
+
123
+ ## todo
124
+
125
+ fix: 修复模板中 svg 元素的导出问题 svg2Base64
126
+
127
+ ## 许可证
128
+
129
+ MIT License
@@ -0,0 +1,6 @@
1
+ import pptxgen from "pptxgenjs";
2
+ import type { Slide } from "./types/slide";
3
+ export declare const exportPPTX: (_slides: Slide[], ignoreMedia: boolean, options: {
4
+ viewportRatio: number;
5
+ viewportSize: number;
6
+ }) => pptxgen;