FoundryVTT MCP Server
FoundryVTT MCP Server
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-Ressourcen –
foundry://-URIs für direkten DatenzugriffDiagnose – 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:
Gehe zu Konfiguration → Benutzerverwaltung
Klicke auf Benutzer erstellen
Lege einen Benutzernamen (z. B.
mcp-api) und ein sicheres Passwort festWeise die Rolle Assistent-GM zu (erforderlich, um Weltdaten zu lesen und Würfel zu werfen)
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-mcpOder mit npx:
npx -y foundryvtt-mcpClient-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-wizardDer 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 |
| Ja | FoundryVTT-Server-URL (z. B. |
| Ja | FoundryVTT-Benutzerkonto |
| Ja | FoundryVTT-Benutzerpasswort |
| Nein | Benutzername-zu-ID-Auflösung umgehen |
| Nein | REST-API-Modulschlüssel (aktiviert Diagnosewerkzeuge) |
| Nein | Spielzustandsänderungen aktivieren – |
| Nein |
|
| Nein | Anforderungs-Timeout in ms (Standard: |
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, Monsterget_actor_details– detaillierte Charakterinformationensearch_items– finde Ausrüstung, Zauber, Verbrauchsmaterialienget_scene_info– Details zur aktuellen Szenesearch_journals– durchsuche Notizen und Handoutsget_journal– rufe einen bestimmten Journaleintrag abget_users– liste Benutzer, Rollen und Live-Online-Status aufget_combat_state– Kampfzustand und Initiative-Reihenfolgeget_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 Kampfbegegnungset_initiative– setze die Initiative eines Kämpfers im aktiven Kampf und verschiebe die Zugmarkierung mit dem handelnden Kämpfer, falls die Neusortierung sie verschiebtmove_token– bewege ein Token zu neuen x/y-Koordinaten auf seiner Szeneapply_status_effect– wende einen Statuszustand an oder entferne ihn (z. B. liegend, betäubt) auf dem Akteur eines Tokensupdate_actor_attributes– patche diesystem-Attribute eines Akteurs (HP, Währung, Zauberplätze, …)create_actor_item– füge einem Akteur ein Inline-Item hinzuupdate_actor_item– wende einen JSON-Merge-Patch auf ein Item eines Akteurs andelete_actor_item– entferne ein Item von einem Akteurcreate_journal_entry– erstelle einen Journaleintrag mit einer oder mehreren Textseiten (standardmäßig nur für GM; übergibvisibility, um Spielern das Lesen zu ermöglichen)
Welt
search_world– Volltextsuche über alle Spielentitätenget_world_summary– Überblick über den aktuellen Weltzustandrefresh_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, wennFOUNDRY_API_KEYgesetzt ist, der lokale Würfler lehnt sie andernfalls ablookup_rule– Stub: 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 absearch_logs– durchsuche Protokolle nach Muster und liste die übereinstimmenden Einträge aufget_system_health– Server-Health-Status mit Versionen, Benutzer-/Modulzahlen, Speicher und Protokollfehlerzahlen (keine CPU- oder Datenträgermetriken)diagnose_errors– Stub: gibt eine feste „keine Fehler erkannt“-Zusammenfassung zurückget_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 Weltfoundry://items– alle Gegenstände in der Weltfoundry://scenes– alle Szenenfoundry://scenes/current– aktuelle aktive Szenefoundry://journals– alle Journaleinträgefoundry://users– Online-Benutzerfoundry://combat– aktiver Kampfzustand;combatantssind in Initiative-Reihenfolge, sodasscombat.turnsie direkt indiziertfoundry://world/settings– Welt- und Kampagneneinstellungenfoundry://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 setupAusfü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
Probleme: GitHub Issues
Discord: FoundryVTT Discord #api-development
Dokumentation: FoundryVTT API
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
This server cannot be installed
Maintenance
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
- AlicenseBqualityDmaintenanceA comprehensive Model Context Protocol server for managing Dungeons & Dragons campaigns with tools for characters, NPCs, locations, quests, combat encounters, and session tracking.3012MIT
- FlicenseNot gradedqualityNot gradedmaintenanceIntegrates 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
- AlicenseAqualityCmaintenanceAn immersive Role-Playing Game server built on the Model Context Protocol for interactive storytelling with AI assistants like Claude.74515MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides random dice rolling capabilities for AI assistants.
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.
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/laurigates/foundryvtt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server