Skip to main content
Glama

FoundryVTT MCP Server

npm version License: MIT

Ein Model Context Protocol-Server (MCP), der sich in FoundryVTT integriert und KI-Assistenten ermöglicht, über natürliche Sprache mit deinen Tabletop-Spielsitzungen zu interagieren.

Funktionen

  • Würfeln – Standard-RPG-Notation mit beliebigen Formeln

  • Datenabfrage – Suche und Inspektion von Akteuren, Gegenständen, Szenen, Journalen

  • Spielzustand – Kampfverfolgung, Chat-Nachrichten, Benutzerpräsenz

  • Inhaltsgenerierung – NSCs, Beutetabellen, Regel-Nachschlagewerke

  • Weltsuche – Volltextsuche über alle Spielentitäten

  • Live-Verbindung – Socket.IO lädt den vollständigen Weltzustand beim Verbinden

  • MCP-Ressourcenfoundry://-URIs für direkten Datenzugriff

  • Diagnose – optionale Server-Health-Überwachung (erfordert REST-API-Modul)

Related MCP server: FoundryVTT MCP Server

Schnellstart

Voraussetzungen

  • Node.js 18+ (oder Bun)

  • FoundryVTT-Server mit einer aktiven Welt

  • MCP-kompatibler KI-Client (Claude Desktop, Claude Code, VS Code usw.)

Empfohlen: Einen dedizierten API-Benutzer erstellen

Es wird empfohlen, ein separates FoundryVTT-Benutzerkonto für den MCP-Server zu erstellen, anstatt dein eigenes GM- oder Spielerkonto zu verwenden. Das bietet bessere Sicherheit und Nachvollziehbarkeit.

In FoundryVTT:

  1. Gehe zu KonfigurationBenutzerverwaltung

  2. Klicke auf Benutzer erstellen

  3. Lege einen Benutzernamen (z. B. mcp-api) und ein sicheres Passwort fest

  4. Weise die Rolle Assistent-GM zu (erforderlich, um Weltdaten zu lesen und Würfel zu werfen)

  5. Verwende die Anmeldedaten dieses Kontos in deiner MCP-Konfiguration

Vorteile:

  • Chat-Nachrichten und Aktionen des MCP-Servers werden eindeutig einem separaten Benutzer zugeordnet

  • Du kannst den Zugriff widerrufen, indem du den API-Benutzer deaktivierst, ohne dein eigenes Konto zu beeinträchtigen

  • Begrenzt den Schadensradius, falls Anmeldedaten jemals offengelegt werden

Installation

Direkt ausführen ohne Installation – kein Klonen erforderlich:

bunx foundryvtt-mcp

Oder mit npx:

npx -y foundryvtt-mcp

Client-Konfiguration

Claude Desktop / Claude Code

Füge zu deiner MCP-Konfiguration hinzu (claude_desktop_config.json oder .mcp.json):

{
  "mcpServers": {
    "foundryvtt": {
      "command": "bunx",
      "args": ["foundryvtt-mcp"],
      "env": {
        "FOUNDRY_URL": "http://localhost:30000",
        "FOUNDRY_USERNAME": "your_username",
        "FOUNDRY_PASSWORD": "your_password"
      }
    }
  }
}

VS Code

Füge zu deinen VS-Code-MCP-Einstellungen hinzu:

{
  "servers": {
    "foundryvtt": {
      "command": "bunx",
      "args": ["foundryvtt-mcp"],
      "env": {
        "FOUNDRY_URL": "http://localhost:30000",
        "FOUNDRY_USERNAME": "your_username",
        "FOUNDRY_PASSWORD": "your_password"
      }
    }
  }
}

Entwicklungseinrichtung

Für lokale Entwicklung oder Beiträge:

git clone https://github.com/laurigates/foundryvtt-mcp.git
cd foundryvtt-mcp
bun install
bun run setup-wizard

Der Einrichtungsassistent erkennt deinen FoundryVTT-Server, testet die Konnektivität und generiert deine .env-Konfiguration.

Für manuelle Konfiguration siehe den Konfigurationsleitfaden.

Umgebungsvariablen

Variable

Erforderlich

Beschreibung

