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
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| barie_google_slides_mcp-0.1.2.tar.gz | 5.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.