Facebook MCP服务器和CLI工具
A. TypeScript MCP服务器 用于使用Facebook Graph API自动化和管理Facebook页面上的交互。公开53个用于发布、评论审核、分析、参与跟踪、视频/视频/故事发布、幻灯片、交叉发布和A/B测试的工具,随时可以插入Claude Desktop或其他基于LLM的代理。包括一个用于直接shell访问的独立CLI。
______________________________________________________________________
这是什么?
该MCP提供了一套可直接连接到Facebook页面的AI调用工具,将常见的API操作抽象为LLM友好功能。
好处
- 赋能 社交媒体经理 自动化审核和分析。
- 无缝集成 Claude Desktop或任何与MCP兼容的代理.
- 允许从自然语言对Facebook内容进行细粒度控制。
- 独立CLI (
cli/fbcli.ts)用于直接shell脚本编写和自动化。
______________________________________________________________________
特性
所有工具(除 list_pages)采取 page_name 作为第一个参数——目标页面的slug样式标识符(例如。 "mybusiness").
| 工具 | 说明 |
|---|---|
list_pages | 列出所有已配置的Facebook页面(否 page_name 需要参数)。 |
post_to_facebook | 创建一个带有消息的新Facebook帖子。 |
reply_to_comment | 回复帖子中的具体评论。 |
get_page_posts | 从页面检索最近的帖子。 |
get_post_comments | 获取给定帖子的评论。 |
delete_post | 按ID删除特定帖子 |
delete_comment | 按ID删除特定评论 |
hide_comment | 在公共视图中隐藏评论。 |
unhide_comment | 取消隐藏以前隐藏的评论。 |
delete_comment_from_post | 别名,用于删除特定帖子中的评论。 |
filter_negative_comments | 过滤掉带有负面情绪关键字的评论。 |
get_number_of_comments | 统计一篇帖子的评论数量。 |
get_number_of_likes | 统计帖子上的赞数。 |
get_post_insights | 获取帖子的所有见解指标。 |
get_post_impressions | 获取帖子的总印象。 |
get_post_impressions_unique | 获取看到该帖子的唯一用户数。 |
get_post_impressions_paid | 获取帖子的付费展示次数。 |
get_post_impressions_organic | 获取帖子上的自然印象数量。 |
get_post_engaged_users | 获取参与该帖子的用户数量。 |
get_post_clicks | 获取帖子的点击次数。 |
get_post_reactions_like_total | 获取“赞”反应的总数。 |
get_post_reactions_love_total | 获取“爱”反应的总数。 |
get_post_reactions_wow_total | 获取“哇”反应的总数。 |
get_post_reactions_haha_total | 获取“哈哈”反应的总数。 |
get_post_reactions_sorry_total | 获取“抱歉”反应的总数。 |
get_post_reactions_anger_total | 获取“愤怒”反应的总数。 |
get_post_top_commenters | 获取帖子中的顶级评论者。 |
post_image_to_facebook | 在Facebook页面上发布一张带有标题的图片。 |
send_dm_to_user | 向用户发送直接消息。 |
update_post | 更新现有帖子的消息。 |
schedule_post | 安排一篇文章以供将来发表。 |
get_page_fan_count | 检索页面粉丝的总数。 |
get_post_share_count | 获取帖子中的股份数量。 |
get_post_reactions_breakdown | 在一次通话中获取帖子的所有反应计数。 |
bulk_delete_comments | 按ID删除多条评论 |
bulk_hide_comments | 按ID隐藏多条评论 |
| 视频和卷轴 | |
publish_reel | 上传并发布卷轴(3步上传流程)。 |
list_reels | 列表已发布Reels on the Page。 |
get_video_status | 上传后检查视频处理状态。 |
publish_video | 将视频发布到页面提要。 |
| 故事 | |
publish_video_story | 发布视频故事(3步上传流程)。 |
publish_photo_story | 发布照片故事(两步上传流程)。 |
list_stories | 列出页面故事。 |
| 幻灯片 | |
create_slideshow | 从3-7张图片创建幻灯片视频。 |
| 音乐 | |
get_music_recommendations | 获取视频/卷轴的音乐推荐。 |
| 交叉张贴 | |
crosspost_video | 将视频交叉发布到另一个页面。 |
enable_crossposting | 启用视频交叉播放到特定页面。 |
crosspost_eligible_pages | 有资格进行交叉发布的列表页面。 |
check_crosspost_eligibility | 检查视频是否可以交叉发布。 |
| A/B测试 | |
create_ab_test | 为视频变体创建A/B测试。 |
get_ab_test | 获取A/B测试结果。 |
list_ab_tests | 在页面上列出所有A/B测试。 |
delete_ab_test | 删除A/B测试。 |
______________________________________________________________________
设置和安装
1.克隆存储库
git clone https://github.com/2b3pro/facebook-mcp-cli.git
cd facebook-mcp-cli2.安装依赖项
需要 包子 运行时:
bun install3.设置环境
创建一个 .env 项目根目录中的文件 FACEBOOK_ASSETS JSON数组:
FACEBOOK_ASSETS='[{"fb_page_id":"123456","page_name":"mybusiness","display_name":"My Business Page","page_access_token":"EAA..."},{"fb_page_id":"789012","page_name":"sideproject","display_name":"Side Project","page_access_token":"EAA..."}]'每个条目都需要:
| 字段 | 描述 |
|---|---|
fb_page_id | Facebook页面ID |
page_name | Slug标识符(小写,无空格)——在所有工具中用作第一个参数 |
display_name | 人类可读标签 |
page_access_token | 来自的页面访问令牌 图形API资源管理器 |
4.运行MCP服务器
bun run src/server.ts______________________________________________________________________
与Claude Desktop一起使用
将以下内容添加到您的Claude Desktop配置中(~/.claude.json 在...之下 mcpServers):
"facebook-mcp": {
"command": "bun",
"args": ["run", "/path/to/facebook-mcp-cli/src/server.ts"],
"env": {
"FACEBOOK_ASSETS": "[{\"fb_page_id\":\"123\",\"page_name\":\"mypage\",\"display_name\":\"My Page\",\"page_access_token\":\"EAA...\"}]"
}
}______________________________________________________________________
命令行界面
独立CLI可在以下网址获得 cli/fbcli.ts 用于直接访问所有相同的shell操作。看 cli/README.md 获取完整文档。
bun run cli/fbcli.ts --help
bun run cli/fbcli.ts pages
bun run cli/fbcli.ts posts mybusiness支持接受文本内容或ID列表的命令 stdin管道 --省略参数和管道输入:
cat draft.txt | fbcli post mybusiness
echo "Thanks!" | fbcli reply mybusiness 123_456
fbcli comments mybusiness 123_456 | jq -r '.data[].id' | fbcli bulk-hide mybusiness______________________________________________________________________
建筑
MCP服务器(src/)
src/server.ts → src/api.ts → Facebook Graph API
(MCP tools) (HTTP wrapper)
↑
src/config.ts
(env + types)- src/config.ts —
PageAsset接口,env加载,API基本URL - src/api.ts —
graphApi(),ruploadApi(),resumableUpload(),graphApiBatch()HTTP包装器 - src/server.ts --所有53个MCP工具通过
@modelcontextprotocol/sdk
CLI(cli/)
独立的单文件CLI位于 cli/fbcli.ts.独立于MCP服务器--读取它自己的 .env.