FOUNDRY_URL

Ja

FoundryVTT-Server-URL (z. B. http://localhost:30000)

FOUNDRY_USERNAME

Ja

FoundryVTT-Benutzerkonto

FOUNDRY_PASSWORD

Ja

FoundryVTT-Benutzerpasswort

FOUNDRY_USER_ID

Nein

Benutzername-zu-ID-Auflösung umgehen

FOUNDRY_API_KEY

Nein

REST-API-Modulschlüssel (aktiviert Diagnosewerkzeuge)

FOUNDRY_WRITE_ENABLED

Nein

Spielzustandsänderungen aktivieren – true erforderlich für die Schreibwerkzeuge (Standard: false)

LOG_LEVEL

Nein

debug, info, warn oder error (Standard: info)

FOUNDRY_TIMEOUT

Nein

Anforderungs-Timeout in ms (Standard: 10000)

Verwendung

Frage deinen KI-Assistenten zum Beispiel:

  • „Würfle 1d20+5 für einen Angriffswurf“

  • „Zeig mir alle NSCs in dieser Szene“

  • „Wie ist die aktuelle Kampf-Initiative-Reihenfolge?“

  • „Durchsuche die Welt nach allem, was mit Drachen zu tun hat“

  • „Generiere einen zufälligen NSC-Händler“

Verfügbare Werkzeuge

Datenzugriff

  • search_actors – finde Charaktere, NSCs, Monster

  • get_actor_details – detaillierte Charakterinformationen

  • search_items – finde Ausrüstung, Zauber, Verbrauchsmaterialien

  • get_scene_info – Details zur aktuellen Szene

  • search_journals – durchsuche Notizen und Handouts

  • get_journal – rufe einen bestimmten Journaleintrag ab

  • get_users – liste Benutzer, Rollen und Live-Online-Status auf

  • get_combat_state – Kampfzustand und Initiative-Reihenfolge

  • get_chat_messages – letzter Chat-Verlauf

Schreiboperationen (erfordern FOUNDRY_WRITE_ENABLED=true)

Spielzustandsänderungen sind standardmäßig deaktiviert. Sie verwenden das Socket.IO-Protokoll modifyDocument über eine authentifizierte Sitzung, und der verbundene Benutzer benötigt GM-/Besitzer-Berechtigung. Setze FOUNDRY_WRITE_ENABLED=true, um sie zu aktivieren.

  • start_combat – beginne eine neue Begegnung und setze Kämpfer aus Token ein (prüft nicht auf einen bestehenden Kampf – ein Aufruf während eines aktiven Kampfes erstellt eine zweite Begegnung)

  • next_turn – rücke den aktiven Kampf zum nächsten Zug vor (springt zur nächsten Runde)

  • end_combat – beende (lösche) die aktive Kampfbegegnung

  • set_initiative – setze die Initiative eines Kämpfers im aktiven Kampf und verschiebe die Zugmarkierung mit dem handelnden Kämpfer, falls die Neusortierung sie verschiebt

  • move_token – bewege ein Token zu neuen x/y-Koordinaten auf seiner Szene

  • apply_status_effect – wende einen Statuszustand an oder entferne ihn (z. B. liegend, betäubt) auf dem Akteur eines Tokens

  • update_actor_attributes – patche die system-Attribute eines Akteurs (HP, Währung, Zauberplätze, …)

  • create_actor_item – füge einem Akteur ein Inline-Item hinzu

  • update_actor_item – wende einen JSON-Merge-Patch auf ein Item eines Akteurs an

  • delete_actor_item – entferne ein Item von einem Akteur

  • create_journal_entry – erstelle einen Journaleintrag mit einer oder mehreren Textseiten (standardmäßig nur für GM; übergib visibility, um Spielern das Lesen zu ermöglichen)

Welt

  • search_world – Volltextsuche über alle Spielentitäten

  • get_world_summary – Überblick über den aktuellen Weltzustand

  • refresh_world_data – lade Weltdaten aus FoundryVTT neu; erforderlich nach einer unterbrochenen Verbindung, deren verpasste Aktualisierungen nie in den Cache wiedergegeben werden

Spielmechanik

  • roll_dice – würfle Würfel; Würfelterme (NdS) und ganze Zahlen, verbunden mit +/-, wobei nicht unterstützte Notationen (4d6kh3, 1d20r1, *) abgelehnt statt verworfen werden. Klammern sind der einzige Transportunterschied: FoundryVTT wertet sie aus, wenn FOUNDRY_API_KEY gesetzt ist, der lokale Würfler lehnt sie andernfalls ab

  • lookup_ruleStub: gibt einen vorlagenbasierten Platzhalter zurück, konsultiert keine Regelquelle

Inhaltsgenerierung

  • generate_npc – generiere NSC-Text (wird nicht in die Welt geschrieben)

  • generate_loot – generiere Schatztext für eine Stufe (wird nicht in die Welt geschrieben)

Diagnose (erfordert REST-API-Modul)

  • get_recent_logs – rufe gefilterte FoundryVTT-Protokolle ab

  • search_logs – durchsuche Protokolle nach Muster und liste die übereinstimmenden Einträge auf

  • get_system_health – Server-Health-Status mit Versionen, Benutzer-/Modulzahlen, Speicher und Protokollfehlerzahlen (keine CPU- oder Datenträgermetriken)

  • diagnose_errorsStub: gibt eine feste „keine Fehler erkannt“-Zusammenfassung zurück

  • get_health_status – umfassende Health-Diagnose; kennzeichnet die Weltsnapshot, wenn der Cache aufgehört hat, Live-Änderungen zu verfolgen

Verfügbare Ressourcen

  • foundry://actors – alle Akteure in der Welt

  • foundry://items – alle Gegenstände in der Welt

  • foundry://scenes – alle Szenen

  • foundry://scenes/current – aktuelle aktive Szene

  • foundry://journals – alle Journaleinträge

  • foundry://users – Online-Benutzer

  • foundry://combat – aktiver Kampfzustand; combatants sind in Initiative-Reihenfolge, sodass combat.turn sie direkt indiziert

  • foundry://world/settings – Welt- und Kampagneneinstellungen

  • foundry://system/diagnostics – Systemdiagnose (erfordert REST-API-Modul)

Fehlerbehebung

Die Konnektivitäts- und Einrichtungshilfen befinden sich im Quellbaum (nicht im veröffentlichten bin), also führe sie aus einem Entwicklungs-Checkout aus:

git clone https://github.com/laurigates/foundryvtt-mcp.git
cd foundryvtt-mcp && bun install
bun run test-connection   # Probe FoundryVTT connectivity
bun run setup-wizard      # Re-run interactive setup

Ausführlicher Leitfaden: TROUBLESHOOTING.md

Entwicklung

bun run build          # Compile TypeScript and make dist/index.js executable
bun run dev            # Development mode with hot reload
bun test               # Unit tests (Vitest)
bun run test:e2e       # E2E tests (Playwright)
bun run lint           # Lint code (Biome)
bun run smoke          # Startup smoke test against the local build
bun run smoke:pack     # Pack-and-install smoke test (mirrors what npx consumers get)

Siehe Entwicklungsleitfaden für Projektstruktur, Hinzufügen von Werkzeugen, Testen und Erstellen.

Roadmap

Siehe Feature-Tracker für abgeschlossene und geplante Funktionen.

Mitwirken

Siehe CONTRIBUTING.md.

Lizenz

MIT-Lizenz – siehe LICENSE für Details.

Unterstützung

Danksagungen

  • Das FoundryVTT-Team für die hervorragende VTT-Plattform

  • Anthropic für das Model Context Protocol

  • Die Tabletop-Gaming-Community für Inspiration und Feedback

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
5dResponse time
2wRelease cycle
11Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A comprehensive Model Context Protocol server for managing Dungeons & Dragons campaigns with tools for characters, NPCs, locations, quests, combat encounters, and session tracking.
    30
    12
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Integrates with FoundryVTT tabletop gaming sessions, allowing AI assistants to query game data, roll dice, generate content (NPCs, loot, encounters), manage combat, and provide tactical suggestions through natural language.
    12

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

  • Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.

View all MCP Connectors

Latest Blog Posts

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/laurigates/foundryvtt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server