mulmocast-vision 0.1.0 → 0.1.2

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 (193) hide show
  1. package/README.md +78 -85
  2. package/lib/browser.d.ts +1 -0
  3. package/lib/browser.js +1 -0
  4. package/lib/commons.d.ts +1 -5
  5. package/lib/mcp/cli.js +0 -0
  6. package/lib/mcp/core.js +13 -18
  7. package/lib/mcp_tools.d.ts +2 -35
  8. package/lib/presentationHandlers/html.d.ts +1 -80
  9. package/lib/presentationHandlers/html.js +7 -321
  10. package/lib/presentationHandlers/html_class.d.ts +1 -240
  11. package/lib/presentationHandlers/html_class.js +10 -240
  12. package/lib/tools/index.d.ts +19 -0
  13. package/lib/tools/index.js +75 -0
  14. package/lib/tools/tools_base.d.ts +2 -0
  15. package/lib/tools/tools_base.js +1685 -0
  16. package/lib/tools.d.ts +18 -1
  17. package/lib/tools.js +269 -162
  18. package/lib/type.d.ts +13 -10
  19. package/package.json +4 -7
  20. package/lib/mcp/server.d.ts +0 -2
  21. package/lib/mcp/server.js +0 -21
  22. package/lib/podcast.d.ts +0 -1
  23. package/lib/podcast.js +0 -123
  24. package/lib/presentation.d.ts +0 -1
  25. package/lib/presentation.js +0 -67
  26. package/lib/presentationHandlers/vision_data_class.d.ts +0 -92
  27. package/lib/presentationHandlers/vision_data_class.js +0 -255
  28. package/lib/runner.d.ts +0 -1
  29. package/lib/runner.js +0 -31
  30. package/lib/server.d.ts +0 -2
  31. package/lib/server.js +0 -76
  32. package/lib/test.d.ts +0 -1
  33. package/lib/test.js +0 -71
  34. /package/html/html/{agendaPage.html → agendaSlide.html} +0 -0
  35. /package/html/html/{balanceSheetPage.html → balanceSheetSlide.html} +0 -0
  36. /package/html/html/{balancedScorecardPage.html → balancedScorecardSlide.html} +0 -0
  37. /package/html/html/{bcgMatrixPage.html → bcgMatrixSlide.html} +0 -0
  38. /package/html/html/{beforeAfterPage.html → beforeAfterSlide.html} +0 -0
  39. /package/html/html/{benchmarkingTablePage.html → benchmarkingTableSlide.html} +0 -0
  40. /package/html/html/{bubbleChartPlaceholderPage.html → bubbleChartPlaceholderSlide.html} +0 -0
  41. /package/html/html/{businessModelCanvasPage.html → businessModelCanvasSlide.html} +0 -0
  42. /package/html/html/{capabilityMaturityPage.html → capabilityMaturitySlide.html} +0 -0
  43. /package/html/html/{cashFlowPage.html → cashFlowSlide.html} +0 -0
  44. /package/html/html/{changeCurvePage.html → changeCurveSlide.html} +0 -0
  45. /package/html/html/{circularEconomyMapPage.html → circularEconomyMapSlide.html} +0 -0
  46. /package/html/html/{communicationPlanPage.html → communicationPlanSlide.html} +0 -0
  47. /package/html/html/{complianceHeatmapPage.html → complianceHeatmapSlide.html} +0 -0
  48. /package/html/html/{costStructurePage.html → costStructureSlide.html} +0 -0
  49. /package/html/html/{csrInitiativesPage.html → csrInitiativesSlide.html} +0 -0
  50. /package/html/html/{cultureValuesPage.html → cultureValuesSlide.html} +0 -0
  51. /package/html/html/{customerJourneyPage.html → customerJourneySlide.html} +0 -0
  52. /package/html/html/{customerSuccessJourneyPage.html → customerSuccessJourneySlide.html} +0 -0
  53. /package/html/html/{digitalMaturityPage.html → digitalMaturitySlide.html} +0 -0
  54. /package/html/html/{driverTreePage.html → driverTreeSlide.html} +0 -0
  55. /package/html/html/{ecosystemMapPage.html → ecosystemMapSlide.html} +0 -0
  56. /package/html/html/{esgFrameworkPage.html → esgFrameworkSlide.html} +0 -0
  57. /package/html/html/{executiveSummaryPage.html → executiveSummarySlide.html} +0 -0
  58. /package/html/html/{fourPPage.html → fourPSlide.html} +0 -0
  59. /package/html/html/{funnelPage.html → funnelSlide.html} +0 -0
  60. /package/html/html/{ganttSimplePage.html → ganttSimpleSlide.html} +0 -0
  61. /package/html/html/{geMcKinseyMatrixPage.html → geMcKinseyMatrixSlide.html} +0 -0
  62. /package/html/html/{heatmapPlaceholderPage.html → heatmapPlaceholderSlide.html} +0 -0
  63. /package/html/html/{hypothesisPage.html → hypothesisSlide.html} +0 -0
  64. /package/html/html/{innovationFunnelPage.html → innovationFunnelSlide.html} +0 -0
  65. /package/html/html/{integrationPlanPage.html → integrationPlanSlide.html} +0 -0
  66. /package/html/html/{issueTreePage.html → issueTreeSlide.html} +0 -0
  67. /package/html/html/{keyMessageWithSupportsPage.html → keyMessageWithSupportsSlide.html} +0 -0
  68. /package/html/html/{kpiHighlightPage.html → kpiHighlightSlide.html} +0 -0
  69. /package/html/html/{launchPlanPage.html → launchPlanSlide.html} +0 -0
  70. /package/html/html/{mAPipelinePage.html → mAPipelineSlide.html} +0 -0
  71. /package/html/html/{marimekkoPlaceholderPage.html → marimekkoPlaceholderSlide.html} +0 -0
  72. /package/html/html/{marketDriversPage.html → marketDriversSlide.html} +0 -0
  73. /package/html/html/{marketingMixPage.html → marketingMixSlide.html} +0 -0
  74. /package/html/html/{meceListPage.html → meceListSlide.html} +0 -0
  75. /package/html/html/{milestoneTimelinePage.html → milestoneTimelineSlide.html} +0 -0
  76. /package/html/html/{npvSummaryPage.html → npvSummarySlide.html} +0 -0
  77. /package/html/html/{okrKpiDashboardPage.html → okrKpiDashboardSlide.html} +0 -0
  78. /package/html/html/{optionEvaluationPage.html → optionEvaluationSlide.html} +0 -0
  79. /package/html/html/{orgChartPage.html → orgChartSlide.html} +0 -0
  80. /package/html/html/{pLBreakdownPage.html → pLBreakdownSlide.html} +0 -0
  81. /package/html/html/{partnershipMapPage.html → partnershipMapSlide.html} +0 -0
  82. /package/html/html/{personasPage.html → personasSlide.html} +0 -0
  83. /package/html/html/{pipelineFunnelPage.html → pipelineFunnelSlide.html} +0 -0
  84. /package/html/html/{porterFiveForcesPage.html → porterFiveForcesSlide.html} +0 -0
  85. /package/html/html/{positioningMapPage.html → positioningMapSlide.html} +0 -0
  86. /package/html/html/{pricingWaterfallPage.html → pricingWaterfallSlide.html} +0 -0
  87. /package/html/html/{productRoadmapPage.html → productRoadmapSlide.html} +0 -0
  88. /package/html/html/{pyramidPrinciplePage.html → pyramidPrincipleSlide.html} +0 -0
  89. /package/html/html/{quarterlyRoadmapPage.html → quarterlyRoadmapSlide.html} +0 -0
  90. /package/html/html/{raciPage.html → raciSlide.html} +0 -0
  91. /package/html/html/{revenueModelPage.html → revenueModelSlide.html} +0 -0
  92. /package/html/html/{riskMitigationPage.html → riskMitigationSlide.html} +0 -0
  93. /package/html/html/{salesDashboardPage.html → salesDashboardSlide.html} +0 -0
  94. /package/html/html/{scenarioPlanningPage.html → scenarioPlanningSlide.html} +0 -0
  95. /package/html/html/{scqaPage.html → scqaSlide.html} +0 -0
  96. /package/html/html/{sectionDividerPage.html → sectionDividerSlide.html} +0 -0
  97. /package/html/html/{segmentationPage.html → segmentationSlide.html} +0 -0
  98. /package/html/html/{sensitivityAnalysisPage.html → sensitivityAnalysisSlide.html} +0 -0
  99. /package/html/html/{sevenSPage.html → sevenSSlide.html} +0 -0
  100. /package/html/html/{shareholderValueTreePage.html → shareholderValueTreeSlide.html} +0 -0
  101. /package/html/html/{stakeholderMapPage.html → stakeholderMapSlide.html} +0 -0
  102. /package/html/html/{supportOrgModelPage.html → supportOrgModelSlide.html} +0 -0
  103. /package/html/html/{surveyResultsPage.html → surveyResultsSlide.html} +0 -0
  104. /package/html/html/{sustainabilityRoadmapPage.html → sustainabilityRoadmapSlide.html} +0 -0
  105. /package/html/html/{swotPage.html → swotSlide.html} +0 -0
  106. /package/html/html/{synergyCapturePage.html → synergyCaptureSlide.html} +0 -0
  107. /package/html/html/{tamSamSomPage.html → tamSamSomSlide.html} +0 -0
  108. /package/html/html/{techRoadmapPage.html → techRoadmapSlide.html} +0 -0
  109. /package/html/html/{thankYouContactPage.html → thankYouContactSlide.html} +0 -0
  110. /package/html/html/{threeCPage.html → threeCSlide.html} +0 -0
  111. /package/html/html/{twoByTwoMatrixPage.html → twoByTwoMatrixSlide.html} +0 -0
  112. /package/html/html/{valueChainPage.html → valueChainSlide.html} +0 -0
  113. /package/html/html/{waterfallPage.html → waterfallSlide.html} +0 -0
  114. /package/html/html2/{agendaPage.html → agendaSlide.html} +0 -0
  115. /package/html/html2/{balanceSheetPage.html → balanceSheetSlide.html} +0 -0
  116. /package/html/html2/{balancedScorecardPage.html → balancedScorecardSlide.html} +0 -0
  117. /package/html/html2/{bcgMatrixPage.html → bcgMatrixSlide.html} +0 -0
  118. /package/html/html2/{beforeAfterPage.html → beforeAfterSlide.html} +0 -0
  119. /package/html/html2/{benchmarkingTablePage.html → benchmarkingTableSlide.html} +0 -0
  120. /package/html/html2/{bubbleChartPlaceholderPage.html → bubbleChartPlaceholderSlide.html} +0 -0
  121. /package/html/html2/{businessModelCanvasPage.html → businessModelCanvasSlide.html} +0 -0
  122. /package/html/html2/{capabilityMaturityPage.html → capabilityMaturitySlide.html} +0 -0
  123. /package/html/html2/{cashFlowPage.html → cashFlowSlide.html} +0 -0
  124. /package/html/html2/{changeCurvePage.html → changeCurveSlide.html} +0 -0
  125. /package/html/html2/{circularEconomyMapPage.html → circularEconomyMapSlide.html} +0 -0
  126. /package/html/html2/{communicationPlanPage.html → communicationPlanSlide.html} +0 -0
  127. /package/html/html2/{complianceHeatmapPage.html → complianceHeatmapSlide.html} +0 -0
  128. /package/html/html2/{costStructurePage.html → costStructureSlide.html} +0 -0
  129. /package/html/html2/{csrInitiativesPage.html → csrInitiativesSlide.html} +0 -0
  130. /package/html/html2/{cultureValuesPage.html → cultureValuesSlide.html} +0 -0
  131. /package/html/html2/{customerJourneyPage.html → customerJourneySlide.html} +0 -0
  132. /package/html/html2/{customerSuccessJourneyPage.html → customerSuccessJourneySlide.html} +0 -0
  133. /package/html/html2/{digitalMaturityPage.html → digitalMaturitySlide.html} +0 -0
  134. /package/html/html2/{driverTreePage.html → driverTreeSlide.html} +0 -0
  135. /package/html/html2/{ecosystemMapPage.html → ecosystemMapSlide.html} +0 -0
  136. /package/html/html2/{esgFrameworkPage.html → esgFrameworkSlide.html} +0 -0
  137. /package/html/html2/{executiveSummaryPage.html → executiveSummarySlide.html} +0 -0
  138. /package/html/html2/{fourPPage.html → fourPSlide.html} +0 -0
  139. /package/html/html2/{funnelPage.html → funnelSlide.html} +0 -0
  140. /package/html/html2/{ganttSimplePage.html → ganttSimpleSlide.html} +0 -0
  141. /package/html/html2/{geMcKinseyMatrixPage.html → geMcKinseyMatrixSlide.html} +0 -0
  142. /package/html/html2/{heatmapPlaceholderPage.html → heatmapPlaceholderSlide.html} +0 -0
  143. /package/html/html2/{hypothesisPage.html → hypothesisSlide.html} +0 -0
  144. /package/html/html2/{innovationFunnelPage.html → innovationFunnelSlide.html} +0 -0
  145. /package/html/html2/{integrationPlanPage.html → integrationPlanSlide.html} +0 -0
  146. /package/html/html2/{issueTreePage.html → issueTreeSlide.html} +0 -0
  147. /package/html/html2/{keyMessageWithSupportsPage.html → keyMessageWithSupportsSlide.html} +0 -0
  148. /package/html/html2/{kpiHighlightPage.html → kpiHighlightSlide.html} +0 -0
  149. /package/html/html2/{launchPlanPage.html → launchPlanSlide.html} +0 -0
  150. /package/html/html2/{mAPipelinePage.html → mAPipelineSlide.html} +0 -0
  151. /package/html/html2/{marimekkoPlaceholderPage.html → marimekkoPlaceholderSlide.html} +0 -0
  152. /package/html/html2/{marketDriversPage.html → marketDriversSlide.html} +0 -0
  153. /package/html/html2/{marketingMixPage.html → marketingMixSlide.html} +0 -0
  154. /package/html/html2/{meceListPage.html → meceListSlide.html} +0 -0
  155. /package/html/html2/{milestoneTimelinePage.html → milestoneTimelineSlide.html} +0 -0
  156. /package/html/html2/{npvSummaryPage.html → npvSummarySlide.html} +0 -0
  157. /package/html/html2/{okrKpiDashboardPage.html → okrKpiDashboardSlide.html} +0 -0
  158. /package/html/html2/{optionEvaluationPage.html → optionEvaluationSlide.html} +0 -0
  159. /package/html/html2/{orgChartPage.html → orgChartSlide.html} +0 -0
  160. /package/html/html2/{pLBreakdownPage.html → pLBreakdownSlide.html} +0 -0
  161. /package/html/html2/{partnershipMapPage.html → partnershipMapSlide.html} +0 -0
  162. /package/html/html2/{personasPage.html → personasSlide.html} +0 -0
  163. /package/html/html2/{pipelineFunnelPage.html → pipelineFunnelSlide.html} +0 -0
  164. /package/html/html2/{porterFiveForcesPage.html → porterFiveForcesSlide.html} +0 -0
  165. /package/html/html2/{positioningMapPage.html → positioningMapSlide.html} +0 -0
  166. /package/html/html2/{pricingWaterfallPage.html → pricingWaterfallSlide.html} +0 -0
  167. /package/html/html2/{productRoadmapPage.html → productRoadmapSlide.html} +0 -0
  168. /package/html/html2/{pyramidPrinciplePage.html → pyramidPrincipleSlide.html} +0 -0
  169. /package/html/html2/{quarterlyRoadmapPage.html → quarterlyRoadmapSlide.html} +0 -0
  170. /package/html/html2/{raciPage.html → raciSlide.html} +0 -0
  171. /package/html/html2/{revenueModelPage.html → revenueModelSlide.html} +0 -0
  172. /package/html/html2/{riskMitigationPage.html → riskMitigationSlide.html} +0 -0
  173. /package/html/html2/{salesDashboardPage.html → salesDashboardSlide.html} +0 -0
  174. /package/html/html2/{scenarioPlanningPage.html → scenarioPlanningSlide.html} +0 -0
  175. /package/html/html2/{scqaPage.html → scqaSlide.html} +0 -0
  176. /package/html/html2/{sectionDividerPage.html → sectionDividerSlide.html} +0 -0
  177. /package/html/html2/{segmentationPage.html → segmentationSlide.html} +0 -0
  178. /package/html/html2/{sensitivityAnalysisPage.html → sensitivityAnalysisSlide.html} +0 -0
  179. /package/html/html2/{sevenSPage.html → sevenSSlide.html} +0 -0
  180. /package/html/html2/{shareholderValueTreePage.html → shareholderValueTreeSlide.html} +0 -0
  181. /package/html/html2/{stakeholderMapPage.html → stakeholderMapSlide.html} +0 -0
  182. /package/html/html2/{supportOrgModelPage.html → supportOrgModelSlide.html} +0 -0
  183. /package/html/html2/{surveyResultsPage.html → surveyResultsSlide.html} +0 -0
  184. /package/html/html2/{sustainabilityRoadmapPage.html → sustainabilityRoadmapSlide.html} +0 -0
  185. /package/html/html2/{swotPage.html → swotSlide.html} +0 -0
  186. /package/html/html2/{synergyCapturePage.html → synergyCaptureSlide.html} +0 -0
  187. /package/html/html2/{tamSamSomPage.html → tamSamSomSlide.html} +0 -0
  188. /package/html/html2/{techRoadmapPage.html → techRoadmapSlide.html} +0 -0
  189. /package/html/html2/{thankYouContactPage.html → thankYouContactSlide.html} +0 -0
  190. /package/html/html2/{threeCPage.html → threeCSlide.html} +0 -0
  191. /package/html/html2/{twoByTwoMatrixPage.html → twoByTwoMatrixSlide.html} +0 -0
  192. /package/html/html2/{valueChainPage.html → valueChainSlide.html} +0 -0
  193. /package/html/html2/{waterfallPage.html → waterfallSlide.html} +0 -0
package/README.md CHANGED
@@ -1,119 +1,112 @@
1
- # 📖 mulmo vision とは?
1
+ # mulmocast-vision
2
2
 
3
- mulmo vision LLM(大規模言語モデル) を使って、プレゼンテーション資料を自動で作成するツールです。
3
+ **mulmocast-vision** is a tool that uses LLMs via MCP (Model Context Protocol) to automatically generate presentation slides, similar to PowerPoint.
4
+ With **80+ business-oriented slide templates**, you can quickly create proposals, strategy decks, and other professional materials.
4
5
 
5
- プログラミングやデザインの専門知識がなくても、
6
- 「伝えたい情報」を入力すれば、スライドの文章とデザインが自動生成されます。
6
+ ---
7
7
 
8
- # ⚙️ 仕組み
8
+ ## Features
9
9
 
10
- - 情報整理
11
- ユーザーが資料に入れたい情報をまとめます。
10
+ - 📑 **Rich Templates**: 80 business-optimized slide designs
11
+ - ⚡ **Instant Generation**: Create slides in seconds using LLMs via MCP
12
+ - 🖥️ **Simple Setup**: Just add a small config to your MCP client (e.g., Claude Desktop)
13
+ - 📂 **Auto Save**: Output files are saved under `~/Documents/mulmocast-vision/`
12
14
 
