mdslides-mcp-server
MCP (Model Context Protocol) server for generating HTML slides from Markdown content
Documentation
mdslides-mcp-server
An MCP (Model Context Protocol) server for generating HTML slides from Markdown content using the mkslides library.
What it Does
This server provides a simple interface to the `mkslides` command-line tool, allowing you to generate presentation slides directly from Markdown input via the Model Context Protocol. This enables integration with tools like Claude in VSCode to easily create and manage presentations.
Demo
Features
- Generate HTML slides from Markdown.
- Support for various mkslides configuration options (themes, highlight themes, Reveal.js options).
- Clean handling of temporary files.
- Containerized deployment option using Docker.
Installation
Prerequisites
- Python 3.12 or higher
- mkslides installed and available in your PATH.
- Model Context Protocol (MCP) client (e.g., Claude in VSCode).
- Docker (if using the Docker installation method).
Installation Methods
Using pip
1. Clone the repository:
git clone https://github.com/your-repo/mdslides-mcp-server.git
cd mdslides-mcp-server2. Install using pip and uv (recommended):
uv syncOr using pip:
pip install .Using Docker
1. Ensure Docker is installed and running.
2. From the repository root, run the deployment script:
./deploy_mdslides_docker.shThis script will build the Docker image (if not already built) and start a container instance named `mdslides-mcp-instance`. The server inside the container will be running and ready to accept connections via MCP. The script also handles creating the necessary output directory (`./mkslides_output`) on the host.
Configuration in MCP Settings
To use the server with your MCP client (like Claude in VSCode), you need to add it to your MCP settings.
If you installed using pip, you can run the server directly:
{
"mcpServers": {
"mdslides-mcp-local": {
"command": "python",
"args": ["src/mdslides_mcp_server/server.py"],
"disabled": false,
"autoApprove": []
}
}
}If you are using the Docker deployment via the script:
Configure your MCP client to attach to the running container instance:
{
"mcpServers": {
"mdslides-mcp-local": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "docker",
"args": [
"attach",
"mdslides-mcp-instance"
],
"transportType": "stdio"
}
}
}Usage with Claude/VSCode
Once configured in your MCP settings, you can use the `generate_slides` tool directly within your Claude chat interface in VSCode.
Available Tool: `generate_slides`
Generates HTML presentation slides from Markdown input using mkslides and serves them via a local HTTP server.
Parameters:
- `markdown_content` (string, required): Raw Markdown text for the slides.
- `slides_theme` (string, optional): Theme name for the slides (e.g., `black`, `white`, `league`, `beige`, `night`, `serif`, `simple`, `solarized`, `moon`, `dracula`, `sky`, `blood`). Overrides the default.
- `slides_highlight_theme` (string, optional): Syntax highlighting theme for code blocks (any built-in theme from `highlight.js`).
- `revealjs_options` (object, optional): A dictionary containing Reveal.js config options to merge/override defaults.
Returns:
- (string): A URL (e.g., `http://localhost:8080/latest/index.html`) pointing to the generated HTML slides served by the MCP server's internal HTTP server. You can open this URL in your browser.
Example Usage:
mdslides-mcp-local
generate_slides
{
"markdown_content": "# My Presentation\n\n---\n\n## Slide 2\n\n- Bullet 1\n- Bullet 2",
"slides_theme": "black",
"revealjs_options": {
"transition": "slide"
}
}This will generate the slides in the default output directory (`./mkslides_output`) using the 'black' theme and a 'slide' transition.
Development
Contributing
Contributions are welcome! Please follow standard GitHub practices: fork the repository, create a feature branch, and submit a pull request.
Running Tests
Currently, there is a placeholder test file (`tests/test_server.py`). To run tests, you would typically use a test runner like `pytest`:
pytestRemember to add actual tests to `tests/test_server.py`.
Building from Source
Follow the pip installation steps above to set up your development environment.
License
This project is licensed under the MIT License - see the LICENSE file for details. (Note: A LICENSE file does not currently exist in the repository. You may want to create one.)
Acknowledgements
- mkslides for the core slide generation functionality.
- Model Context Protocol for enabling server integration.
Frequently asked questions
What is mdslides-mcp-server?
mdslides-mcp-server is MCP (Model Context Protocol) server for generating HTML slides from Markdown content
How do I install mdslides-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mdslides-mcp-server open source?
Yes — it is hosted on GitHub at https://github.com/bsmnyk/mdslides-mcp-server and has 3 stars.
Related MCP tools
🙌 OpenHands: Code Less, Make More for the Model Context Protocol. Enhance AI assistants with powerful integrations. Python-based implementation.
Universal memory layer for AI Agents; Announcing OpenMemory MCP - local and secure memory management. Python-based implementation.
基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择ChatGPT/Claude/DeepSeek/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。
An LLM agent that conducts deep research (local and web) on any given topic and generates a long report with citations. Built for the Model Context Protocol to
🚀 The fast, Pythonic way to build MCP servers and clients Trusted by 19900+ developers. Trusted by 19900+ developers. Trusted by 19900+ developers.
🔥 MaxKB is an open-source platform for building enterprise-grade agents. MaxKB 是强大易用的开源企业级智能体平台。 for the Model Context Protocol. Enhance AI assistants with po
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP