fbdl-mcp
fbdl-mcp
MCP-Server für Metas FBDL (Facebook Developer Language). Ermöglicht es KI-Agenten, FBDL-Skripte, die im Bug-Bounty-Programm von Meta (MMBRC) verwendet werden, zu generieren, zu validieren und zu erkunden.
Keine Authentifizierung erforderlich – FBDL ist ein Textformat. Dieser Server läuft lokal und kommuniziert niemals mit der Infrastruktur von Meta.
Was es tut
validate_fbdl -- Analysiert und validiert FBDL-Skripte. Erkennt unbekannte Entitäten/Aktionen, fehlende erforderliche Parameter, ungültige Enum-Werte und fehlerhafte Syntax.
list_entities -- Durchsuchen Sie alle Setup-Entitätstypen (User, Page, Group, Album, Friendship, Business, App, Event) mit ihren Parametern und Beispielen.
list_actions -- Durchsuchen Sie alle über 70 FBDL-Aktionen mit Signaturen, Parametern und Beispielen. Filtern Sie nach Name oder Kategorie.
explain_fbdl -- Wandelt ein FBDL-Skript in eine leicht verständliche Schritt-für-Schritt-Erklärung um.
generate_fbdl (prompt) -- Prompt-Vorlage, die dem aufrufenden LLM die vollständige FBDL-Grammatik zur Verfügung stellt, damit es gültige Skripte aus natürlicher Sprache generieren kann.
Claude Code Skills (kein MCP-Server erforderlich)
Das Repository enthält eigenständige Claude Code Skills, die ohne den MCP-Server funktionieren. Kopieren Sie das Verzeichnis .claude/skills/ in ein beliebiges Projekt:
cp -r /path/to/fbdl-mcp/.claude/skills/ your-project/.claude/skills/Verfügbare Skills:
/generate-fbdl-- Generiert FBDL-Skripte aus natürlicher Sprache. Bettet die vollständige Grammatikreferenz ein, damit Claude direkt gültige Skripte erstellen kann./validate-fbdl-- Validiert FBDL-Skripte anhand der Grammatik. Enthält eine vollständige Checkliste für Struktur-, Entitäts-, Aktions- und Referenzprüfungen.
Diese Skills betten die gesamte FBDL-Spezifikation als Prompt-Kontext ein – kein Server, keine Abhängigkeiten, kein Build-Schritt.
Installation
git clone <repo-url> && cd fbdl-mcp
npm install
npm run buildÜberprüfen Sie, ob alles funktioniert:
npm run check # typecheck + lint + format + testsEinrichtung mit Claude Code
Fügen Sie dies zu Ihrer Claude Code MCP-Konfiguration hinzu (~/.claude/settings.json oder Projekt-.claude/settings.json):
{
"mcpServers": {
"fbdl": {
"command": "node",
"args": ["/absolute/path/to/fbdl-mcp/dist/server.js"]
}
}
}Dann können Sie in Claude Code Dinge sagen wie:
"Generiere ein FBDL-Skript, in dem zwei Benutzer befreundet sind, einer eine Seite besitzt, der andere ein Foto postet und blockiert wird"
"Validiere dieses FBDL-Skript: [setup] User UserOne Page PageOne with {owner: UserOne}"
"Welche FBDL-Aktionen sind für Gruppen verfügbar?"
Einrichtung mit OpenAI Codex / Agenten
Für Codex oder jeden MCP-kompatiblen Agenten verweisen Sie auf das Server-Binary:
node /absolute/path/to/fbdl-mcp/dist/server.jsDer Server kommuniziert über stdio unter Verwendung des MCP-Protokolls. Er stellt bereit:
4 Tools:
validate_fbdl,list_entities,list_actions,explain_fbdl1 Ressource:
fbdl://reference(vollständige Sprachspezifikation als Markdown)1 Prompt:
generate_fbdl(NL-zu-FBDL-Prompt-Vorlage)
AGENTS.md-Snippet
Wenn Ihr Agent-Framework AGENTS.md für die Tool-Erkennung verwendet, fügen Sie hinzu:
## FBDL MCP Server
Tools for working with Meta's FBDL (Facebook Developer Language) scripts:
- Use `validate_fbdl` after generating a script to check it for errors
- Use `list_entities` and `list_actions` to discover available FBDL constructs
- Use `explain_fbdl` to understand what an existing script does
- Use the `generate_fbdl` prompt to produce scripts from natural language
The server runs on stdio. Start with: `node /path/to/fbdl-mcp/dist/server.js`Beispiel-Workflow
Der Agent erhält: "Erstelle ein Testszenario, in dem ein Seitenadministrator ein Gruppenmitglied blockiert"
Der Agent ruft
list_entitiesauf, um zu prüfen, welches Setup erforderlich istDer Agent ruft
list_actionsmitcategory: "block"auf, um die richtige Aktion zu findenDer Agent verwendet die
generate_fbdl-Vorlage, um Folgendes zu erstellen:
[setup] User OwnerOne User MemberOne Page PageOne with {owner: OwnerOne} Group GroupOne with {owner: OwnerOne, privacy: private, members: [MemberOne]}
OwnerOne as PageOne block MemberOneDer Agent ruft
validate_fbdlauf, um zu überprüfen, ob das Skript korrekt istDer Forscher fügt das Skript in die MMBRC-Plattform von Meta ein
FBDL-Kurzreferenz
Setup-Block
[setup] Type Label [with {key: value, ...}] [Type Label ...]Entitätstypen: User, Page, Group, Album, Friendship, Business, App, Event
Aktionszeilen
Subject [as VoiceSwitcher] action_name Label [with {key: value, ...}]Der Voice-Switcher (as) ermöglicht es einem Benutzer, als eine Seite zu agieren, die er besitzt.
Regeln
Alle Entitäten müssen vor der Verwendung in Aktionen im Setup erstellt werden
Der Setup-Block ist eine einzelne Zeile, die mit
[setup]beginntJede Aktion steht in einer eigenen Zeile
Labels sind PascalCase und müssen eindeutig sein
Entwicklung
npm run build # compile TypeScript
npm run test # run tests
npm run lint # eslint with strict TypeScript rules
npm run format # prettier
npm run check # all of the aboveProjektstruktur
src/
schema.ts # FBDL language spec as typed data (entities + actions)
validator.ts # FBDL script parser and validator
server.ts # MCP server (tools, resources, prompts)
__tests__/
schema.test.ts # Schema integrity tests
validator.test.ts # Validator correctness tests
server.test.ts # MCP tool integration testsThis server cannot be installed
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
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/GangGreenTemperTatum/fbdl-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server