
Facebook Publisher
Wraps the Meta Graph API to let Claude publish to Facebook Pages with guardrails baked in. You get four tools: publish (with optional scheduling), pre-publish validation, anti-duplicate checking via Jaccard similarity over word n-grams, and AI image generation through OpenAI or fal.ai. The validator runs offline and checks against per-page config (banned topics, image requirements, brand voice notes, lookback windows). Built to handle multi-page scenarios where you need different rules per brand and can't afford silent token expiry or accidentally posting the same angle twice in two weeks. All validation is pure Python, so you can run it in CI without API credentials.
- tools
- 4
- auth
- Secret needed
- transport
- STDIO
- env vars
- 5
- last updated
- May 9, 2026
Tools
4 toolsPublic tool metadata for what this MCP can expose to an agent.
fb_publish_postPublishes (or schedules) a post on a configured page. Runs full validation by default; pass `skip_validation=True` to bypass.
Publishes (or schedules) a post on a configured page. Runs full validation by default; pass `skip_validation=True` to bypass.
No parameter schema in public metadata yet.
fb_validate_pre_publishDry-run all guardrails. Returns `verdict: go|block` plus per-check details. Network-optional.
Dry-run all guardrails. Returns `verdict: go|block` plus per-check details. Network-optional.
No parameter schema in public metadata yet.
fb_anti_duplicate_checkCompares a candidate message against the page's recent posts using Jaccard similarity over word 4-grams.
Compares a candidate message against the page's recent posts using Jaccard similarity over word 4-grams.
No parameter schema in public metadata yet.
fb_generate_post_with_imageGenerates an image via OpenAI (`gpt-image-1`) or fal.ai (`flux-pro`) and returns a URL ready for `fb_publish_post`.
Generates an image via OpenAI (`gpt-image-1`) or fal.ai (`flux-pro`) and returns a URL ready for `fb_publish_post`.
No parameter schema in public metadata yet.
Sponsors
Configuration
META_USER_TOKEN*secretLong-lived Meta Graph API user or page token. Required for publishing.
MCP_FB_PUBLISHER_CONFIGAbsolute path to your config.yaml (per-page brand voices, banned topics, image policy).
MCP_FB_PUBLISHER_CONFIG_JSONInline JSON config (alternative to file path, useful for serverless deploys).
OPENAI_API_KEYsecretOpenAI API key for image generation via gpt-image-1 (optional).
FAL_KEYsecretfal.ai API key for image generation via Flux Pro (optional).
Readme
mcp-fb-publisher
An MCP server that lets Claude (or any MCP-compatible LLM) safely publish posts to multiple Facebook Pages through the Meta Graph API, with built-in guardrails: brand-voice config, banned-topic blocklists, image-required enforcement, and anti-duplication checks across recent feed posts.
Why this exists
Letting an LLM agent post directly to your Facebook Pages is a footgun unless you put guardrails in front. Common failure modes I have hit running 5+ pages:
Details
- Repository
- github.com/anthonyjbolo/mcp-fb-publisher
- Website
- github.com/anthonyjbolo/mcp-fb-publisher
- Package
mcp-fb-publisher- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active