Google Slides MCP Server for managing presentations via the Model Context Protocol
Project description
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
batchUpdateoperations. - 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.readonlyhttps://www.googleapis.com/auth/presentations
You can optionally pass scopes through --scopes as a JSON array string.
Local Setup
-
Install dependencies:
pip install -e .
-
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 example2026-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.pageSizesupports values from 1 to 100.batch_update_presentation.requestsmust follow Google Slides APIpresentations.batchUpdaterequest objects.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file barie_google_slides_mcp-0.1.1.tar.gz.
File metadata
- Download URL: barie_google_slides_mcp-0.1.1.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdd6fce089a88524a8a1e1c4df9e805f5dc49129e079071a580334faf03a76fa
|
|
| MD5 |
1ed1b4588030eda718e24bd2038c889c
|
|
| BLAKE2b-256 |
c3e844070350a3b01ec092199f364ffd327fd8fdd1ca29719e8aaa4ff4b7fc71
|
File details
Details for the file barie_google_slides_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: barie_google_slides_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d98677a665b03ce5279aa34003f1207cec642aff6cb4b293939243f8aabccb2
|
|
| MD5 |
b540db7432592f7aa6fc570008327773
|
|
| BLAKE2b-256 |
887e80e918c3d28b7d1ecb863a5319030230af829473f04deb207077b87525cb
|