📢 Facebook发帖工具(MCP)
这个项目是一个使用FastMCP构建的模型连接过程(MCP)工具,它允许您通过Facebook Graph API直接将帖子、图片和视频发布到您的Facebook页面。
它提供了一个简洁且易于自动化的接口,用于通过编程方式发布内容——非常适合机器人、内容调度器或集成的营销工作流程。
🧩 特性/功能
🔐 使用用户访问令牌获取你的Facebook页面访问令牌
📝 在Facebook页面上发布短信
🖼️ 发布带有文字说明的图片
🎥 发布带有描述的视频
⚙️ 作为MCP微服务运行,使用streamable-http,端口为8013
🏗️ 项目结构 脸书发帖工具/ │ ├── facebook_post_tool.py # 主MCP应用程序(此脚本) ├── requirements.txt # Python 依赖项 └── README.md # 文档(此文件)
⚙️ 先决条件
在使用该工具之前,请确保您已具备:
一个Facebook开发者账号 — https://developers.facebook.com
一个与您的页面相连的Facebook应用
一个具有以下权限的用户访问令牌:
页面管理帖子
页面阅读参与度
页面显示列表
页面管理元数据
您的页面ID(来自页面的“关于”部分或Graph API)
🔧 安装
克隆此存储库
克隆仓库:https://github.com/yourusername/facebook_post_tool.git 进入 facebook_post_tool 目录
创建一个虚拟环境(可选,但建议)
\python -m venv venv\ 翻译成中文是:“使用 Python 的 venv 模块创建一个名为 venv 的虚拟环境” source venv/bin/activate # macOS/Linux(注:此命令在macOS和Linux系统中用于激活虚拟环境) venv\\Scripts\\activate # Windows(在Windows系统中激活虚拟环境)
安装所需的依赖项
使用pip安装fastmcp和requests库
🧠 工作原理
该工具提供了四个关键的MCP功能(工具):
工具名称 描述 参数 获取页面访问令牌 使用用户访问令牌 USER_ACCESS_TOKEN 和页面ID PAGE_ID 来检索页面访问令牌 \post_message\ 将一条文本消息发布到页面 \PAGE_ID\,需要 \page_token\ 和 \message\ 将图片和标题发布到页面PAGE_ID,参数包括page_token(页面令牌)、image_url(图片URL)、caption(标题) 发布视频到页面PAGE_ID,附带描述,使用页面令牌page_token,视频URL为video_url,描述为description 🧾 示例用法 1️⃣ 启动MCP服务器 运行 python facebook_post_tool.py 脚本
服务器将在以下位置运行:
http://0.0.0.0:8013(该网址在中文语境下通常直接保留原样,表示访问本地主机的8013端口,无需翻译)
2️⃣ 获取页面访问令牌 从 fastmcp 导入 call_tool
page_token = 调用工具("get_page_token", 参数={ "USER_ACCESS_TOKEN": "您的用户令牌", "PAGE_ID": "您的页面ID" }) 打印(page_token)
3️⃣ 发送一条短信 response = 调用工具("post_message", 参数={ "PAGE_ID": "您的页面ID", "page_token": "您的页面令牌",, "message": "你好,Facebook!🚀" }) 打印响应(或:输出响应)
4️⃣ 发布图片 response = call_tool("post_image", args={ "PAGE_ID": "您的页面ID", "page_token": "您的页面令牌", "image_url": "https://example.com/image.jpg"(翻译为中文可表述为:“图片链接”:“https://example.com/image.jpg”), “标题”:“新品发布!🎉” }) 打印响应(或:输出响应)
5️⃣ 发布视频 response = call_tool("post_video", args={ "PAGE_ID": "您的页面ID", "page_token": "您的页面令牌",, "video_url": "https://example.com/video.mp4", "描述":"观看我们最新的演示视频📽️" }) 打印响应(或:输出响应)
⚙️ 示例 .gitignore 文件
你应该保护令牌和凭据的私密性。 添加一个 .gitignore 文件,内容如下:
Python 缓存
pycache(在中文中通常不直接翻译,但可以解释为):Python 缓存文件目录/ \*.pyc(Python 编译字节码文件)
虚拟环境
venv/(虚拟环境目录,通常用于Python项目的独立环境设置)
秘密
\.env\ 是一个文件名,通常用于表示一个包含环境变量的配置文件,在中文中可以翻译为“环境变量配置文件”或简单地称为“环境配置文件”。这个文件通常用于存储应用程序运行所需的环境变量,如数据库连接信息、API密钥等,以便在不同的环境中灵活配置和管理 \_.token 翻译为中文可以是“令牌(或令牌字符串)”,具体翻译可能根据上下文有所不同,但基本意思是指用于身份验证或授权的一个标识符或字符串 .log(日志文件)
编辑器/操作系统文件
.vscode/(可翻译为)“.vscode文件夹/” 或 “Visual Studio Code配置文件夹/” .idea/ .DS_Store
🧑💻 作者
Daney(人名,音译) 软件工程专业学生及开发者 💼 核心关注:自动化 • API 集成 • 云开发
