Content
# Slidev MCP Server
A Slidev presentation PPT generation server based on Model Context Protocol (MCP), helping users quickly create beautiful and effective presentation slides through AI language.
## Features
### 🎯 Core Features
- **Quick Project Creation**: Create a complete Slidev presentation project with one click
- **AI Content Generation**: Automatically generate presentation content based on the theme description
- **Intelligent Layout Selection**: Automatically recommend suitable layouts based on content type
- **Diverse Templates**: Support for various preset presentation templates
### 🔧 Toolset
- **Content Generation Tool**: Generates slide content based on the topic and description
- **Template Initialization**: Quickly start projects from professional templates
- **Image Processing Tool**: Handles and optimizes images in presentations
- **Code Formatting**: Formats code blocks for technical presentations
- **Comparison Slides**: Creates dual-column comparison displays
- **Layout Management**: Offers a variety of professional layout options
### 📐 Layout Support
Supports all built-in layouts of Slidev:
- `default` - Basic layout
- `center` - Centered layout
- `cover` - Cover layout
- `two-cols` - Two-column layout
- `image-left/right` - Image layout
- `quote` - Quote layout
- `section` - Section layout
- And more...
### 🎨 Theme Support
- `seriph` (default)
- `apple-basic`
- `academic`
- `bricks`
- `light`
- and many other themes
## Installation and Configuration
### 1. Install Dependencies
```bash
pnpm install
```
### 2. Build the Project
```bash
pnpm build
```
### 3. Running the Server
```bash
pnpm start
```
## Available Tools
### 📝 Basic Tools
#### `create-slidev-project`
Create a new Slidev presentation project
```typescript
{
title: string, // Presentation title
author: string, // Author name
theme?: string, // Theme name (default: seriph)
projectPath: string, // Project path
language?: string // Language code (default: en)
}
```
#### `generate-presentation`
Generate a complete presentation from a topic
```typescript
{
topic: string, // Presentation topic
author: string, // Author name
duration?: number, // Duration (minutes) (default: 30)
theme?: string, // Theme (default: seriph)
outputPath: string // Output path
}
```
### 🎬 Content Generation Tools
#### `generate-slide-content`
Generate specific slide content
```typescript
{
topic: string, // Slide topic
description: string, // Detailed description
layout?: string, // Layout choice
style?: string // Style preference
}
```
#### `add-slide`
Add a slide to an existing presentation
```typescript
{
slidesPath: string, // Path to the slides.md file
slideContent: string, // Content of the slide
position?: number // Insertion position
}
```
### 🚀 Project Initialization
#### `init-from-template`
Initialize a new project from the LittleSound talks template
```typescript
{
projectName: string, // Project name
projectPath: string, // Project path
authorName: string // Author name
}
```
This tool will:
- Clone the template using `npx degit LittleSound/talks-template`
- Automatically install dependencies (`pnpm i`)
- Execute all necessary initialization steps:
- Update the author information in LICENSE
- Remove the .github folder
- Replace README.md with the template
- Create a new presentation folder (named with the current date)
- Update project information
After completion, remind the user to run `pnpm dev` to start the development server.
### 🎨 Layout Tools
#### `create-comparison`
Create comparison slides
```typescript
{
title: string, // Slide title
leftTitle: string, // Left column title
leftContent: string[], // Left column content
rightTitle: string, // Right column title
rightContent: string[] // Right column content
}
```
#### `create-image-slide`
Create an image slide
```typescript
{
title: string, // Slide title
imagePath: string, // Image path
caption?: string, // Image caption
layout?: 'image' | 'image-left' | 'image-right'
}
```
### 🔧 Utility Tools
#### `format-code`
Format code block
```typescript
{
code: string, // Code content
language?: string // Programming language
}
```
#### `list-layouts`
List all available layouts
#### `list-themes`
List all available themes
## Usage Example
### Create a New Presentation Project
```bash
# Calling via MCP Client
create-slidev-project {
"title": "Application of Artificial Intelligence in Modern Healthcare",
"author": "Zhang San",
"theme": "academic",
"projectPath": "./my-ai-presentation"
}
### Generate Complete Presentation
```bash
generate-presentation {
"topic": "Machine Learning Basics",
"author": "Li Si",
"duration": 45,
"theme": "seriph",
"outputPath": "./presentations/ml-basics.md"
}
```
### Add Comparison Slide
```bash
create-comparison {
"title": "Traditional Methods vs Machine Learning",
"leftTitle": "Traditional Methods",
"leftContent": ["Rule-driven", "Manual Feature Engineering", "Limited Adaptability"],
"rightTitle": "Machine Learning",
"rightContent": ["Data-driven", "Automated Feature Learning", "High Adaptability"]
}
```
## Project Structure
```
slidev-mcp/
├── src/
│ ├── index.ts # Main MCP Server
│ └── tools.ts # Collection of utility functions
├── test/
│ └── index.test.ts # Test file
├── scripts/
│ └── verifyCommit.ts # Commit verification script
├── package.json
├── tsconfig.json
└── README.md
```
## Tech Stack
- **TypeScript**: Type-safe JavaScript
- **Model Context Protocol**: AI agent communication protocol
- **Slidev**: Modern presentation slide framework
- **Node.js**: Runtime environment
- **Zod**: Type validation
## Development Plan
- [x] Basic project creation feature
- [x] AI content generation tool
- [x] Web search and scraping tool
- [x] Layout management and theme support
- [x] Support for multiple slide types
- [ ] Image processing and optimization
- [ ] Advanced content analysis
- [ ] More preset templates
- [ ] Real-time preview feature
## Contribution Guidelines
1. Fork the project
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Create a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- [Slidev](https://github.com/slidevjs/slidev) - A modern presentation slide framework
- [LittleSound/talks-template](https://github.com/LittleSound/talks-template) - Inspiration for presentation templates
- [Model Context Protocol](https://modelcontextprotocol.io/) - AI agent communication protocol
Connection Info
You Might Also Like
OpenAI Whisper
OpenAI Whisper MCP Server - 基于本地 Whisper CLI 的离线语音识别与翻译,无需 API Key,支持...
markitdown
Python tool for converting files and office documents to Markdown.
oh-my-opencode
Background agents · Curated agents like oracle, librarians, frontend...
chatbox
User-friendly Desktop Client App for AI Models/LLMs (GPT, Claude, Gemini, Ollama...)
continue
Continue is an open-source project for seamless server management.
claude-flow
Claude-Flow v2.7.0 is an enterprise AI orchestration platform.