Skip to main content

MCP-Server für die Gamma.app API — erstellt Präsentationen, Dokumente und mehr via KI-Agenten

Project description

gamma31

MCP-Server für die Gamma.app API — erstellt Präsentationen, Dokumente, Social Posts und Webseiten über KI-Agenten.

Basiert auf FastMCP 3.x mit Session State, Elicitation, Tool Timeouts und Tags.

Features

  • Präsentationen, Dokumente, Social Posts und Webseiten generieren
  • Generierung aus bestehenden Vorlagen (Templates, Beta)
  • Interaktive Rückfragen vor der Generierung (Sprache, Zielgruppe, Ton, Textmenge)
  • Fortschrittsanzeige beim Warten auf Fertigstellung
  • Themes und Ordner auflisten und verwenden
  • Export als PDF oder PPTX
  • 60+ Sprachen
  • Automatisches Polling bis Fertigstellung
  • Session-basiertes Credit-Tracking
  • Tool Timeouts für zuverlässigen Betrieb

Architektur

flowchart TD
    Agent["KI-Agent / Chat"] -->|"Tool-Aufruf"| MCP["gamma31 MCP Server\n(FastMCP 3.x, stdio/SSE)"]

    subgraph elicit [Interaktive Rueckfragen]
        MCP -->|"ctx.elicit()"| User["Nutzer"]
        User -->|"Sprache, Zielgruppe,\nTon, Textmenge"| MCP
    end

    MCP -->|"POST /generations"| GammaAPI["Gamma.app API\n(public-api.gamma.app)"]
    MCP -->|"GET /generations/id\n+ ctx.report_progress()"| GammaAPI
    MCP -->|"GET /themes"| GammaAPI
    MCP -->|"GET /folders"| GammaAPI
    GammaAPI -->|"gammaUrl, pdfUrl,\npptxUrl, Credits"| MCP
    MCP -->|"ctx.set_state()\nCredit-Tracking"| SessionState["Session State"]
    MCP -->|"JSON-Ergebnis"| Agent

Ablauf: Der KI-Agent ruft ein Tool auf. Bei gamma_generieren fragt der Server den Nutzer optional nach Sprache, Zielgruppe, Ton und Textmenge (Elicitation). Dann wird die Gamma.app API angesprochen. Beim Polling zeigt gamma_status_abrufen den Fortschritt an und trackt verbrauchte Credits in der Session.

Voraussetzungen

Installation & Nutzung

1. Als uvx-Paket (empfohlen)

GAMMA_API_KEY=sk-gamma-xxx uvx gamma31

2. In einer MCP-Plattform (Python-Paket, stdio)

Einstellung Wert
Paketname gamma31
Umgebungsvariable GAMMA_API_KEY = sk-gamma-xxx

3. Als Remote-Server (SSE/HTTP)

GAMMA_API_KEY=sk-gamma-xxx uv run gamma31 --transport sse --port 8000

Verbinden Sie dann Ihre MCP-Plattform als Remote-HTTP mit der URL http://localhost:8000/sse (oder der ngrok-URL für externen Zugriff).

4. In Claude Desktop

Fügen Sie folgendes in Ihre Claude Desktop Konfigurationsdatei ein:

{
  "mcpServers": {
    "gamma": {
      "command": "uvx",
      "args": ["gamma31"],
      "env": {
        "GAMMA_API_KEY": "sk-gamma-xxx"
      }
    }
  }
}

Verfügbare Tools

Tool Beschreibung Tags
gamma_generieren Erstellt eine neue Gamma mit optionaler interaktiver Rückfrage (Sprache, Zielgruppe, Ton, Textmenge) core
gamma_aus_vorlage_erstellen Erstellt eine Gamma aus einem bestehenden Template (Beta) beta
gamma_status_abrufen Wartet auf Fertigstellung mit Fortschrittsanzeige, liefert URL + Downloads core
gamma_themes_auflisten Listet verfügbare Themes mit Paginierung lookup
gamma_ordner_auflisten Listet Workspace-Ordner mit Paginierung lookup

Typischer Workflow

1. Optional: gamma_themes_auflisten  → Theme-ID auswählen
2. Optional: gamma_ordner_auflisten  → Ordner-ID auswählen
3. gamma_generieren                  → Rückfragen → erhält generationId
4. gamma_status_abrufen              → Fortschritt → Gamma-URL + Downloads

Umgebungsvariablen

Variable Pflicht Beschreibung Standard
GAMMA_API_KEY Ja Gamma API-Key (Format: sk-gamma-xxx)
MCP_TRANSPORT Nein Transport-Modus: stdio oder sse stdio
MCP_PORT Nein Port für SSE-Transport 8000
MCP_HOST Nein Host für SSE-Transport 0.0.0.0

Sicherheit: Der API-Key wird ausschließlich über die Umgebungsvariable GAMMA_API_KEY übergeben und ist nirgends im Quellcode enthalten. Das Paket auf PyPI enthält keine Secrets.

Entwicklung

git clone https://github.com/localmind-ai/gamma31.git
cd gamma31
uv sync
GAMMA_API_KEY=sk-gamma-xxx fastmcp dev inspector src/gamma31/server.py -e .

Testen

# Tools auflisten
fastmcp list tools src/gamma31/server.py

# Tool direkt aufrufen
GAMMA_API_KEY=sk-gamma-xxx fastmcp call src/gamma31/server.py gamma_themes_auflisten '{"limit": 3}'

Veröffentlichen auf PyPI

# Bauen
uv build

# Veröffentlichen
uv publish --token pypi-xxxx

# Testen ob es funktioniert
GAMMA_API_KEY=sk-gamma-xxx uvx gamma31

Lizenz

MIT — siehe LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gamma31-0.1.0.tar.gz (64.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gamma31-0.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file gamma31-0.1.0.tar.gz.

File metadata

  • Download URL: gamma31-0.1.0.tar.gz
  • Upload date:
  • Size: 64.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gamma31-0.1.0.tar.gz
Algorithm Hash digest
SHA256 54fa70f7755c40f17d8956f9d2c1ed2da3972d1b1b2fc09096f9e72d57a035e0
MD5 2c986509457f9cd3d1d0452e48e4cb25
BLAKE2b-256 43cda1b6817b312f5d92d6510b9fbcf7eee02f9f5ef4ff6461f05c865136c9cf

See more details on using hashes here.

File details

Details for the file gamma31-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gamma31-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gamma31-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a30da4925d086986b70895709972f5a9f34d1c5bca83b636a05fd9f6bc0a05e
MD5 57f4924cc0cfdb101237fa5c4cbf2370
BLAKE2b-256 d48a9c1bc926fb251bbe84707e9a82be1ba1563248d7c53be70568af944e7dae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page