sarafina98/gamma-mcp-server
If you are the rightful owner of gamma-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Gamma MCP Server is a Model Context Protocol server designed for Gamma AI, providing tools and resources for generating presentations, documents, and webpages using the Gamma Public API.
Gamma MCP Server
A Model Context Protocol (MCP) server for Gamma AI that provides tools and resources for generating presentations, documents, and webpages using the Gamma Public API.
Features
Resources (2)
gamma://folders- List all folders (channels) in your Gamma workspacegamma://themes- List all available themes for generation
Tools (1)
generate_gamma- Generate Gamma content with AI, including automatic polling until completion
Prerequisites
- Node.js 18+
- Yarn package manager
- A Gamma API key (get one here)
Installation
-
Install dependencies:
yarn install -
Configure your API key:
Edit
src/gamma-api.service.tsand replace the placeholder API key:const GAMMA_API_KEY = 'sk-gamma-your-api-key-here';Replace
'sk-gamma-your-api-key-here'with your actual Gamma API key. -
Build the project:
yarn build
Running the Server
Development mode (with auto-reload):
yarn dev
Production mode:
yarn start
The server will start on http://localhost:3000 using streamable HTTP transport.
Connecting to Claude Desktop
To use this MCP server with Claude Desktop, add it to your Claude configuration:
macOS/Linux:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"gamma": {
"command": "node",
"args": ["/absolute/path/to/gamma-mcp-server/dist/index.js"]
}
}
}
Windows:
Edit %APPDATA%\Claude\claude_desktop_config.json with similar configuration.
Important: Replace /absolute/path/to/gamma-mcp-server with the actual absolute path to this project directory.
Usage Examples
Once connected to Claude Desktop, you can use natural language to interact with Gamma:
List Available Themes
Show me all available Gamma themes
List Workspace Folders
What folders do I have in my Gamma workspace?
Generate a Presentation
Create a 10-slide presentation about renewable energy using the "Modern Professional" theme
Generate with Export
Generate a presentation about AI trends and export it as a PowerPoint file
API Reference
Resources
gamma://folders
Returns all workspace folders with pagination automatically handled.
Response:
{
"folders": [
{"id": "fold_123", "name": "Marketing"},
{"id": "fold_456", "name": "Sales"}
],
"total": 2
}
gamma://themes
Returns all available themes with pagination automatically handled.
Response:
{
"themes": [
{
"id": "theme_123",
"name": "Modern Professional",
"type": "standard",
"colorKeywords": ["blue", "corporate"],
"toneKeywords": ["professional", "clean"]
}
],
"total": 50
}
Tools
generate_gamma
Generate Gamma content with automatic polling until completion.
Parameters:
inputText(required): Content to generate from (max 400k chars)textMode(required):"generate","condense", or"preserve"format(optional):"presentation","document","social", or"webpage"(default: "presentation")numCards(optional): Number of cards/pages to generatethemeId(optional): Theme ID from the themes resourcefolderIds(optional): Array of folder IDs to save the gamma inexportAs(optional):"pptx"or"pdf"to generate an export URL
Returns:
{
"success": true,
"generationId": "gen_abc123",
"gammaUrl": "https://gamma.app/docs/...",
"exportUrl": "https://gamma.app/export/...",
"credits": {
"deducted": 10,
"remaining": 90
}
}
Development
Project Structure
gamma-mcp-server/
├── src/
│ ├── index.ts # Entry point
│ ├── app.module.ts # NestJS app module
│ ├── gamma-api.service.ts # Gamma API client
│ ├── folders.resource.ts # Folders MCP resource
│ ├── themes.resource.ts # Themes MCP resource
│ └── generate.tool.ts # Generate MCP tool
├── dist/ # Compiled output
├── package.json
├── tsconfig.json
└── README.md
Scripts
yarn build- Compile TypeScript to JavaScriptyarn start- Run the compiled serveryarn dev- Run in development mode with ts-nodeyarn watch- Watch mode for TypeScript compilation
Troubleshooting
"Invalid API key" error
Make sure you've replaced the placeholder API key in src/gamma-api.service.ts with your actual Gamma API key.
Server won't start
- Make sure you've run
yarn installandyarn build - Check that port 3000 is not already in use
- Check the console for error messages
Claude Desktop can't connect
- Verify the absolute path in your Claude config is correct
- Make sure the server is built (
yarn build) - Restart Claude Desktop after editing the config
- Check Claude Desktop logs for connection errors
Learn More
License
MIT