facebook-mcp
CommunityMCP server by IvanBBaev · updated · ★ 2
Facebook Pages MCP server for the Meta Graph API — publishing, insights, moderation, messaging facebook-mcp is a community project by IvanBBaev, not verified by a company domain.
Last commit 7 days ago
MIT: permissive, fine for commercial use
Clear description, published package or server URL, original repository
Not checked yet. What we check
What you need
| Setting | Needed | What it is |
|---|---|---|
FB_SYSTEM_TOKENEnvironment variable, secret | Optional | System-user access token (Business Manager). Takes precedence over FB_ACCESS_TOKEN and FB_PAGE_TOKEN when several are set. |
FB_ACCESS_TOKENEnvironment variable, secret | Optional | Primary user access token. At least one of FB_SYSTEM_TOKEN, FB_ACCESS_TOKEN or FB_PAGE_TOKEN must be set. |
FB_PAGE_TOKENEnvironment variable, secret | Optional | Long-lived Page access token used as a fallback credential when no user or system-user token is configured. |
FB_APP_IDEnvironment variable | Optional | Meta app ID; combined with FB_APP_SECRET it forms the app access token used to authorize /debug_token inspection. |
FB_APP_SECRETEnvironment variable, secret | Optional | Meta app secret. When set, appsecret_proof is attached to every call so a stolen bare token cannot be used on its own. |
FB_PAGE_IDEnvironment variable | Optional | Default Facebook Page ID, used when a tool call omits an explicit profile argument. |
FB_API_VERSIONEnvironment variable | Optional | Graph API version to target. Defaults to the tested pinned version; other values are accepted verbatim as an escape hatch but are not tested. Default: v23.0 |
FB_REQUEST_TIMEOUT_MSEnvironment variable | Optional | Per-request timeout in milliseconds; integer in [1, 600000]. Default: 60000 |
FB_HOST_CONCURRENCYEnvironment variable | Optional | Maximum number of in-flight requests per Graph host; integer in [1, 64]. Default: 4 |
FB_MAX_RESULT_CHARSEnvironment variable | Optional | Character budget applied by the result shaper before a tool result is truncated; integer in [500, 10000000]. Default: 25000 |
FB_WRITE_MODEEnvironment variable | Optional | Write gating mode: plan (validating dry-run preview, the default) or apply. It never covers the irreversible and spend tiers, which always need a per-call apply plus a plan_id. Default: plan |
FB_CONFIRM_TOKENEnvironment variable, secret | Optional | Operator confirmation token for out-of-band approval of irreversible or spend actions. The server prompts through MCP elicitation where the client supports it; otherwise the caller passes this value as the confirm_token tool argument. |
FB_MEDIA_DIREnvironment variable | Optional | Directory permitted for local media uploads. Unset means URL-only uploads and no local file access at all. |
FB_JOURNAL_PATHEnvironment variable | Optional | Path to the append-only write journal. Defaults to the XDG/%APPDATA% state path; the file is created owner-only (0600) and rotates by size. |
FB_TOOL_PACKAGESEnvironment variable | Optional | Comma-separated tool packages or profiles to expose (e.g. core,posts,reader, or the profiles core|all|reader|publisher|moderator|ads). Omit for the default profile, which excludes ads. |
FB_PACKAGES_DENYEnvironment variable | Optional | Comma-separated packages to exclude even when FB_TOOL_PACKAGES enables them. Deny wins over allow. |
FB_PACKAGES_READONLYEnvironment variable | Optional | Comma-separated packages whose write tools are not registered at all; the read tools of those packages stay available. |
FB_TRANSPORTEnvironment variable | Optional | Transport protocol: stdio (default) or http. The http transport binds 127.0.0.1 only and fails closed without FB_HTTP_TOKEN. Default: stdio |
FB_HTTP_TOKENEnvironment variable, secret | Optional | Bearer token guarding the HTTP transport; required when FB_TRANSPORT=http (the server refuses to start without it). |
FB_HTTP_PORTEnvironment variable | Optional | Port for the HTTP transport (loopback only); used when FB_TRANSPORT=http. Integer in [1, 65535]. Default: 3000 |
From the publisher's entry in the official MCP Registry. Required settings are already in the install config below as placeholders.
Install facebook-mcp
Built from the published package, never by AIclaude mcp add facebook-mcp -- npx -y @ivanbaev/facebook-mcpRun in your terminal. Add --scope user to use it in every project.
{
"mcpServers": {
"facebook-mcp": {
"command": "npx",
"args": [
"-y",
"@ivanbaev/facebook-mcp"
]
}
}
}Settings, Developer, Edit config. Paste into claude_desktop_config.json and restart.
{
"mcpServers": {
"facebook-mcp": {
"command": "npx",
"args": [
"-y",
"@ivanbaev/facebook-mcp"
]
}
}
}Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project).
{
"servers": {
"facebook-mcp": {
"command": "npx",
"args": [
"-y",
"@ivanbaev/facebook-mcp"
]
}
}
}Add to .vscode/mcp.json. VS Code uses "servers", not "mcpServers".
codex mcp add facebook-mcp -- npx -y @ivanbaev/facebook-mcp{
"mcpServers": {
"facebook-mcp": {
"command": "npx",
"args": [
"-y",
"@ivanbaev/facebook-mcp"
]
}
}
}Add to ~/.gemini/config/mcp_config.json (all projects) or .agents/mcp_config.json (this project).
gemini mcp add facebook-mcp npx -y @ivanbaev/facebook-mcpGemini CLI was replaced by Antigravity CLI in June 2026 and remains only for enterprise licences and paid API keys.
MCP servers run with your permissions and can read what you give them access to. Some need an API key: check the README and add it under env in the facebook-mcp block.
Alternatives to facebook-mcp
All alternatives →Official Model Context Protocol server for Plunk — send email, manage contacts, campaigns and segments from an AI agent
MCP server for searching and fetching 6,500+ brand SVGs from thesvg.org
Turn long videos into viral vertical shorts and publish them to TikTok, Instagram and YouTube.
Social intelligence for 10 networks: read posts and trends, monitor brand mentions, then create.
Managed TikTok/Instagram/YouTube accounts + video posting at scale, operated by human managers.
Google Ads, Reddit Ads, GA4 and Tag Manager in your AI client, with a preview before every change.
facebook-mcp: common questions
How do I install facebook-mcp?
In Claude Code run claude mcp add facebook-mcp -- npx -y @ivanbaev/facebook-mcp. For Claude Desktop, Cursor and VS Code, paste the config shown above and restart. See the install guides.
Is facebook-mcp the official server?
facebook-mcp is a community project by IvanBBaev, not verified by a company domain.
Is facebook-mcp free?
The code is published under the MIT licence. The service it connects to may have its own pricing.
Is facebook-mcp safe to use?
It scores 45 of 100. Grades: maintenance A, licence A, quality C. The security check has not run for it yet. Review the code before you install. How grades work.
What are alternatives to facebook-mcp?
Similar MCP servers: Plunk MCP, Thesvg MCP Server, openshorts, Nooticr.
Does facebook-mcp work with ChatGPT?
Not directly. It runs locally, and ChatGPT only connects to remote servers with a URL. Use it in Claude Code, Claude Desktop, Cursor, VS Code or Codex.
