just_facebook_mcp
Facebook MCP server for automating posts, comment moderation, insights, and sentiment filtering.
Documentation
Just_Facebook MCP Server
This project is a Model Context Protocol (MCP) server for automating and managing interactions on a Facebook Page using the Facebook Graph API. It provides tools to create posts, moderate comments, fetch post insights, and filter negative feedback โ ready to plug into Claude or any other LLM-based agent.
> Originally developed from `@HagaiHen/facebook-mcp-server`, this version is intended for packaging and distribution via PyPI.
๐ค What Is This?
This MCP provides a suite of AI-callable tools that connect directly to a Facebook Page, abstracting common API operations as LLM-friendly functions.
โ Benefits
- Empowers social media managers to automate moderation and analytics.
- Seamlessly integrates with any Agent client.
- Enables fine-grained control over Facebook content from natural language.
๐ฆ Features
| Tool | Description |
|---|---|
| `post_to_facebook` | Create a new Facebook post with a message. |
| `reply_to_comment` | Reply to a specific comment on a post. |
| `get_page_posts` | Retrieve recent posts from the Page. |
| `get_post_comments` | Fetch comments on a given post. |
| `delete_post` | Delete a specific post by ID. |
| `delete_comment` | Delete a specific comment by ID. |
| `delete_comment_from_post` | Alias for deleting a comment from a specific post. |
| `filter_negative_comments` | Filter out comments with negative sentiment keywords. |
| `get_number_of_comments` | Count the number of comments on a post. |
| `get_number_of_likes` | Count the number of likes on a post. |
| `get_post_impressions` | Get total impressions on a post. |
| `get_post_impressions_unique` | Get number of unique users who saw the post. |
| `get_post_impressions_paid` | Get number of paid impressions on the post. |
| `get_post_impressions_organic` | Get number of organic impressions on the post. |
| `get_post_engaged_users` | Get number of users who engaged with the post. |
| `get_post_clicks` | Get number of clicks on the post. |
| `get_post_reactions_like_total` | Get total number of 'Like' reactions. |
| `get_post_top_commenters` | Get the top commenters on a post. |
| `post_image_to_facebook` | Post an image with a caption to the Facebook page. |
| `send_dm_to_user` | Send a direct message to a user. |
| `update_post` | Updates an existing post's message. |
| `schedule_post` | Schedule a post for future publication. |
| `get_page_fan_count` | Retrieve the total number of Page fans. |
| `get_post_share_count` | Get the number of shares on a post. |
๐ Setup & Installation
1. Prerequisites
This project requires Python 3.10+ and uv (a fast Python package manager).
To install `uv`, run:
curl -LsSf https://astral.sh/uv/install.sh | sh2. Clone the Repository
3. ๐ ๏ธ Install Dependencies
Use the uv tool with pyproject.toml:
# Install all dependencies and create a virtual environment
uv sync
# For development (includes testing and linting tools)
uv sync --dev4. Set Up Environment
Create a .env file in the root directory and add your Facebook Page credentials:
FACEBOOK_ACCESS_TOKEN=your_facebook_page_access_token
FACEBOOK_PAGE_ID=your_page_idGetting Your Facebook Credentials
1. Log into Facebook for Developers
2. Choose Developer as your use case.
3. Create a new app.
4. In the app dashboard, go to Customize Use Case and select all options.
5. Navigate to Tools โ Graph API Explorer.
6. First create a User Access Token โ make sure to:
*Select all required permissions
*Associate it with your app
7. Then generate a Page Access Token (this will inherit the permissions).
8. Save the Page Access Token and use it in the .env file.
To find your Page ID:
Go to your Facebook Page โ About โ Scroll down to view the ID
โฐ Important: Facebook API Token Limitations
Facebook access tokens have limited lifespans and will expire, causing API calls to fail. Understanding these limitations is crucial for maintaining your MCP server.
Token Types & Lifespans:
| Token Type | Lifespan | Use Case |
|---|---|---|
| Short-lived User Token | 1-2 hours | Testing only |
| Long-lived User Token | 60 days | Development |
| Short-lived Page Token | 1-2 hours | Testing only |
| Long-lived Page Token | 60 days | Recommended for MCP |
| System User Token | No expiration* | Production apps |
When Tokens Expire:
- โ All MCP tools will return `OAuthException` errors
- โ Error message: "Session has expired"
- โ Error codes: 190 (expired token) or 463 (session expired)
Automatic Token Refresh:
We provide a script to easily generate long-lived tokens (60 days):
uv run python scripts/refresh_facebook_token.pyThis script will:
- โ Guide you through token generation
- โ Exchange short-lived for long-lived tokens
- โ Update your `.env` file automatically
- โ Validate the new token
Best Practices:
- ๐ Refresh tokens every 50 days to avoid expiration
- ๐ Set calendar reminders for token renewal
- ๐ค Use long-lived Page tokens for development
- ๐ข Consider System User tokens for production
Troubleshooting Token Issues:
# Check if your token is expired
uv run python -c "
from just_facebook_mcp.manager import Manager
manager = Manager()
try:
result = manager.get_page_fan_count()
print('โ
Token is working')
except Exception as e:
print(f'โ Token error: {e}')
"5. ๐โโ๏ธ Running the Server
# Option 1: Using the script entry point (recommended)
uv run just_facebook_mcp
# Option 2: Run the Python module directly
uv run python -m just_facebook_mcp.server
# Option 3: Activate virtual environment first
source .venv/bin/activate
python -m just_facebook_mcp.server๐งฉ Using with Claude Desktop
To integrate with Claude Desktop:
1. Open Claude Desktop
2. Go to Settings โ Developer โ Edit Config
Fast setup with uvx
You can use the MCP server without local installing with uvx:
Add the following to your MCP configuration:
{
"mcpServers": {
"just_facebook_mcp": {
"command": "uvx",
"args": [
"just_facebook_mcp"
],
"env": {
"FACEBOOK_ACCESS_TOKEN": "",
"FACEBOOK_PAGE_ID": ""
}
}
}
}Development local setup:
If you already git-cloned the MCP server you can configure it locally.
Add the following to your MCP configuration:
Option 1: Using the package entry point (recommended)
{
"mcpServers": {
"just_facebook_mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/just_facebook_mcp-server",
"just_facebook_mcp"
]
}
}
}Option 2: Using Python module
{
"mcpServers": {
"just_facebook_mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/just_facebook_mcp-server",
"python",
"-m",
"just_facebook_mcp.server"
]
}
}
}Option 3: If installed via pip
{
"mcpServers": {
"just_facebook_mcp": {
"command": "just_facebook_mcp"
}
}
}Replace `/absolute/path/to/just_facebook_mcp-server` with your actual project path.
๐ง Development
Running Tests
uv run pytestCode Formatting
uv run black .Type Checking
uv run mypy .Install Development Dependencies
uv sync --devโ You're Ready to Go!
Your Facebook MCP server is now configured and ready to power Claude Desktop! You can:
โจ Create posts through natural language
๐ Get analytics and insights
๐ฌ Moderate comments automatically
๐ฏ Schedule content
๐ Track engagement metrics
๐ค Contributing
Contributions, issues, and feature requests are welcome!
๐ License
This project is licensed under the MIT License.
See the LICENSE file for details.
Frequently asked questions
What is just_facebook_mcp?
just_facebook_mcp is Facebook MCP server for automating posts, comment moderation, insights, and sentiment filtering.
How do I install just_facebook_mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is just_facebook_mcp open source?
Yes โ it is hosted on GitHub at https://github.com/Livia-Zaharia/just_facebook_mcp and has 10 stars.
Related MCP tools
Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.
Automate browser based workflows with AI
Hindsight: Agent Memory That Learns
A privacy-first app that strips AI watermarks from content you own.
Agent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc.
The power of Claude Code / GeminiCLI / CodexCLI + [Gemini / OpenAI / OpenRouter / Azure / Grok / Ollama / Custom Model / All Of The Above] working as one.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP