Skip to content

Commit c7be856

Browse files
authored
Merge pull request #53 from MotleyAI/egor/dev-1066-add-an-mcp-server-to-gslides-api
Egor/dev 1066 add an mcp server to gslides api
2 parents 56f8bd3 + 6a7c753 commit c7be856

14 files changed

Lines changed: 3184 additions & 44 deletions

File tree

README.md

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pip install gslides-api
2121

2222
### Authentication
2323

24-
First, set up your Google API credentials. See [CREDENTIALS.md](CREDENTIALS.md) for detailed instructions.
24+
First, set up your Google API credentials. See [CREDENTIALS.md](docs/CREDENTIALS.md) for detailed instructions.
2525

2626
```python
2727
from gslides_api import initialize_credentials
@@ -60,6 +60,60 @@ new_slide = presentation.add_slide()
6060
- **Layouts**: Access and use slide layouts and masters
6161
- **Requests**: Type-safe request builders for batch operations
6262
- **Markdown Support**: Convert between Markdown and Google Slides content
63+
- **MCP Server**: Expose Google Slides operations as tools for AI assistants
64+
65+
## MCP Server
66+
67+
gslides-api includes an MCP (Model Context Protocol) server that exposes Google Slides operations as tools for AI assistants like Claude.
68+
69+
### Installation
70+
71+
```bash
72+
pip install gslides-api[mcp]
73+
```
74+
75+
### Quick Start
76+
77+
```bash
78+
# Set credentials path
79+
export GSLIDES_CREDENTIALS_PATH=/path/to/credentials
80+
81+
# Run the MCP server
82+
python -m gslides_api.mcp.server
83+
```
84+
85+
### Available Tools
86+
87+
| Tool | Description |
88+
|------|-------------|
89+
| `get_presentation` | Get full presentation by URL or ID |
90+
| `get_slide` | Get slide by name (speaker notes) |
91+
| `get_element` | Get element by slide and element name |
92+
| `get_slide_thumbnail` | Get slide thumbnail image |
93+
| `read_element_markdown` | Read text element as markdown |
94+
| `write_element_markdown` | Write markdown to text element |
95+
| `replace_element_image` | Replace image from URL |
96+
| `copy_slide` | Duplicate a slide |
97+
| `move_slide` | Reorder slide position |
98+
| `delete_slide` | Remove a slide |
99+
100+
### MCP Configuration
101+
102+
Add to your `.mcp.json`:
103+
104+
```json
105+
{
106+
"gslides": {
107+
"type": "stdio",
108+
"command": "python",
109+
"args": ["-m", "gslides_api.mcp.server"]
110+
}
111+
}
112+
```
113+
114+
The server reads credentials from `GSLIDES_CREDENTIALS_PATH` environment variable. Use `--credential-path` to override.
115+
116+
See [docs/MCP_SERVER.md](docs/MCP_SERVER.md) for detailed documentation.
63117

64118
## API Coverage
65119

File renamed without changes.

0 commit comments

Comments
 (0)