gamma-mcp
Enables AI-powered generation of presentations, documents, social posts, and webpages via Gamma.app.
README
Gamma MCP Server
MCP server for Gamma.app - AI-powered presentation, document, and website generation.
Features
- Generate from scratch - Create presentations, documents, social posts, or webpages from text
- Create from template - Adapt existing Gamma templates with new content
- List themes - Browse available themes for styling
- List folders - Browse workspace folders for organization
- Poll generation status - Check when async generation completes
Installation
npm install @purple-horizons/gamma-mcp
Or clone and build:
git clone https://github.com/Purple-Horizons/gamma-mcp.git
cd gamma-mcp
npm install
npm run build
Configuration
Environment Variable
Set your Gamma API key:
export GAMMA_API_KEY=sk-gamma-xxxxxxxx
Get your API key from Gamma Account Settings (requires Pro, Ultra, Teams, or Business plan).
Claude Desktop / OpenClaw
Add to your MCP config:
{
"mcpServers": {
"gamma": {
"command": "node",
"args": ["/path/to/gamma-mcp/dist/index.js"],
"env": {
"GAMMA_API_KEY": "sk-gamma-xxxxxxxx"
}
}
}
}
mcporter
Add to ~/.config/mcporter/mcporter.json:
{
"servers": {
"gamma": {
"command": "node",
"args": ["/path/to/gamma-mcp/dist/index.js"],
"env": {
"GAMMA_API_KEY": "sk-gamma-xxxxxxxx"
}
}
}
}
Tools
gamma_generate
Generate a new gamma from text input.
Parameters:
inputText(required) - Content to generate from (text + image URLs)textMode(required) -generate|condense|preserveformat-presentation|document|social|webpagethemeId- Theme ID (fromgamma_list_themes)numCards- Number of slides (1-60 for Pro, 1-75 for Ultra)cardSplit-auto|inputTextBreaksadditionalInstructions- Extra generation guidancefolderIds- Array of folder IDs to save toexportAs-pdf|pptxtextAmount-brief|medium|detailed|extensivetextTone- Tone description (e.g., "professional, inspiring")textAudience- Target audiencetextLanguage- Language code (default: "en")imageSource-aiGenerated|pictographic|pexels|giphy|webAllImages|webFreeToUse|webFreeToUseCommercially|placeholder|noImagesimageModel- AI model for images (e.g., "flux-1-pro", "imagen-4-pro")imageStyle- Image style descriptiondimensions- Card dimensions (format-dependent)
Returns: { generationId: "..." }
gamma_get_generation
Check generation status.
Parameters:
generationId(required) - ID from gamma_generate
Returns:
{
"status": "pending" | "completed",
"generationId": "...",
"gammaUrl": "https://gamma.app/docs/...",
"credits": { "deducted": 150, "remaining": 3000 }
}
gamma_create_from_template
Create a gamma based on an existing template.
Parameters:
gammaId(required) - Template gamma IDprompt(required) - Instructions and contentthemeId- Override themefolderIds- Destination foldersexportAs-pdf|pptximageModel- AI model for new imagesimageStyle- Style for new images
Returns: { generationId: "..." }
gamma_list_themes
List available themes.
Parameters:
query- Search by namelimit- Max results (default 50)after- Pagination cursor
Returns:
{
"data": [{ "id": "...", "name": "...", "type": "standard|custom" }],
"hasMore": false,
"nextCursor": null
}
gamma_list_folders
List workspace folders.
Parameters:
query- Search by namelimit- Max results (default 50)after- Pagination cursor
Returns:
{
"data": [{ "id": "...", "name": "..." }],
"hasMore": false,
"nextCursor": null
}
Usage Example
// 1. Generate a presentation
const gen = await gamma_generate({
inputText: "5 ways AI is transforming healthcare",
textMode: "generate",
format: "presentation",
numCards: 10,
imageSource: "aiGenerated",
imageStyle: "modern, professional photography"
});
// 2. Poll for completion
let status;
do {
await sleep(5000);
status = await gamma_get_generation({ generationId: gen.generationId });
} while (status.status === "pending");
// 3. Use the result
console.log(status.gammaUrl); // https://gamma.app/docs/xxxxx
Credits
Gamma uses a credit-based system:
- ~3-4 credits per card
- ~2-120 credits per image (depends on model)
Check your remaining credits in the generation response.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.