Facebook页面管理工具

一个基于TypeScript的MCP服务器,用于通过Facebook Graph API自动化和管理Facebook页面的交互,包括发布、评论管理、分析、参与跟踪、视频/Reels/故事发布等功能。

  • by 2b3pro
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 2b3pro/facebook-mcp-cli

使用说明

Facebook MCP服务器和CLI工具

灵感来自 HagaiHen/facebook-mcp-服务器 --用TypeScript重写 多页管理 通过a FACEBOOK_ASSETS JSON配置。来源: 2b3pro/facebook微信客户端

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-cli

2.安装依赖项

需要 包子 运行时:

bun install

3.设置环境

创建一个 .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.