Skip to main content

Google Slides MCP Server

An MCP server for managing Google Slides presentations, integrating seamlessly with AI assistants using the Model Context Protocol.

Features

  • List Presentations: Search and list presentations via Drive API.
  • Get Presentation: Retrieve full presentation structure (slides, shapes, text).
  • Create Presentation: Create new presentations.
  • Batch Update: Modify presentations (add slides, edit content).
  • Page Details: Get specific slide content.
  • Thumbnails: Generate thumbnail URLs for slides.

Scope

This server focuses on Google Slides presentation management through MCP tools:

  • Read/list presentations from Google Drive.
  • Read full presentation/slide details.
  • Create new presentations.
  • Perform Slides API batchUpdate operations.
  • Generate slide thumbnails.

It does not implement custom business workflows on top of Slides; callers provide valid Google Slides API request payloads (especially for batch_update_presentation).

Installation

Prerequisites

  • Python 3.9 or higher.
  • A Google Cloud Project with the Slides and Drive APIs enabled.
  • OAuth2 credentials (Client ID and Client Secret).
  • OAuth2 tokens with required scopes.

Required OAuth Scopes

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/presentations

You can optionally pass scopes through --scopes as a JSON array string.

Local Setup

  1. Install dependencies:

    pip install -e .
    
  2. Run the server:

    python main.py --access-token <TOKEN> --refresh-token <REFRESH_TOKEN> --client-id <CLIENT_ID> --client-secret <CLIENT_SECRET>
    

Configuration

Add the following to your MCP host configuration (e.g., mcp-config.json):

{
  "mcpServers": {
    "barie-google-slides-mcp": {
      "command": "uvx",
      "args": [
        "barie-google-slides-mcp",
        "--access-token",
        "YOUR_ACCESS_TOKEN",
        "--refresh-token",
        "YOUR_REFRESH_TOKEN",
        "--client-id",
        "YOUR_CLIENT_ID",
        "--client-secret",
        "YOUR_CLIENT_SECRET"
      ]
    }
  }
}

Optional:

  • --expiry: token expiry timestamp in ISO format (for example 2026-05-07T00:00:00Z).
  • --scopes: JSON array string of scopes. If omitted, server defaults are used.

Tools

  • list_presentations: Search and list presentations.
  • get_presentation: Get presentation content.
  • create_presentation: Create a new presentation.
  • batch_update_presentation: Update presentation structure/content.
  • get_page: Get specific slide content.
  • get_page_thumbnail: Get thumbnail URL for a slide.

Notes

  • list_presentations.pageSize supports values from 1 to 100.
  • batch_update_presentation.requests must follow Google Slides API presentations.batchUpdate request objects.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

barie_google_slides_mcp-0.1.2.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

barie_google_slides_mcp-0.1.2-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file barie_google_slides_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: barie_google_slides_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for barie_google_slides_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 19e71af6cf57d80a8570de0ecdcdc31983edb497d5189da41e1c734b9951b03e
MD5 55d170ab8bd1f70bdd6531f06627e931
BLAKE2b-256 481b8a75787d7298af1bf30d6864254e82698db1c81ddebf07f10a4b53b3a6b2

See more details on using hashes here.

File details

Details for the file barie_google_slides_mcp-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for barie_google_slides_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bfb3b8c583b426ce6f3ecfe43930e8a646e324b4051b559456ad58d2c9c25f02
MD5 4c8ac9ab1d3929fd16ab7490f56cf719
BLAKE2b-256 48af0f2443fededa39cdaf07434a45b8194e105e62c5342c44c199a249c711dd

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page