13
- - スライド設計(LLM)
14
- LLM が情報を読み取り、必要なスライド構成と文言を決定します。
15
+ ---
15
16
 
16
- - HTML テンプレート生成
17
- Node.js 関数が呼ばれ、スライド用の HTML テンプレートに文言が埋め込まれます。
17
+ ## No Installation Needed
18
18
 
19
- - 画像生成
20
- HTML をレンダリングし、最終的なスライド画像を作成します。
19
+ Runs directly with `npx`. No global install required.
21
20
 
21
+ ---
22
22
 
23
- ```mermaid
24
- flowchart TD
23
+ ## Configuration
25
24
 
26
- A[📝 ユーザーが情報を入力] --> B[🤖 LLM: スライド設計 & 文言作成]
27
- B --> C[⚙️ Node 関数: HTML テンプレートに適用]
28
- C --> D[🖼 HTML レンダリング: スライド画像生成]
29
- D --> E[📑 完成したプレゼン資料]
25
+ Add the following to your MCP client settings (e.g., Claude Desktop):
26
+
27
+ ```json
28
+ "mulmocast-vision": {
29
+ "command": "npx",
30
+ "args": [
31
+ "mulmocast-vision"
32
+ ],
33
+ "transport": {
34
+ "stdio": true
35
+ }
36
+ }
30
37
  ```
31
38
 
39
+ ---
32
40
 
33
- # 技術的な流れ
34
- - LLMがtoolsを使ってスライドの内容を決める
35
- - [slideを作成するtoolsの関数定義](./src/tools.ts)
36
- - [runner](./src/runner.ts)でtoolsの結果から関数を呼び出す
37
- - [呼び出される関数](./src/presentationHandlers/html_class.ts)
38
- - [html + tailwindを使ったベースhtml](./assets/templates/tailwind.html) + [スライドごとの個別のhtml](./assets/html/) でhtmlページをつくる
39
- - outdirに画像として保存する
41
+ ## Usage
40
42
 
43
+ 1. Launch an MCP-compatible client (e.g., Claude Desktop)
44
+ 2. Call `mulmocast-vision` to request slide generation
45
+ 3. The generated slides will be saved automatically under `~/Documents/mulmocast-vision/`
41
46
 
42
- ### sample: 80このサンプルデータを使ってhtml -> imageを生成する
47
+ ---
43
48
 
44
- ```
45
- yarn run generate_all_images
46
- ```
47
- - [その関数で生成される80種類のサンプルのデータ](./tests/ai_referencing_80_tool_calls.ts)
49
+ ## Output Examples
48
50
 
49
- outdir/{timeStamp}/{index}.png に画像生成
51
+ - Proposal (Problem → Solution → Value → Next Action)
52
+ - Business Model Canvas
53
+ - SWOT, PEST, and 3C Analysis
54
+ - Summary, Agenda, and Closing Slides
50
55
 
56
+ ---
51
57
 
52
- ### openaiのエージェントでprompt -> tools -> html作成
58
+ # mulmocast-vision(日本語版)
53
59
 
54
- ```
55
- yarn run ai
56
- ```
60
+ **mulmocast-vision** は、MCP (Model Context Protocol) 経由で LLM を活用し、パワーポイントのようなスライド資料を自動生成できるツールです。
61
+ ビジネスに特化した **80種類のスライドテンプレート** を備えており、企画書・提案資料・戦略資料などを簡単に作成できます。
57
62
 
58
- プロンプトはソースに直接書いている `src/presentation.ts`
63
+ ---
59
64
 
65
+ ## 特徴
60
66
 
61
- ### プラグイン+デザインテンプレート
67
+ - 📑 **豊富なテンプレート**: ビジネスに最適化された 80種類以上のスライドデザイン
68
+ - ⚡ **即時生成**: LLM と MCP を通じて、最短数秒でプレゼン資料を出力
69
+ - 🖥️ **シンプルな利用方法**: MCP対応ツール(例: Claude Desktop)に設定するだけ
70
+ - 📂 **自動保存**: 生成された資料は `~/Documents/mulmocast-vision/` 以下に保存
62
71
 
63
- デザインは
64
- - toolsから呼ばれる関数群を変更する(html以外でも書き出せる)
65
- - htmlのベースファイルに変更、もしくはstyleの追加
66
- - assets/templates以下のファイルを書き換える
67
- - templateファイルの指定
68
- - `const handler = new htmlPlugin({ outputDir, rootDir, templateOptions: {htmlTemplateFile: "tailwind-sea"}});`
69
- - templateのheaderへstyleを注入
70
- - `const handler = new htmlPlugin({ outputDir, rootDir, templateOptions: {headerStyle: darkStyle}});`
71
- - 各スライド用の個別のhtmlファイルの変更
72
- - `assets/html/` 以下のファイルを編集
73
- - 各スライド用のフォルダーを変更する
74
- `const templateFileName = path.resolve(this.rootDir, "./assets/html/", `${fileName}.html`);`
72
+ ---
75
73
 
76
- することでカスタマイズできます。
74
+ ## インストール不要
77
75
 
76
+ 追加のインストールは不要です。`npx` 経由で直接実行できます。
78
77
 
79
- ### mcp
78
+ ---
80
79
 
81
- buildする
82
- ```
83
- yarn run build
84
- ```
80
+ ## 設定方法
85
81
 
86
- mcp設定
82
+ MCP対応ツール(例: Claude Desktop)の設定ファイルに以下を追記してください。
87
83
 
88
- for dev
89
- ```
90
- "mulmocast-vision": {
91
- "command": "npx",
92
- "args": [
93
- "mulmocast-vision",
94
- "page"
95
- ],
96
- "transport": {
97
- "stdio": true
98
- }
99
- }
84
+ ```json
85
+ "mulmocast-vision": {
86
+ "command": "npx",
87
+ "args": [
88
+ "mulmocast-vision"
89
+ ],
90
+ "transport": {
91
+ "stdio": true
92
+ }
93
+ }
100
94
  ```
