was-fb-mcp
Exposes 10 tools to manage Facebook Pages, Posts, Comments, Ad Accounts, Campaigns, Insights, and execute any raw Graph API request from AI coding assistants.
README
Facebook / Meta MCP Server (was-fb-mcp)
Shareable Facebook & Meta Graph API Model Context Protocol (MCP) server. Exposes 10 powerful tools to manage Facebook Pages, Posts, Comments, Ad Accounts, Campaigns, Insights, and execute any raw Graph API request from your favorite AI coding assistant (Claude Desktop, Cursor, Google Antigravity, VS Code, Zed).
Prerequisites
- Node.js 18+
- A Facebook / Meta Account & Meta Developer App
- A Facebook User Access Token or Page Access Token (generated via Meta for Developers Graph API Explorer)
Quick Start — 3 Steps
Step 1 — Get credentials
- Go to Meta for Developers — Graph API Explorer.
- Select your App and click Generate Access Token.
- Grant permissions such as
pages_show_list,pages_read_engagement,pages_manage_posts,ads_read,read_insights.
Step 2 — Connect
Run the interactive setup command in your terminal:
npx -y github:was-member-keramat/was-fb-mcp auth
Paste your Access Token when prompted. Credentials will be securely saved locally to ~/.was-fb-mcp/config.json with restricted file permissions (0600).
Step 3 — Add to your AI Client
Add the following 4 lines to your AI tool's MCP configuration (claude_desktop_config.json, mcp_config.json, etc.):
{
"mcpServers": {
"Facebook MCP": {
"command": "npx",
"args": ["-y", "github:was-member-keramat/was-fb-mcp"]
}
}
}
What you can ask the AI
Here are example prompts you can use with your AI assistant:
- Discovery: "List all Facebook Pages I manage."
- Content Creation: "Publish a new post to my Page with ID
100123456saying 'Hello World!'." - Feed & Comments: "Show the latest 10 posts on my Page feed and list the comments on the top post."
- Interaction: "Reply to comment ID
987654321with 'Thank you for your feedback!'." - Ads Management: "List my Meta Ad Accounts and show active campaigns in
act_123456789." - Analytics: "Get post engagement insights for Page
100123456." - Universal Access: "Use
fb_apito GETv19.0/me/photos."
All Tools (10 Total)
| Category | Tool | Description |
|---|---|---|
| Account | fb_get_me |
Get details of authenticated user / token owner |
| Pages | fb_list_pages |
List Facebook Pages managed by user |
| Feed & Posts | fb_create_post |
Publish a post on a Facebook Page feed |
| Feed & Posts | fb_get_page_feed |
Fetch recent posts from a Page feed |
| Comments | fb_get_post_comments |
Get comments on a Facebook post |
| Comments | fb_reply_comment |
Post a comment or reply to a post/comment |
| Meta Ads | fb_list_ad_accounts |
List accessible Meta Ad accounts |
| Meta Ads | fb_list_campaigns |
List ad campaigns in an Ad Account |
| Analytics | fb_get_insights |
Fetch metrics/insights for Page or Ad Account |
| Universal | fb_api |
Execute raw GET/POST/DELETE Graph API calls |
CLI Commands
# Connect / re-connect credentials
npx -y github:was-member-keramat/was-fb-mcp auth
# Check saved configuration status
npx -y github:was-member-keramat/was-fb-mcp status
# Delete saved credentials
npx -y github:was-member-keramat/was-fb-mcp logout
# View CLI usage help
npx -y github:was-member-keramat/was-fb-mcp help
Multi-Account Setup
You can bypass the local config file by passing environment variables in your AI client config:
{
"mcpServers": {
"Facebook Account A": {
"command": "npx",
"args": ["-y", "github:was-member-keramat/was-fb-mcp"],
"env": {
"FB_ACCESS_TOKEN": "EAAX..."
}
},
"Facebook Account B": {
"command": "npx",
"args": ["-y", "github:was-member-keramat/was-fb-mcp"],
"env": {
"FB_ACCESS_TOKEN": "EAAY..."
}
}
}
}
Troubleshooting
Windows PowerShell Script Execution Error
If you see:
File C:\...\npx.ps1 cannot be loaded because running scripts is disabled
Run in PowerShell:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Force Update / Clear npx Cache on Windows
If npx is serving cached old versions:
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\npm-cache" -ErrorAction SilentlyContinue
npm cache clean --force
Graph API Error Response
If a tool call returns an error, the MCP decodes Meta Graph API's exact error structure (code, error_subcode, fbtrace_id) so the AI assistant can fix permissions or parameters immediately.
License
MIT © 2026 WAS.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.