trackmcp
Back to directory
Livia-Zaharia

just_facebook_mcp

View on GitHub

Facebook MCP server for automating posts, comment moderation, insights, and sentiment filtering.

10 stars PythonOthers Updated Aug 14, 2026

Documentation

Just_Facebook MCP Server

PyPI version
PyPI downloads
Python versions
License

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

ToolDescription
`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:

bash
curl -LsSf https://astral.sh/uv/install.sh | sh

2. Clone the Repository

3. ๐Ÿ› ๏ธ Install Dependencies

Use the uv tool with pyproject.toml:

bash
# Install all dependencies and create a virtual environment
uv sync

# For development (includes testing and linting tools)
uv sync --dev

4. Set Up Environment

Create a .env file in the root directory and add your Facebook Page credentials:

env
FACEBOOK_ACCESS_TOKEN=your_facebook_page_access_token
FACEBOOK_PAGE_ID=your_page_id

Getting 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 TypeLifespanUse Case
Short-lived User Token1-2 hoursTesting only
Long-lived User Token60 daysDevelopment
Short-lived Page Token1-2 hoursTesting only
Long-lived Page Token60 daysRecommended for MCP
System User TokenNo 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):

bash
uv run python scripts/refresh_facebook_token.py

This 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:

bash
# 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

bash
# 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:

json
{
  "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)

json
{
  "mcpServers": {
    "just_facebook_mcp": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/just_facebook_mcp-server",
        "just_facebook_mcp"
      ]
    }
  }
}

Option 2: Using Python module

json
{
  "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

json
{
  "mcpServers": {
    "just_facebook_mcp": {
      "command": "just_facebook_mcp"
    }
  }
}

Replace `/absolute/path/to/just_facebook_mcp-server` with your actual project path.

๐Ÿ”ง Development

Running Tests

bash
uv run pytest

Code Formatting

bash
uv run black .

Type Checking

bash
uv run mypy .

Install Development Dependencies

bash
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

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP