mcpField
G
gamma-mcp-server

gamma-mcp-server

Local
github.com/Arkava-AIProductivity0Updated 26w ago

About gamma-mcp-server

gamma-mcp-server connects MCP-compatible AI assistants to Gamma.app to create presentations, documents, webpages, and social posts. It also provides tools for themes, templates, folders, status checks, and email sharing.

Key features

  1. 01Generate presentations, documents, webpages, and posts
  2. 02Browse and apply visual themes
  3. 03Save content to folders
  4. 04Remix existing templates
  5. 05Share content by email
  6. 06Check generation status

Use cases

  1. 01Draft a presentation from a text prompt
  2. 02Create a document or webpage through an AI assistant
  3. 03Adapt an existing Gamma template
  4. 04Organize and share generated content

MCP support

The MCP server exposes Gamma.app content-generation and workspace tools to MCP-compatible AI assistants, including generation status, themes, folders, template remixing, email sharing, and archiving.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"amer-prog-gamma": {
"command": "npx",
"args": [
"-y",
"@arkava-ai/gamma-mcp-server"
],
"env": {
"GAMMA_API_KEY": "<GAMMA_API_KEY>"
}
}
}
}
Run commandnpx -y @arkava-ai/gamma-mcp-server
Environment variables to set
GAMMA_API_KEYSecretYour Gamma API key (starts with sk-gamma-)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@arkava-ai/gamma-mcp-server1.0.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Gamma MCP Server

License: MIT Node.js Version TypeScript npm version npm downloads CI MCP SDK

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

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 build
2. Get Your Gamma API Key
  1. Log in to gamma.app
  2. Go to Settings > API (or Settings > Members > API tab)
  3. Click Create API key
  4. 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
OSPath
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json

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
ScopePath
Global (user)~/.config/opencode/opencode.json
Project./opencode.json (in your project root)
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 (not mcpServers), type field required ("local" or "remote"), command is an array, and env vars go under environment.

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 env section is a separate table under [mcp_servers.gamma.env].


Google Gemini CLI

Config File
ScopePath
User~/.gemini/settings.json
Project.gemini/settings.json (in your project root)
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

ToolDescription
gamma_generateCreate presentations, documents, webpages, or social posts
gamma_get_statusCheck generation progress (with optional polling)
gamma_from_templateRemix existing Gamma templates
gamma_list_themesBrowse available visual themes
gamma_list_foldersList your Gamma folders
gamma_share_emailShare content via email
gamma_healthVerify server and API are reachable
gamma_archiveArchive a Gamma from your workspace
gamma_generate

Create new content using Gamma's AI.

Formats & Sizes:

  • presentation: fluid, 16x9, 4x3
  • document: fluid, pageless, letter, a4
  • social: 1x1, 4x5, 9x16
  • webpage: 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 path

To update on any machine:

git pull
npm install
npm run build
# Restart your AI assistant

Environment Variables

VariableDefaultDescription
GAMMA_API_KEY(required)Your Gamma API key (sk-gamma-...)
GAMMA_API_BASE_URLhttps://public-api.gamma.app/v1.0Override for self-hosted Gamma instances
GAMMA_POLL_INTERVAL_MS2000Milliseconds between status polls (default 2s)
GAMMA_MAX_POLL_ATTEMPTS150Max 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 inspect

Project 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.js

API 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

ErrorSolution
"GAMMA_API_KEY environment variable is required"Ensure env.GAMMA_API_KEY is set in your AI assistant's MCP config
"Invalid API key"Keys should start with sk-gamma-. Verify the complete key.
"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 — [email protected]


License

MIT License - see LICENSE for details.


Links

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.