Majin Slide MCP
このMCPは、[まじんさん](https://x.com/Majin_AppSheet) の [こちらのnote記事](https://note.com/majin_108/n/n39235bcacbfc) で公開されたプロンプトを使わせていただいています。要チェックしてください!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)
## 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:
```json
{
"mcpServers": {
"majin-slide": {
"command": "npx",
"args": ["@taiyokimura/majin-slide-mcp@latest"]
}
}
}
```
[Install in VS Code](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22majin-slide%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22%40taiyokimura%2Fmajin-slide-mcp%40latest%22%5D%7D)
[Install in VS Code Insiders](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%7B%22name%22%3A%22majin-slide%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22%40taiyokimura%2Fmajin-slide-mcp%40latest%22%5D%7D)
### Quick usage (利用手順)
```bash
# 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-mcp
```
<details>
<summary><b>Claude Code (Recommended)</b></summary>
Use the Claude Code CLI to add the MCP server:
```bash
claude mcp add majin-slide -s user -- npx @taiyokimura/majin-slide-mcp@latest
```
Remove if needed:
```bash
claude mcp remove majin-slide
```
</details>
<details>
<summary>Claude Desktop</summary>
Follow the MCP install guide and use the standard config above.
- Guide: https://modelcontextprotocol.io/quickstart/user
</details>
<details>
<summary>Cursor</summary>
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)
</details>
<details>
<summary>VS Code</summary>
Add via CLI:
```bash
code --add-mcp '{"name":"majin-slide","command":"npx","args":["@taiyokimura/majin-slide-mcp@latest"]}'
```
Or use the install links above.
</details>
<details>
<summary>LM Studio</summary>
Add MCP Server with:
- Command: npx
- Args: ["@taiyokimura/majin-slide-mcp@latest"]
</details>
<details>
<summary>Goose</summary>
Advanced settings → Extensions → Add custom extension:
- Type: STDIO
- Command: npx
- Args: @taiyokimura/majin-slide-mcp@latest
- Enabled: true
</details>
<details>
<summary>opencode</summary>
Example `~/.config/opencode/opencode.json`:
```json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"majin-slide": {
"type": "local",
"command": [
"npx",
"@taiyokimura/majin-slide-mcp@latest"
],
"enabled": true
}
}
}
```
</details>
<details>
<summary>Qodo Gen</summary>
Open Qodo Gen → Connect more tools → + Add new MCP → Paste the standard config above → Save.
</details>
<details>
<summary>Windsurf</summary>
Follow Windsurf MCP documentation and use the standard config above.
- Docs: https://docs.windsurf.com/windsurf/cascade/mcp
</details>
## 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:**
```json
{
"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 content
- `output_dir`: Directory path (default: current directory)
**Example:**
```json
{
"filename": "ml-introduction",
"content": "# Introduction to Machine Learning\n\n---\n\n## What is ML?\n...",
"output_dir": "./presentations"
}
```
<!-- list_slide_templates was removed -->
## Workflow Example
1. **Generate a slide prompt:**
```
Use the generate_slide_prompt tool with topic "Climate Change Solutions"
```
2. **Use the prompt with your AI:**
Copy the generated prompt and use it with your preferred AI model to create the actual slide content.
3. **Save the slides:**
```
Use the create_slide_file tool to save the generated markdown
```
4. **Convert 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
1. **Be specific with your topic** - The more detailed your topic, the better the prompt
2. **Match style to audience** - Use "academic" for research, "casual" for informal talks
3. **Language support** - Specify any language for international presentations
4. **Code examples** - Enable for technical presentations
5. **Image placeholders** - Keep enabled for visual presentations
## Development
To run locally:
```bash
# 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 dev
```
## Contributing
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.
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.