fbdl-mcp
fbdl-mcp
Meta의 FBDL(Facebook Developer Language)을 위한 MCP 서버입니다. AI 에이전트가 Meta의 버그 바운티 프로그램(MMBRC)에서 사용되는 FBDL 스크립트를 생성, 검증 및 탐색할 수 있도록 합니다.
인증이 필요하지 않습니다 -- FBDL은 텍스트 형식입니다. 이 서버는 로컬에서 실행되며 Meta의 인프라와 통신하지 않습니다.
기능
validate_fbdl -- FBDL 스크립트를 파싱하고 검증합니다. 알 수 없는 엔티티/액션, 누락된 필수 파라미터, 잘못된 열거형 값, 잘못된 구문을 찾아냅니다.
list_entities -- 모든 설정 엔티티 유형(User, Page, Group, Album, Friendship, Business, App, Event)을 파라미터 및 예시와 함께 탐색합니다.
list_actions -- 70개 이상의 모든 FBDL 액션을 시그니처, 파라미터 및 예시와 함께 탐색합니다. 이름이나 카테고리별로 필터링할 수 있습니다.
explain_fbdl -- FBDL 스크립트를 평이한 영어로 된 단계별 설명으로 변환합니다.
generate_fbdl (프롬프트) -- 호출하는 LLM에게 전체 FBDL 문법을 제공하여 자연어로부터 유효한 스크립트를 생성할 수 있도록 하는 프롬프트 템플릿입니다.
Related MCP server: mcp-meta-marketing
Claude Code 스킬 (MCP 서버 불필요)
이 저장소에는 MCP 서버 없이 작동하는 독립형 Claude Code 스킬이 포함되어 있습니다. .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 + testsClaude Code 설정
Claude Code MCP 설정(~/.claude/settings.json 또는 프로젝트 .claude/settings.json)에 추가하세요:
{
"mcpServers": {
"fbdl": {
"command": "node",
"args": ["/absolute/path/to/fbdl-mcp/dist/server.js"]
}
}
}그런 다음 Claude Code에서 다음과 같이 말할 수 있습니다:
"두 사용자가 친구이고, 한 명이 페이지를 소유하며, 다른 한 명이 사진을 게시하고 차단당하는 FBDL 스크립트를 생성해줘"
"이 FBDL 스크립트를 검증해줘: [setup] User UserOne Page PageOne with {owner: UserOne}"
"그룹에 사용할 수 있는 FBDL 액션은 무엇인가요?"
OpenAI Codex / 에이전트 설정
Codex나 MCP 호환 에이전트의 경우, 서버 바이너리를 가리키도록 설정하세요:
node /absolute/path/to/fbdl-mcp/dist/server.js서버는 MCP 프로토콜을 사용하여 stdio를 통해 통신합니다. 다음을 노출합니다:
4개의 도구:
validate_fbdl,list_entities,list_actions,explain_fbdl1개의 리소스:
fbdl://reference(마크다운 형식의 전체 언어 사양)1개의 프롬프트:
generate_fbdl(NL-to-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`워크플로우 예시
에이전트가 다음을 수신합니다: "페이지 관리자가 그룹 멤버를 차단하는 테스트 시나리오를 생성해줘"
에이전트가
list_entities를 호출하여 어떤 설정이 필요한지 확인합니다.에이전트가
category: "block"과 함께list_actions를 호출하여 올바른 액션을 찾습니다.에이전트가
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을 호출하여 스크립트가 올바른지 확인합니다.연구원이 스크립트를 Meta의 MMBRC 플랫폼에 붙여넣습니다.
FBDL 빠른 참조
Setup 블록
[setup] Type Label [with {key: value, ...}] [Type Label ...]엔티티 유형: User, Page, Group, Album, Friendship, Business, App, Event
Action 라인
Subject [as VoiceSwitcher] action_name Label [with {key: value, ...}]보이스 스위처(as)를 사용하면 사용자가 자신이 소유한 페이지로 행동할 수 있습니다.
규칙
모든 엔티티는 액션에서 사용하기 전에 setup에서 생성되어야 합니다.
setup 블록은
[setup]으로 시작하는 한 줄이어야 합니다.각 액션은 별도의 줄에 작성해야 합니다.
라벨은 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-