fbdl-mcp
fbdl-mcp
MCP-сервер для FBDL (Facebook Developer Language) от Meta. Позволяет ИИ-агентам создавать, проверять и изучать FBDL-скрипты, используемые в программе Meta по поиску уязвимостей (MMBRC).
Аутентификация не требуется — FBDL является текстовым форматом. Этот сервер работает локально и никогда не взаимодействует с инфраструктурой Meta.
Что он делает
validate_fbdl — Парсинг и проверка FBDL-скриптов. Обнаруживает неизвестные сущности/действия, отсутствующие обязательные параметры, недопустимые значения перечислений, ошибки синтаксиса.
list_entities — Просмотр всех типов сущностей настройки (User, Page, Group, Album, Friendship, Business, App, Event) с их параметрами и примерами.
list_actions — Просмотр всех 70+ действий FBDL с сигнатурами, параметрами и примерами. Фильтрация по имени или категории.
explain_fbdl — Преобразование FBDL-скрипта в пошаговое объяснение на обычном английском языке.
generate_fbdl (prompt) — Шаблон промпта, который предоставляет вызывающей LLM полную грамматику FBDL, чтобы она могла генерировать корректные скрипты на основе естественного языка.
Related MCP server: mcp-meta-marketing
Навыки Claude Code (MCP-сервер не требуется)
Репозиторий включает автономные навыки Claude Code, которые работают без MCP-сервера. Скопируйте каталог .claude/skills/ в любой проект:
cp -r /path/to/fbdl-mcp/.claude/skills/ your-project/.claude/skills/Доступные навыки:
/generate-fbdl— Генерация FBDL-скриптов из естественного языка. Включает полную справочную информацию по грамматике, чтобы Claude мог напрямую создавать корректные скрипты./validate-fbdl— Проверка FBDL-скриптов на соответствие грамматике. Включает полный контрольный список для проверки структуры, сущностей, действий и ссылок.
Эти навыки встраивают всю спецификацию FBDL в качестве контекста промпта — без сервера, без зависимостей, без этапа сборки.
Установка
git clone <repo-url> && cd fbdl-mcp
npm install
npm run buildПроверьте работоспособность:
npm run check # typecheck + lint + format + testsНастройка с Claude Code
Добавьте в конфигурацию MCP Claude Code (~/.claude/settings.json или .claude/settings.json в проекте):
{
"mcpServers": {
"fbdl": {
"command": "node",
"args": ["/absolute/path/to/fbdl-mcp/dist/server.js"]
}
}
}Затем в Claude Code вы можете давать команды, например:
"Generate an FBDL script where two users are friends, one owns a page, the other posts a photo and gets blocked"
"Validate this FBDL script: [setup] User UserOne Page PageOne with {owner: UserOne}"
"What FBDL actions are available for groups?"
Настройка с OpenAI Codex / агентами
Для Codex или любого агента, совместимого с MCP, укажите путь к бинарному файлу сервера:
node /absolute/path/to/fbdl-mcp/dist/server.jsСервер взаимодействует через stdio с использованием протокола MCP. Он предоставляет:
4 инструмента:
validate_fbdl,list_entities,list_actions,explain_fbdl1 ресурс:
fbdl://reference(полная спецификация языка в формате markdown)1 промпт:
generate_fbdl(шаблон промпта для преобразования естественного языка в FBDL)
Фрагмент AGENTS.md
Если ваша агентная платформа использует AGENTS.md для обнаружения инструментов, добавьте:
## 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`Пример рабочего процесса
Агент получает запрос: "Create a test scenario where a page admin blocks a group member"
Агент вызывает
list_entities, чтобы проверить, какая настройка необходимаАгент вызывает
list_actionsс параметромcategory: "block", чтобы найти нужное действиеАгент использует промпт
generate_fbdlдля создания:
[setup] User OwnerOne User MemberOne Page PageOne with {owner: OwnerOne} Group GroupOne with {owner: OwnerOne, privacy: private, members: [MemberOne]}
OwnerOne as PageOne block MemberOneАгент вызывает
validate_fbdlдля проверки корректности скриптаИсследователь вставляет скрипт в платформу MMBRC от Meta
Краткий справочник FBDL
Блок настройки
[setup] Type Label [with {key: value, ...}] [Type Label ...]Типы сущностей: User, Page, Group, Album, Friendship, Business, App, Event
Строки действий
Subject [as VoiceSwitcher] action_name Label [with {key: value, ...}]Переключатель голоса (as) позволяет пользователю действовать от имени страницы, которой он владеет.
Правила
Все сущности должны быть созданы в блоке настройки перед использованием в действиях
Блок настройки — это одна строка, начинающаяся с
[setup]Каждое действие записывается с новой строки
Метки (Labels) должны быть в формате PascalCase и быть уникальными
Разработка
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 aboveСтруктура проекта
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 deployed
Maintenance
Related MCP Connectors
Official DevSpeak MCP server — translate technical text into formal specs from any AI IDE or agent
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceUnofficial MCP server implementation for Facebook Business API. Enables LLMs to manage ad campaigns and ads via natural language.2MIT
- FlicenseAqualityDmaintenanceMCP server that wraps the Meta Marketing API (Graph API v25.0) as semantic tools for LLM agents.181-
- AlicenseNot gradedqualityDmaintenanceMulti-language SAST and AI-powered fuzzing MCP server for Claude Code integration, enabling static and dynamic security analysis of code.MIT
- FlicenseAqualityCmaintenanceMCP server that wraps Meta's Messenger Platform, Instagram Messaging, and comment moderation APIs as semantic tools for LLM agents to read inbox, reply, and moderate comments.16-