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: Facebook MCP Server

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

Available Tools

8 tools
facebook_create_postA

Create and publish an immediate post on the Facebook Page. Supports text, link, and picture attachments.

ParametersJSON Schema
NameRequiredDescriptionDefault
linkNoOptional URL to attach to the post
messageYesThe text content of the post
pictureNoOptional image URL to attach to the post

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose the meaningful trait that publishing happens immediately (a public, hard-to-reverse side effect) versus scheduling, but says nothing about required Page permissions, rate limits, or whether the post can be retracted afterward.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, both earning their place, with the core purpose and immediate-publish constraint front-loaded before the attachment list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a small 3-parameter tool with no output schema and no annotations, the essentials are present, but the description omits auth expectations and what a successful publish yields (e.g., a post ID), which an agent would benefit from knowing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents message, link, and picture. The description's mention of 'text, link, and picture attachments' merely restates those fields without adding format or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (create/publish) and resource (post on the Facebook Page) plus the supported content types. The word 'immediate' implicitly separates it from the scheduler sibling, but no sibling is named explicitly, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'immediate' hints that this is the non-scheduled path versus facebook_schedule_post, but the description never states when to choose this over that sibling or what prerequisites apply. No exclusions or alternatives are spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_delete_postA

Permanently delete a post from the Facebook Page by its post ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe Facebook post ID to delete (e.g. '123456789012345_987654321098765')

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It discloses the critical destructive behavior ('Permanently delete'), which is valuable, but does not cover permissions required, rate limits, or what happens to related data (e.g., comments). This is a gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently communicates the tool's purpose without any wasted words. It is appropriately sized for a simple, single-parameter deletion operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a deletion tool with no annotations and no output schema, the description is minimal but adequate on core function. It omits important behavioral details like required permissions, irreversible side effects beyond deletion, and potential error conditions, leaving contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the lone parameter fully documented in the schema including an example format. The description adds no additional meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (delete), resource (a post), scope (from the Facebook Page), and identifier (post ID). It clearly distinguishes itself from sibling tools like facebook_create_post and facebook_get_posts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage only through the word 'Permanently' but provides no explicit guidance on when to use this delete tool versus other operations. It lacks context on prerequisites, permissions, or conditions, leaving usage to be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_get_commentsA

Retrieve comments on a specific Facebook post. Returns comment ID, message, author name, and creation time.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of comments to return (1–100, default 25)
post_idYesThe Facebook post ID to fetch comments for

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does disclose the return shape (comment ID, message, author name, creation time), which is genuinely useful given no output schema, but it says nothing about authorization requirements, pagination beyond the limit param, or whether the call is read-only/rate-limited.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and resource, followed by the return fields. Every clause carries information; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with no output schema, the description covers purpose and return fields adequately. It could be slightly richer on pagination/auth behavior, but nothing essential for calling it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — both post_id and limit are documented in the schema itself. The description adds no syntax, format, or defaulting detail beyond what the schema already provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Retrieve) and resource (comments on a specific Facebook post), so an agent can distinguish it from facebook_get_posts and facebook_reply_comment. It does not explicitly name a sibling to differentiate against, keeping it just below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The stated purpose implies when it applies (fetching comments for a given post), but there is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives such as facebook_get_posts or how it relates to facebook_reply_comment/hide_comment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_get_insightsB

Retrieve Page-level analytics insights from Facebook. Choose a metric, aggregation period, and optional date preset.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricNoThe insight metric to retrieve. Default: page_views_total. Deprecated metrics like impressions are excluded.page_views_total
periodNoAggregation period: day, week, days_28, month, or lifetime. Default: day.day
date_presetNoOptional date preset (e.g. 'last_week', 'this_month'). Overrides since/until if provided.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'Retrieve' implies a read, but it says nothing about required page/account context, access-token scope, rate limits, pagination, or what 'lifetime' does to the response. For a tool with zero annotation coverage this is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action and followed by the configurable inputs. No filler, no repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-param read tool with full enum coverage this is minimally adequate, but with no output schema and no annotations the description leaves the return shape and any call prerequisites unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all three enum parameters are documented with defaults and value meanings (including the note that deprecated metrics like impressions are excluded). The description only restates the parameter names generically, adding nothing the schema does not already provide, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Retrieve Page-level analytics insights from Facebook,' and enumerates the three configurable knobs. It is unmistakably distinct from the sibling set (all post/comment operations), though it does not name them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Choose a metric, aggregation period, and optional date preset' implies how to use the tool but gives no when-to-use condition, no prerequisites, and no exclusions. The usage context is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_get_postsB

Retrieve recent posts from the Facebook Page feed. Returns post ID, message, creation time, and story.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of posts to return (1–100, default 10)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not state that this is a read-only operation, whether it requires Page auth/permissions, how pagination works, or how 'recent' and ordering are determined. Returning field names is the only behavioral detail offered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and scope, with the return payload listed second. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-param read tool, the description covers purpose and enumerates the returned fields, partially compensating for the absent output schema. Only pagination/ordering behavior is left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'limit' has 100% schema description coverage (1–100, default 10), so the schema already documents it fully. The description adds nothing about the parameter, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb + resource ('Retrieve recent posts from the Facebook Page feed') and enumerates the returned fields. It is clear, but it does not explicitly distinguish itself from siblings like facebook_get_comments or facebook_get_insights, which are also read/retrieval tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or reference to alternatives. The agent must infer that this is the read-only feed-listing tool purely from the name and purpose sentence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_hide_commentB

Hide or unhide a comment on a Facebook Page post. Hidden comments are still visible to the commenter but not to others.

ParametersJSON Schema
NameRequiredDescriptionDefault
hideYesSet to true to hide the comment, false to unhide it
comment_idYesThe comment ID to hide or unhide

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does add real behavioral value by explaining the hidden-state semantics ('still visible to the commenter but not to others'). However, it omits permission requirements, any rate/scope limits, and what happens on failure for an already-hidden comment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and followed by the one piece of consequential context. Nothing is wasted and no filler is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter toggle with no output schema, the description covers the action and the visibility side-effect well. It lacks any note on required permissions or authentication, which is the main remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are documented in the schema ('hide' as a boolean toggle, 'comment_id' as the target). The description adds no further parameter detail, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb pair and resource ('Hide or unhide a comment on a Facebook Page post'), making the operation immediately clear. It distinguishes itself implicitly from siblings like facebook_reply_comment and facebook_delete_post, but names no sibling explicitly to route the agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this over alternatives (e.g., delete vs hide vs reply), nor any prerequisites such as page-admin permissions or moderation context. The agent must infer all usage conditions from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_reply_commentC

Reply to an existing comment on a Facebook post by posting a sub-comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe reply message text
comment_idYesThe comment ID to reply to

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden and largely fails it. It does not state permission/auth requirements, whether the reply is publicly visible, whether it is reversible or deletable, or error behavior for an invalid comment_id — all relevant for a write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence with no filler, and the mutation and target resource are front-loaded. It is appropriately sized for a two-parameter tool, though extremely terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-required-parameter write with full schema coverage and no output schema, the description is minimally adequate. The absence of annotations means the behavior (auth, visibility, reversibility) should have been covered in text and is not, leaving a real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both comment_id and message are documented in the schema, so the description cannot add much. It maps correctly to the two parameters but contributes no format, ID-shape, or length constraints beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (reply) and resource (an existing comment / sub-comment on a Facebook post), which is unambiguous on its own. However, it does not name or distinguish itself from siblings like facebook_get_comments or facebook_hide_comment, so an agent must infer the boundary between replying and other comment operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'an existing comment' weakly implies a prerequisite, but there is no explicit when-to-use guidance, no mention of alternatives such as facebook_get_comments for reading, and no exclusions. The agent gets no routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

facebook_schedule_postB

Schedule a Facebook Page post for a future time. The scheduled_time must be between 10 minutes and 6 months from now (ISO 8601 format).

ParametersJSON Schema
NameRequiredDescriptionDefault
linkNoOptional URL to attach to the post
messageYesThe text content of the post to schedule
scheduled_timeYesISO 8601 datetime string for when to publish (e.g. 2026-04-01T14:00:00Z). Must be 10 min to 6 months from now.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It restates the 10-minute-to-6-month window (already in the schema) but discloses nothing about required permissions, whether the scheduled post can later be edited or cancelled, rate limits, or what is returned. For a mutation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core action front-loaded and the key constraint immediately after. No filler; every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate at minimum: the action and the critical scheduling window are covered, and params are fully documented by the schema with no output schema to explain. However, for a write operation with no annotations, the description omits permissions, editability/cancellation, and success response behavior, leaving meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented in the schema, including the ISO 8601 example and the time-window constraint. The description merely repeats the scheduled_time constraint and adds no syntax or format detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Schedule) and resource (Facebook Page post) with a clear temporal scope. The 'schedule for a future time' framing implicitly distinguishes it from the sibling facebook_create_post, but does not name or contrast the alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'for a future time' hints at when this tool applies over immediate publishing. No explicit when-to-use, when-not-to-use, or reference to facebook_create_post as the alternative for immediate posts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv1.0.0
    • First observedfacebook_create_post
    • First observedfacebook_delete_post
    • First observedfacebook_get_comments
    • First observedfacebook_get_insights
    • First observedfacebook_get_posts
    • First observedfacebook_hide_comment
    • First observedfacebook_reply_comment
    • First observedfacebook_schedule_post

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct resource and action: post CRUD, comment interactions, and insights. The boundaries between immediate posting (facebook_create_post) and scheduling (facebook_schedule_post) are clearly described, leaving no room for misselection.

Naming Consistency5/5

All tool names follow the consistent facebook_verb_noun pattern in snake_case (e.g., facebook_get_posts, facebook_create_post, facebook_reply_comment). Verb choices are predictable and resource nouns are clear.

Tool Count5/5

Eight tools is a well-scoped set for a Facebook Page management server. Each tool serves a unique purpose, and there is no redundant or bloat functionality.

Completeness4/5

The toolset covers core post operations (create, read, schedule, delete), comment management (read, reply, hide), and insights retrieval. However, missing post editing/update and comment deletion are minor gaps that agents can work around.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server implementation that provides Facebook Page interaction and management capabilities. This server enables automated posting, comment moderation, and content retrieval.
    7
    75
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for interacting with Facebook Messenger API, enabling message sending, receiving, and management through natural language.
    2
    -
  • A
    license
    A
    quality
    A
    maintenance
    A TypeScript MCP server for the Meta Graph API focused on Facebook Pages, enabling publishing, reading, insights, and moderation tasks.
    30
    42 npm
    1
    MIT