google-slides-mcp

google-slides-mcp

Converts linear Markdown documents into styled Google Slides presentations with customizable themes and layouts.

Category
Visit Server

README

Google Slides Model Context Protocol (MCP) Server

A Model Context Protocol (MCP) server that converts linear Markdown documents into styled Google Slides presentations.

The design is in favor of structured content containers, elegant color palettes, and color-matched vector icons.


Themes & Design Aesthetics

The generator supports 5 custom themes designed to fit different corporate, professional, and creative presentation requirements. You can dynamically switch styles for the exact same markdown file simply by passing a different theme_name argument:

Theme Name Style Personality Header Font Body Font Palette Ideal For
mckinsey Consulting / Structured Poppins Lato Cool Navy, Slate Blue, White Cards Executive updates, strategy decks, corporate pitch slides
academic Scholarly / Elegant Georgia Garamond Rich Charcoal, Off-White, Thin Borders Research papers, formal thesis overviews, lecture outlines
editorial Print / Contemporary Montserrat Open Sans Warm Terracotta, Warm Cream, Clean Minimal Creative agency briefs, brand stories, product showcases
tech High-Contrast / Modern Orbitron Inter Geometric Slate, Deep Indigo, Neon Cyan Accent Software architecture, developer docs, product roadmaps
zen Storytelling / Minimalist Outfit Source Sans Pro Charcoal Grey, Matte Black, Pure Bare-canvas High-level keynotes, high-impact storytelling, simple decks

General Workflow

Creating Google Slides via this MCP server is a seamless three-step process:

graph LR
    A["Draft Markdown"] --> B["Prompt AI agent"]
    B --> C["Live Slide Deck Link"]
  1. Draft your Slide Content: Author a linear Markdown file containing slide titles, content paragraphs, and layout annotations using standard HTML comments (e.g., <!-- layout: twin-cards -->).
  2. Interact with the Assistant: Prompt your AI session to generate slides, specifying your markdown filepath and your desired design aesthetic (e.g., mckinsey or tech).
  3. Open and Present: The assistant processes your file, generates coordinate-based layouts, downloads high-res monochrome icons from the Icons8 CDN, recolors them to match your theme's palette, compiles them via Google Slides batch-update requests, and replies with your live edit URL!

Setup and Configuration

1. Place Google Cloud Credentials

To write to your Google Drive, the server requires OAuth 2.0 client secrets from Google Cloud Console.

  1. Go to the Google Cloud Console.
  2. Create or select a project and enable both the Google Slides API and Google Drive API.
  3. Create an OAuth consent screen (External/Testing status), and add your Google email address as a Test User.
  4. Create an OAuth 2.0 Client ID (Desktop Application) and download its client secrets JSON.
  5. Save this downloaded JSON inside your home directory under the .gemini folder, named exactly credentials.json:
    • Path: ~/.gemini/credentials.json

2. Run One-Time Authentication

MCP servers run headlessly in the background, which prevents interactive web authorization. You must run the initial token cache generation once manually in your terminal:

# Activate your python virtual environment
source .venv/bin/env/activate  # or use .venv/bin/python directly

# Launch the one-time authentication flow
.venv/bin/python server.py --auth

This will output an OAuth authorization link and attempt to open your default browser. Authorize the application with your test Google account. Once consent is completed, the authenticated token will be securely cached in:

  • Path: ~/.gemini/google-slides-token.json

From this point forward, all slide generation runs completely headlessly without ever prompting you for authentication again!


Command Line Reference

You can test slide generation directly from your command line before exposing the server to your workspace.

Run First-Time Local Compilation

.venv/bin/python -c "from server import convert_markdown_to_slides; print(convert_markdown_to_slides('test_slide.md', 'Premium Presentation', 'mckinsey'))"

Start the MCP Server Manually

To start the FastMCP server in standard transport mode:

.venv/bin/python server.py

AI/LLM Prompt Guide

Once integrated, you can direct the AI assistant using natural language. Here are standard, high-leverage prompts you can copy or adapt:

1. Generating a New Presentation

Prompt:

  • "Generate a new Google Slides deck from my markdown file at test_slide.md. Name it 'Project Architecture Overview' and apply the McKinsey consulting theme."

2. Switching Themes for the Same Content

Because style is separated from structure, you can rapidly compile alternatives:

Prompt:

  • "Can you take my test_slide.md content and re-compile it into a dark-mode Tech slide aesthetic? Title it 'Project Architecture - Tech version'."

3. Iterative Refinement

You can ask your agentic coding assistant to modify your source content first, then compile:

Prompt:

  • "Open my test_slide.md file, add a new slide at the end about 'Testing and QA strategy' using a standard widescreen layout, and then run the slide converter tool to update the deck."

Slide Annotation Spec

To ensure your presentation has rich visual diversity, structure your Markdown file with layout comments. If no layout comment is supplied, the engine defaults to a widescreen standard card layout.

Title Slide Layout

Ideal for the opening slide. Generates large-font titles with high-contrast text and a left-bordered colored vertical block.

# Building Next-Gen Agentic Codebases
<!-- layout: title -->
Exploring the structural division between Domain Experts and Code Generation Engines.

Section Divider Layout

Creates high-impact, full-screen color-filled breakout slides to transition between topics.

# Core Design Principles
<!-- layout: section -->

Twin-Cards Layout

Perfect for comparison or separating contexts (e.g., Client vs. Server, Problem vs. Solution). Divides content into side-by-side white rounded cards with drop shadows.

# Separating Domain and Engineering Contexts
<!-- layout: twin-cards -->

## Domain Expert Context
<!-- card: expert -->
- **Epistemic Anchoring**
  Grounds LLM reasoning in the exact ontology of the problem space to avoid drift.
- **Cognitive Guardrails**
  Explicit constraints on domain logic that prevent non-viable architecture.

## Engineering Context
<!-- card: developer -->
- **Technical Tradeoffs**
  Maps high-level design to technical capabilities and constraints.
- **Implementation Reality**
  Bridges conceptual domain models with actual API and database limits.

Standard Layout

Organizes slide elements inside a breathable, centered widescreen container card featuring top-accent bands and customized icons.

# Google Slides MCP Capabilities
<!-- layout: standard -->

## Main Slide Title
- **Beautiful Design**
  Applies cohesive styling, Poppins & Lato typography, and cool background color (#F1F5F9).
- **Interactive Authenticator**
  Uses User-level Google OAuth 2.0 with a local cache for secure and robust workspace integration.

AI Agent Integration

To make this server available inside your standard AI agent application (such as Claude Desktop or any other standard MCP host), add this server block to your MCP configuration file:

{
  "mcpServers": {
    "google-slides-mcp": {
      "command": "/path/to/google-slides-mcp/.venv/bin/python",
      "args": [
        "/path/to/google-slides-mcp/server.py"
      ],
      "env": {
        "PYTHONPATH": "/path/to/google-slides-mcp"
      }
    }
  }
}

Restart your AI agent application, and you will see the convert_markdown_to_slides tool available in your workspace or chat interface!

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured