Skip to main content
Glama
lmtNoLimit

mcp-facebook

by lmtNoLimit

@m8lab/mcp-facebook

npm version CI License: MIT

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)

Related MCP server: io.github.anthonyjbolo/mcp-fb-publisher

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

  1. Go to Meta for Developers and create or open an App.

  2. Under Use Cases, add Pages and request the following permissions:

    • pages_manage_posts — create, schedule, delete posts

    • pages_read_engagement — read posts and comments

    • pages_manage_engagement — reply to and hide comments

    • pages_read_user_content — read comments

    • read_insights — access Page analytics

  3. 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.

  4. 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_posts and 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 dev

Copy .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.js

License

MIT — see LICENSE

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lmtNoLimit/mcp-facebook'

If you have feedback or need assistance with the MCP directory API, please join our Discord server