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

Metadata

Release files for barie-google-slides-mcp 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for barie-google-slides-mcp 0.1.2
File Size Uploaded Provenance
barie_google_slides_mcp-0.1.2.tar.gz 5.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for barie-google-slides-mcp 0.1.2
File Interpreter ABI Platform
barie_google_slides_mcp-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 12.9 kB

Release files / barie_google_slides_mcp-0.1.2.tar.gz

Download URL barie_google_slides_mcp-0.1.2.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
19e71af6cf57d80a8570de0ecdcdc31983edb497d5189da41e1c734b9951b03e
BLAKE2b-256 checksum
How to use checksums
481b8a75787d7298af1bf30d6864254e82698db1c81ddebf07f10a4b53b3a6b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release files / barie_google_slides_mcp-0.1.2-py3-none-any.whl

Download URL barie_google_slides_mcp-0.1.2-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bfb3b8c583b426ce6f3ecfe43930e8a646e324b4051b559456ad58d2c9c25f02
BLAKE2b-256 checksum
How to use checksums
48af0f2443fededa39cdaf07434a45b8194e105e62c5342c44c199a249c711dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Security for barie-google-slides-mcp 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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