101
95
 
96
+ ---
102
97
 
103
- for dev
104
- ```
105
- "mulmocast-vision": {
106
- "command": "env",
107
- "args": [
108
- "node",
109
- "/path/to/mulmocast-vision/lib/mcp/server.js"
110
- ],
111
- "transport": {
112
- "stdio": true
113
- }
114
- }
115
- ```
98
+ ## 使い方
99
+
100
+ 1. MCP対応クライアント(Claude Desktop など)を起動
101
+ 2. `mulmocast-vision` を呼び出してスライド生成を指示
102
+ 3. 完成した資料が自動的に `~/Documents/mulmocast-vision/` に保存されます
103
+
104
+ ---
105
+
106
+ ## 出力例
107
+
108
+ - 企画書(Problem → Solution → Value → Next Action)
109
+ - ビジネスモデルキャンバス
110
+ - SWOT分析、PEST分析、3C分析
111
+ - サマリースライド、アジェンダスライド、クロージングスライド
116
112
 
117
- mulmocast-vision/output以下に画像が出力される。
118
- セッションごとにfolderができるので注意
119
- (連続すると画像が上書きされるかも)
package/lib/browser.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "./tools";
2
2
  export * from "./commons";
3
+ export * from "./type";
package/lib/browser.js CHANGED
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./tools"), exports);
18
18
  __exportStar(require("./commons"), exports);
