Metadata-Version: 2.4
Name: barie-google-slides-mcp
Version: 0.1.0
Summary: Google Slides MCP Server for managing presentations via the Model Context Protocol
Author-email: Barie <support@barie.ai>
License: MIT
Keywords: google-api,google-slides,mcp,model-context-protocol
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Requires-Dist: google-api-python-client>=2.130.0
Requires-Dist: google-auth-oauthlib>=1.2.0
Requires-Dist: google-auth>=2.29.0
Requires-Dist: mcp>=0.9.0
Requires-Dist: pydantic>=2.0.0
Description-Content-Type: text/markdown

# 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.

## 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).

### Local Setup

1. Install dependencies:
   ```bash
   pip install -e .
   ```

2. Run the server:
   ```bash
   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`):

```json
{
  "mcpServers": {
    "barie-google-slides-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "/path/to/google_slides",
        "barie-google-slides-mcp",
        "--access-token",
        "YOUR_ACCESS_TOKEN",
        "--refresh-token",
        "YOUR_REFRESH_TOKEN",
        "--client-id",
        "YOUR_CLIENT_ID",
        "--client-secret",
        "YOUR_CLIENT_SECRET"
      ]
    }
  }
}
```

## 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.

## License

MIT
