gamma-mcp-server
Enables GitHub Copilot to generate Gamma content such as presentations and documents from code or prompts.
Integrates with Google Gemini to create presentations, documents, webpages, and social posts via Gamma.
Allows OpenAI Codex assistants to generate Gamma presentations, documents, webpages, and social posts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gamma-mcp-serverCreate a presentation about the benefits of remote work"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Gamma MCP Server
A Model Context Protocol (MCP) server that integrates Gamma.app with AI assistants. Create presentations, documents, webpages, and social posts directly from your AI conversations.
Works with: Claude Code, Claude Desktop, OpenCode, GitHub Copilot CLI, Google Gemini CLI, and any other MCP-compatible AI assistant.
Features
Generate Content: Create professional presentations, documents, webpages, and social posts from text prompts
Theme Support: Browse and apply visual themes to your content
Folder Organization: Save generated content to specific folders
Template Remix: Create variations of existing Gamma templates
Email Sharing: Share generated content directly via email
Related MCP server: Gamma MCP Server
Quick Start
1. Clone and Install
git clone https://github.com/Arkava-AI/gamma-mcp-server.git
cd gamma-mcp-server
npm install
npm run build2. Get Your Gamma API Key
Log in to gamma.app
Go to Settings > API (or Settings > Members > API tab)
Click Create API key
Copy the key (format:
sk-gamma-xxxxxxxx)
Note: Requires Gamma Pro, Ultra, Team, or Business account.
3. Configure Your AI Assistant
Choose your AI assistant below for setup instructions.
Claude Desktop (macOS / Windows / Linux)
Config File
OS | Path |
macOS |
|
Linux |
|
Windows |
|
Add to the mcpServers object:
{
"mcpServers": {
"gamma": {
"command": "node",
"args": ["/absolute/path/to/gamma-mcp-server/dist/index.js"],
"env": {
"GAMMA_API_KEY": "sk-gamma-your-api-key-here"
}
}
}
}Restart Claude Desktop
Restart Claude Desktop to load the new MCP server. You should see "gamma" in your MCP servers list.
Claude Code
Claude Code uses the same MCP configuration as Claude Desktop. If you've already configured Claude Desktop, you're all set.
For project-level configuration, create a .claude/settings.json file in your project directory with the same mcpServers structure shown above. This allows different projects to use different MCP server configurations.
OpenCode
Config File
Scope | Path |
Global (user) |
|
Project |
|
JSON Structure
{
"mcp": {
"gamma": {
"type": "local",
"command": ["node", "/absolute/path/to/gamma-mcp-server/dist/index.js"],
"enabled": true,
"environment": {
"GAMMA_API_KEY": "sk-gamma-your-api-key-here"
}
}
}
}Note: OpenCode uses a different config format from Claude Desktop —
mcp(notmcpServers),typefield required ("local"or"remote"),commandis an array, and env vars go underenvironment.
Restart OpenCode after editing the config to load the server.
GitHub Copilot CLI
Config File
~/.copilot/mcp-config.json
JSON Structure
{
"mcpServers": {
"gamma": {
"type": "local",
"command": "node",
"args": ["/absolute/path/to/gamma-mcp-server/dist/index.js"],
"env": {
"GAMMA_API_KEY": "sk-gamma-your-api-key-here"
},
"tools": ["*"]
}
}
}Note: Requires the GitHub Copilot CLI (
gh copilot) — not the same as OpenAI Codex.
OpenAI Codex
Config File
~/.codex/config.toml(TOML format, not JSON)
TOML Structure
[mcp_servers.gamma]
command = "node"
args = ["/absolute/path/to/gamma-mcp-server/dist/index.js"]
enabled = true
[mcp_servers.gamma.env]
GAMMA_API_KEY = "sk-gamma-your-api-key-here"Note: Codex uses TOML format, not JSON. The
envsection is a separate table under[mcp_servers.gamma.env].
Google Gemini CLI
Config File
Scope | Path |
User |
|
Project |
|
JSON Structure
{
"mcpServers": {
"gamma": {
"command": "node",
"args": ["/absolute/path/to/gamma-mcp-server/dist/index.js"],
"cwd": "/absolute/path/to/gamma-mcp-server",
"env": {
"GAMMA_API_KEY": "sk-gamma-your-api-key-here"
},
"timeout": 30000
}
}
}Restart Gemini CLI after editing the config to load the server.
Available Tools
Tool | Description |
| Create presentations, documents, webpages, or social posts |
| Check generation progress (with optional polling) |
| Remix existing Gamma templates |
| Browse available visual themes |
| List your Gamma folders |
| Share content via email |
| Verify server and API are reachable |
| Archive a Gamma from your workspace |
gamma_generate
Create new content using Gamma's AI.
Formats & Sizes:
presentation: fluid, 16x9, 4x3document: fluid, pageless, letter, a4social: 1x1, 4x5, 9x16webpage: fluid
Example prompts in your AI assistant:
"Create a 5-slide presentation about sustainable energy"
"Generate a document explaining our Q1 results"
"Make a social media post announcing our new product"
gamma_get_status
Check if a generation has completed. Set waitForCompletion: true to automatically poll until done.
gamma_from_template
Remix an existing Gamma with new content or variable substitutions.
{
"templateId": "gamma_xyz789",
"prompt": "Update for Q1 2025",
"variables": { "company_name": "Acme Corp" }
}Multi-Machine Setup
This repository is designed for easy deployment across multiple machines:
# On each machine:
git clone https://github.com/Arkava-AI/gamma-mcp-server.git
cd gamma-mcp-server
npm install && npm run build
# Then configure your AI assistant with the local pathTo update on any machine:
git pull
npm install
npm run build
# Restart your AI assistantEnvironment Variables
Variable | Default | Description |
| (required) | Your Gamma API key ( |
|
| Override for self-hosted Gamma instances |
|
| Milliseconds between status polls (default 2s) |
|
| Max polling attempts before timeout (default 150 × 2s = 5 min) |
Development
# Run in development mode with auto-reload
npm run dev
# Build for production
npm run build
# Run linting
npm run lint
# Format code
npm run format
# Type check
npm run typecheck
# Test with MCP Inspector
npm run inspectProject Structure
gamma-mcp-server/
├── src/
│ ├── index.ts # Main entry point
│ ├── constants.ts # Configuration constants
│ ├── types.ts # TypeScript interfaces
│ ├── schemas/ # Zod validation schemas
│ ├── services/ # API client and formatters
│ └── tools/ # MCP tool implementations
├── dist/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── eslint.config.jsAPI Credits
Gamma uses a credit-based system for API usage. Credits are consumed per generation. Monitor your usage in the Gamma dashboard and enable auto-recharge if needed.
Troubleshooting
Error | Solution |
"GAMMA_API_KEY environment variable is required" | Ensure |
"Invalid API key" | Keys should start with |
"Rate limit exceeded" | Wait a few minutes. Contact Gamma support for higher limits. |
"Insufficient credits" | Top up credits or enable auto-recharge in Gamma settings. |
Requirements
Node.js 18+
Gamma Pro/Ultra/Team/Business account (for API access)
MCP-compatible AI assistant (Claude Code, Claude Desktop, OpenCode, GitHub Copilot CLI, Gemini CLI, etc.)
Maintainer
Arkava Ltd — engage@arkava.ai
License
MIT License - see LICENSE for details.
Links
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Arkava-AI/gamma-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server