19
+ __exportStar(require("./type"), exports);
package/lib/commons.d.ts CHANGED
@@ -6,11 +6,7 @@ export declare const openAIToolsToAnthropicTools: (tools: OpenAITool[]) => {
6
6
  tools: {
7
7
  name: string;
8
8
  description: string;
9
- inputSchema: {
10
- type: string;
11
- required: string[];
12
- properties: Record<string, unknown>;
13
- };
9
+ inputSchema: import("./type").ToolParametersSchema;
14
10
  }[];
15
11
  };
16
12
  export declare const convertTools: (tools: OpenAITool[]) => {
package/lib/mcp/cli.js CHANGED
File without changes
package/lib/mcp/core.js CHANGED
@@ -5,7 +5,6 @@ exports.getServer = void 0;
5
5
  const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
6
6
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
7
7
  const tools_1 = require("../tools");
8
- const mcp_tools_1 = require("../mcp_tools");
9
8
  const html_class_1 = require("../presentationHandlers/html_class");
10
9
  const commons_1 = require("../commons");
11
10
  const getServer = (rootDir, outputDir) => {
@@ -19,30 +18,26 @@ const getServer = (rootDir, outputDir) => {
19
18
  });
20
19
  // List available tools
21
20
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
22
- return (0, commons_1.openAIToolsToAnthropicTools)([...tools_1.tools, ...mcp_tools_1.mcp_tools]);
21
+ return (0, commons_1.openAIToolsToAnthropicTools)([...tools_1.tools, ...tools_1.mcp_tools]);
23
22
  });
