fbdl-mcp
fbdl-mcp
用于 Meta FBDL(Facebook 开发语言)的 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 (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 设置
添加到您的 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服务器通过 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`工作流示例
代理收到:“创建一个测试场景,其中页面管理员屏蔽了一名群组成员”
代理调用
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以验证脚本是否正确研究人员将脚本粘贴到 Meta 的 MMBRC 平台中
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]开头每个操作占一行
标签必须为 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-