@m8lab/mcp-facebook
v1.0.0
Published
MCP server for Facebook Pages — create posts, manage comments, get insights via Claude Code/Desktop
Maintainers
Readme
@m8lab/mcp-facebook
MCP server for Facebook Pages — create posts, manage comments, and get insights via Claude Code/Desktop. Uses the Facebook Graph API v25.0 directly with no Facebook SDK dependency.
Requirements
- Node.js >= 18.0.0
- Facebook Page Access Token with the required permissions (see Setup)
Install
Claude Code
Add to your project's .mcp.json:
{
"mcpServers": {
"facebook": {
"command": "npx",
"args": ["-y", "@m8lab/mcp-facebook"],
"env": {
"FACEBOOK_PAGE_ID": "your_page_id",
"FACEBOOK_PAGE_ACCESS_TOKEN": "your_page_access_token"
}
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"facebook": {
"command": "npx",
"args": ["-y", "@m8lab/mcp-facebook"],
"env": {
"FACEBOOK_PAGE_ID": "your_page_id",
"FACEBOOK_PAGE_ACCESS_TOKEN": "your_page_access_token"
}
}
}
}Available Tools
| Tool | Description |
|---|---|
| facebook_create_post | Publish an immediate post (text, link, picture) |
| facebook_schedule_post | Schedule a post 10 min–6 months in the future |
| facebook_delete_post | Permanently delete a post by ID |
| facebook_get_posts | List recent Page feed posts (up to 100) |
| facebook_get_comments | List comments on a specific post (up to 100) |
| facebook_reply_comment | Reply to an existing comment |
| facebook_hide_comment | Hide or unhide a comment |
| facebook_get_insights | Retrieve Page-level analytics (views, fans, engagement) |
Environment Variables
| Variable | Description |
|---|---|
| FACEBOOK_PAGE_ID | Numeric ID of your Facebook Page (e.g. 123456789012345) |
| FACEBOOK_PAGE_ACCESS_TOKEN | Long-lived Page Access Token with the required permissions |
How to Get Your Page Access Token
- Go to Meta for Developers and create or open an App.
- Under Use Cases, add Pages and request the following permissions:
pages_manage_posts— create, schedule, delete postspages_read_engagement— read posts and commentspages_manage_engagement— reply to and hide commentspages_read_user_content— read commentsread_insights— access Page analytics
- In the Graph API Explorer:
- Select your App and your Page under User or Page.
- Click Generate Access Token and approve all required permissions.
- Use the token expander in Access Token Debugger to convert it to a long-lived token (~60 days) or generate a never-expiring System User token via Business Manager.
- Your Page ID is the number in your Page's About section or visible in the Graph API Explorer dropdown.
App Review Note: For a live app serving users other than yourself and your test users, Facebook requires App Review for
pages_manage_postsand related permissions. During development you can use the token for your own pages without review.
Development
# Clone the repo
git clone https://github.com/lmtNoLimit/mcp-facebook.git
cd mcp-facebook
# Install dependencies
npm install
# Type check
npm run typecheck
# Build
npm run build
# Watch mode
npm run devCopy .env.example to .env and fill in your credentials to run locally:
cp .env.example .env
# Edit .env with your FACEBOOK_PAGE_ID and FACEBOOK_PAGE_ACCESS_TOKEN
node dist/index.jsLicense
MIT — see LICENSE
