Majin Slide MCP
Generates structured markdown slide presentations with AI-powered prompts, supporting Marp format for professional presentation creation
Requires Node.js 18 or newer as runtime environment for the MCP server
Distributed via npm package manager as @taiyokimura/majin-slide-mcp for easy installation
Generates markdown slide content compatible with Obsidian Slides for presentation creation within Obsidian
Creates markdown content compatible with reveal.js HTML presentation framework for web-based presentations
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Majin Slide MCPcreate a presentation about AI ethics for a tech conference"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
このMCPは、まじんさん の こちらのnote記事 で公開されたプロンプトを使わせていただいています。要チェックしてください!X、noteもフォローをよろしくお願いします!
Majin Slide MCP
A Model Context Protocol (MCP) server for generating markdown slide presentations with AI-powered prompts. This server helps you create professional presentations by generating structured prompts and saving them as markdown files.
Marpのプレビューとエクスポート(Cursor / VS Code)
生成したMarp形式(Markdown)のスライドは、CursorやVS Codeで拡張機能「Marp for VS Code」をインストールすると、エディタ上でプレビュー表示でき、さらにPowerPoint(.pptx)/ PDF / HTMLとしてエクスポートできます。
Cursor / VS Code の拡張機能から「Marp for VS Code」をインストール
.mdファイルを開き、コマンドパレットで「Marp: Open Preview」を実行してプレビューエクスポートは「Marp: Export」から選択(PowerPoint / PDF / HTML)
Related MCP server: Deckbuilder MCP Server
Key Features
AI-Powered Slide Generation: Generate comprehensive markdown slide prompts based on your specifications
Customizable Presentations: Control style, audience, language, and content preferences
File Creation: Save generated slides directly to markdown files
Template Library: Access various presentation templates and formats
Provider-Agnostic: Works with any LLM that supports MCP
Requirements
Node.js 18 or newer
VS Code, Cursor, Windsurf, Claude Desktop, or any other MCP client
No API keys required (the server generates prompts, not the actual content)
Getting Started
First, install the MCP server with your client.
Standard config works in most tools:
{
"mcpServers": {
"majin-slide": {
"command": "npx",
"args": ["@taiyokimura/majin-slide-mcp@latest"]
}
}
}Install in VS Code
Install in VS Code Insiders
Quick usage (利用手順)
# npx(非対話フラグ付き)
claude mcp add majin-slide -s user -- npx -y @taiyokimura/majin-slide-mcp@latest
# グローバルインストール
npm i -g @taiyokimura/majin-slide-mcp \
&& claude mcp add majin-slide -s user -- majin-slide-mcpUse the Claude Code CLI to add the MCP server:
claude mcp add majin-slide -s user -- npx @taiyokimura/majin-slide-mcp@latestRemove if needed:
claude mcp remove majin-slideFollow the MCP install guide and use the standard config above.
Go to Cursor Settings → MCP → Add new MCP Server.
Use the following:
Name: majin-slide
Type: command
Command: npx
Args: @taiyokimura/majin-slide-mcp@latest
Auto start: on (optional)
Add via CLI:
code --add-mcp '{"name":"majin-slide","command":"npx","args":["@taiyokimura/majin-slide-mcp@latest"]}'Or use the install links above.
Add MCP Server with:
Command: npx
Args: ["@taiyokimura/majin-slide-mcp@latest"]
Advanced settings → Extensions → Add custom extension:
Type: STDIO
Command: npx
Args: @taiyokimura/majin-slide-mcp@latest
Enabled: true
Example ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"majin-slide": {
"type": "local",
"command": [
"npx",
"@taiyokimura/majin-slide-mcp@latest"
],
"enabled": true
}
}
}Open Qodo Gen → Connect more tools → + Add new MCP → Paste the standard config above → Save.
Follow Windsurf MCP documentation and use the standard config above.
Available Tools
1. generate_slide_prompt
Generate a comprehensive Marp-oriented prompt. Only topic is required; the server embeds it into the prompt.
Parameters:
topic(required): The main topic of the presentation
Example:
{
"topic": "Introduction to Machine Learning"
}2. create_slide_file
Save the generated slide content to a markdown file.
Parameters:
filename(required): Name of the file (without extension)content(required): The markdown contentoutput_dir: Directory path (default: current directory)
Example:
{
"filename": "ml-introduction",
"content": "# Introduction to Machine Learning\n\n---\n\n## What is ML?\n...",
"output_dir": "./presentations"
}Workflow Example
Generate a slide prompt:
Use the generate_slide_prompt tool with topic "Climate Change Solutions"Use the prompt with your AI: Copy the generated prompt and use it with your preferred AI model to create the actual slide content.
Save the slides:
Use the create_slide_file tool to save the generated markdownConvert to presentation: Use tools like Marp, reveal.js, or Slidev to convert the markdown to a presentation.
Supported Presentation Tools
The generated markdown files are compatible with:
Marp - Markdown Presentation Ecosystem
reveal.js - HTML presentation framework
Slidev - Presentation slides for developers
DeckDeckGo - Web presentations
Obsidian Slides - If you use Obsidian
Any markdown-to-HTML converter
Tips for Best Results
Be specific with your topic - The more detailed your topic, the better the prompt
Match style to audience - Use "academic" for research, "casual" for informal talks
Language support - Specify any language for international presentations
Code examples - Enable for technical presentations
Image placeholders - Keep enabled for visual presentations
Development
To run locally:
# Clone the repository
git clone https://github.com/yourusername/majin-slide-mcp.git
cd majin-slide-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run devContributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - feel free to use this in your projects!
Support
For issues or questions, please open an issue on GitHub or contact the maintainer.
Note: This MCP server generates prompts for slide creation. The actual slide content is generated by your AI assistant based on these prompts. The server ensures consistent, professional prompt structures that lead to high-quality presentations.
Available Tools
2 toolscreate_slide_fileA
生成済みのMarkdownスライドを.mdファイルとして保存します。モデルがMarkdownを出力した直後に続けて実行してください(同名があれば上書き)。
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Name of the markdown file to create (without extension) | |
| content | Yes | The markdown content for the slides | |
| output_dir | No | Directory path where the file should be created (default: current directory) | . |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it saves files, overwrites existing ones with the same name, and should be used after model output. However, it lacks details on permissions needed, error handling, or file system impacts. The description doesn't contradict annotations (none exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded: two sentences that directly state the purpose and usage guidelines. Every sentence earns its place with no wasted words. The structure is logical: what it does, followed by when/how to use it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (file creation with overwrite behavior), no annotations, and no output schema, the description is partially complete. It covers the core action and timing but lacks details on return values, error cases, or system dependencies. It's adequate for basic use but has gaps for robust agent operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters (filename, content, output_dir). The description adds no additional parameter semantics beyond what's in the schema. It implies parameters through context (e.g., 'Markdownスライド' relates to content, 'ファイル' to filename) but doesn't explain them explicitly. Baseline is 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '生成済みのMarkdownスライドを.mdファイルとして保存します' (saves generated Markdown slides as .md files). It specifies the verb (保存/save) and resource (Markdown slides as .md files). However, it doesn't explicitly differentiate from the sibling tool 'generate_slide_prompt', which likely generates slides rather than saving them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use it: 'モデルがMarkdownを出力した直後に続けて実行してください' (execute immediately after the model outputs Markdown). It also mentions behavior with existing files: '同名があれば上書き' (overwrites if same name exists). However, it doesn't explicitly state when NOT to use it or name alternatives like the sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_slide_promptA
Marp用のプレゼン資料プロンプトをトピックから生成します(既定で10枚想定)。ユーザーが“スライドを作って/説明して/要点をまとめて”など資料化やプロジェクト・機能説明を求めた場合に積極的に実行してください。返却テキストはモデルへの指示文としてそのまま利用できます。
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | The main topic or subject of the presentation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals several behavioral traits: the tool generates prompts (not actual slides), assumes a default of 10 slides ('既定で10枚想定'), and produces text that can be directly used as model instructions ('返却テキストはモデルへの指示文としてそのまま利用できます'). However, it doesn't disclose potential limitations, error conditions, or whether the output is deterministic versus creative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences. The first sentence states the core functionality, and the second provides usage guidance. Both sentences earn their place by adding value. However, it could be slightly more front-loaded by making the default 10-slide assumption more prominent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single parameter tool with no annotations and no output schema, the description provides adequate but incomplete context. It explains what the tool does and when to use it, but doesn't describe the output format beyond 'model instructions', doesn't mention potential errors or constraints, and doesn't differentiate from the sibling tool. For a generation tool with no output schema, more detail about the return value would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'topic' well-documented as 'The main topic or subject of the presentation'. The description adds minimal parameter semantics beyond the schema, mentioning only that prompts are generated 'from topics' without providing additional context about topic format, length constraints, or examples. With high schema coverage, the baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Marp用のプレゼン資料プロンプトをトピックから生成します' (generates Marp presentation prompts from topics). It specifies the verb ('生成します' - generates), resource ('プレゼン資料プロンプト' - presentation prompts), and target format ('Marp用' - for Marp). However, it doesn't explicitly differentiate from its sibling 'create_slide_file', which appears to create actual slide files rather than prompts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: 'ユーザーが“スライドを作って/説明して/要点をまとめて”など資料化やプロジェクト・機能説明を求めた場合に積極的に実行してください' (actively execute when users request slide creation, explanations, summarization of key points, or project/feature explanations). It gives specific trigger phrases and use cases. However, it doesn't explicitly state when NOT to use it or mention the sibling alternative 'create_slide_file' as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
create_slide_file - First observed
generate_slide_prompt
TDQS
Scored across 2 tools
The two tools have completely distinct and non-overlapping purposes: one generates a prompt for creating slides, while the other saves generated slides to a file. There is no ambiguity or confusion between them, as they serve different stages in the slide creation workflow.
Both tools follow a consistent verb_noun naming pattern (generate_slide_prompt and create_slide_file), using snake_case and clear action-object pairs. This consistency makes the tools easily understandable and predictable in their naming.
With only two tools, the server feels under-scoped for a slide creation domain, as it lacks essential operations like editing, deleting, or listing slides. While the tools cover prompt generation and file saving, the overall functionality is thin and incomplete for typical presentation workflows.
The server is severely incomplete for slide creation, missing core CRUD operations such as updating or deleting slides, and lacking tools for managing slide content or metadata. The two tools only address initial generation and saving, leaving significant gaps that will hinder agent effectiveness in handling full slide lifecycle tasks.
Maintenance
Related MCP Connectors
Generate polished PowerPoint presentations from text prompts, YouTube videos, or structured outlin…
AI presentation and report generation: slides, diagrams, PPTX export, live preview MCP App.
Generate, render, and host Slidev presentations from markdown
Generate professional PowerPoint presentations from text, YouTube videos, or structured JSON data.…
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables creation and management of Marp presentation projects with academic themes and structured slide layouts. Supports project initialization, slide generation with 6 layout templates, and integration with AI-powered editors like Claude Code and Cursor.36811MIT
- AlicenseNot gradedqualityCmaintenanceCreates professional PowerPoint presentations from Markdown or JSON with intelligent layout recommendations, rich content support including tables and images, and automatic template selection based on content analysis.7Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to create professional Slidev presentations and export them to PDF directly through natural language commands. Supports multiple themes, code syntax highlighting, and various slide layouts for business, technical, and educational content.1MIT
- FlicenseAqualityDmaintenanceGenerates professional PowerPoint presentations from Markdown with support for code blocks, tables, custom branding, and mixed formatting. Transforms lesson plans and documentation into styled PPTX files with syntax highlighting and customizable themes.59-