24
23
  const handler = new html_class_1.htmlPlugin({ outputDir, rootDir });
25
24
  // Handle tool calls
26
25
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
27
26
  const { name, arguments: args } = request.params;
28
27
  try {
29
- if (name in handler && args) {
30
- const key = name;
31
- const method = handler[key];
32
- if (typeof method === "function") {
33
- const fileName = (0, commons_1.generateUniqueId)();
34
- const result = await method(args, { functionName: name, outputFileName: fileName });
35
- return {
36
- content: [
37
- {
38
- type: "text",
39
- text: result?.text ?? "success",
40
- },
41
- ],
42
- };
43
- }
28
+ if (args) {
29
+ const fileName = (0, commons_1.generateUniqueId)();
30
+ const result = await handler.callNamedFunction(name, args, { outputFileName: fileName });
31
+ return {
32
+ content: [
33
+ {
34
+ type: "text",
35
+ text: result?.text ?? "success",
36
+ },
37
+ ],
38
+ };
44
39
  }
45
- throw new Error(`Unknown command: ${name}.`);
40
+ throw new Error(`No args: ${name}.`);
46
41
  }
47
42
  catch (error) {
48
43
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -1,35 +1,2 @@
1
- export declare const mcp_tools: ({
2
- type: string;
3
- function: {
4
- name: string;
5
- description: string;
6
- parameters: {
7
- type: string;
8
- properties: {
9
- directoryName: {
10
- type: string;
11
- description: string;
12
- };
13
- status?: undefined;
14
- };
15
- required: string[];
16
- };
17
- };
18
- } | {
19
- type: string;
20
- function: {
21
- name: string;
22
- description: string;
23
- parameters: {
24
- type: string;
25
- properties: {
26
- status: {
27
- type: string;
28
- description: string;
29
- };
30
- directoryName?: undefined;
31
- };
32
- required: string[];
33
- };
34
- };
35
- })[];
1
+ import { OpenAITool } from "./type";
2
+ export declare const mcp_tools: OpenAITool[];
@@ -1,82 +1,3 @@
1
1
  import { type PluginOptionParams, type ToolArgs } from "../type";
2
2
  export declare const baseDir: string;
3
- export declare const createSectionDividerPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
4
- export declare const createAgendaPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
5
- export declare const createExecutiveSummaryPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
6
- export declare const createKeyMessageWithSupportsPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
7
- export declare const createHypothesisPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
8
- export declare const createIssueTreePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
9
- export declare const createDriverTreePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
10
- export declare const createMeceListPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
11
- export declare const createPyramidPrinciplePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
12
- export declare const createScqaPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
13
- export declare const createSwotPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
14
- export declare const createThreeCPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
15
- export declare const createFourPPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
16
- export declare const createSevenSPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
17
- export declare const createValueChainPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
18
- export declare const createPorterFiveForcesPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
19
- export declare const createBusinessModelCanvasPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
20
- export declare const createCustomerJourneyPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
21
- export declare const createStakeholderMapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
22
- export declare const createRaciPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
23
- export declare const createOkrKpiDashboardPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
24
- export declare const createBalancedScorecardPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
25
- export declare const createQuarterlyRoadmapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
26
- export declare const createMilestoneTimelinePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
27
- export declare const createGanttSimplePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
28
- export declare const createWaterfallPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
29
- export declare const createFunnelPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
30
- export declare const createTwoByTwoMatrixPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
31
- export declare const createBcgMatrixPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
32
- export declare const createGeMcKinseyMatrixPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
33
- export declare const createMarimekkoPlaceholderPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
34
- export declare const createBubbleChartPlaceholderPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
35
- export declare const createHeatmapPlaceholderPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
36
- export declare const createKpiHighlightPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
37
- export declare const createBeforeAfterPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
38
- export declare const createOptionEvaluationPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
39
- export declare const createRiskMitigationPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
40
- export declare const createPositioningMapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
41
- export declare const createTamSamSomPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
42
- export declare const createMarketDriversPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
43
- export declare const createRevenueModelPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
44
- export declare const createCostStructurePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
45
- export declare const createOrgChartPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
46
- export declare const createCapabilityMaturityPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
47
- export declare const createTechRoadmapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
48
- export declare const createDigitalMaturityPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
49
- export declare const createEcosystemMapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
50
- export declare const createChangeCurvePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
51
- export declare const createCommunicationPlanPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
52
- export declare const createIntegrationPlanPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
53
- export declare const createBenchmarkingTablePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
54
- export declare const createSurveyResultsPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
55
- export declare const createPersonasPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
56
- export declare const createSegmentationPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
57
- export declare const createPricingWaterfallPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
58
- export declare const createSensitivityAnalysisPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
59
- export declare const createPLBreakdownPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
60
- export declare const createCashFlowPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
61
- export declare const createBalanceSheetPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
62
- export declare const createShareholderValueTreePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
63
- export declare const createNpvSummaryPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
64
- export declare const createScenarioPlanningPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
65
- export declare const createComplianceHeatmapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
66
- export declare const createEsgFrameworkPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
67
- export declare const createCsrInitiativesPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
68
- export declare const createSustainabilityRoadmapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
69
- export declare const createCircularEconomyMapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
70
- export declare const createInnovationFunnelPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
71
- export declare const createProductRoadmapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
72
- export declare const createLaunchPlanPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
73
- export declare const createPipelineFunnelPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
74
- export declare const createSalesDashboardPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
75
- export declare const createMarketingMixPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
76
- export declare const createCustomerSuccessJourneyPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
77
- export declare const createSupportOrgModelPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
78
- export declare const createPartnershipMapPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
79
- export declare const createMAPipelinePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
80
- export declare const createSynergyCapturePage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
81
- export declare const createCultureValuesPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
82
- export declare const createThankYouContactPage: (args: ToolArgs, options: PluginOptionParams) => Promise<void>;
3
+ export declare const callNamedFunction: (functionName: string, args: ToolArgs, options: PluginOptionParams) => Promise<void>;