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 문법을 제공하여 자연어로부터 유효한 스크립트를 생성할 수 있도록 하는 프롬프트 템플릿입니다.
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 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