Skip to main content
Glama

Facebook Facebook Group Posts

social_facebook_group_posts
Read-only

Fetches posts from a public Facebook group, limited to 3 posts per page due to API limitations. Each post includes id, text, url, reactionCount, commentCount, publishTime, videoDetails, and topComments. Results are chronological by default. Supports TOP_POSTS, RECENT_ACTIVITY, CHRONOLOGICAL, and CHRONOLOGICAL_LISTINGS with cursor-based pagination. posts[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. shared_post_id and shared_post_url identify the immediate post being shared when Facebook exposes it; both are nullable strings and are null when the reference is unavailable. Null does not prove the post is not a share. Existing id, post_id, and url values remain unchanged. The original is not automatically fetched, and these fields add no additional upstream requests. Call /v1/facebook/post with shared_post_url separately to retrieve the original's available media. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Facebook Group Posts API View Pricing Get public Facebook group posts, with shared_post_id and shared_post_url when exposed. Facebook limits results to 3 per page. 1 credit per request Fetches posts from a public Facebook group, limited to 3 posts per page due to API limitations. Each post includes id, text, url, reactionCount, commentCount, publishTime, videoDetails, and topComments. Results are chronological by default. Supports TOP_POSTS, RECENT_ACTIVITY, CHRONOLOGICAL, and CHRONOLOGICAL_LISTINGS with cursor-based pagination. posts[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. shared_post_id and shared_post_url identify the immediate post being shared when Facebook exposes it; both are nullable strings and are null when the reference is unavailable. Null does not prove the post is not a share. Existing id, post_id, and url values remain unchanged. The original is not automatically fetched, and these fields add no additional upstream requests. Call /v1/facebook/post with shared_post_url separately to retrieve the original's available media.

Input Schema

NameRequiredDescriptionDefault
urlNoThe URL of the group
cursorNoThe cursor to paginate to the next page
sort_byNoHow to sort the posts. Defaults to CHRONOLOGICAL.
group_idNoThe ID of the group

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/non-destructive, and the description adds genuinely useful behavior: the 3-post-per-page API cap, cursor pagination, a minimum 10-credit cost with the warning that repeated requests may purchase data again, and the rule that these fields cause no extra upstream requests. That is strong disclosure, though it is diluted by duplicated boilerplate and by a large block of null-semantics text that is really about return values.

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

Conciseness2/5

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

The core sentence is front-loaded, but the entire description appears twice and is interleaved with marketing boilerplate ('API View Pricing Get public Facebook Group Posts... 1 credit per request') and an extended field-by-field null-semantics lecture. Substantial trimming would lose no invocation-relevant information.

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?

With no output schema, the description does a serviceable job of enumerating returned fields, pagination and cost. The notable gap is invocation-critical: with zero required parameters, the agent is never told that a group url or group_id must be provided, nor what happens if both or neither are passed.

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 url, cursor, sort_by and group_id are already documented in the schema, making 3 the baseline. The description adds only a little: it restates the four sort modes and cursor-based pagination but never clarifies whether url or group_id (or both) must be supplied, despite required being empty.

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 first sentence states a specific verb and resource: fetch posts from a public Facebook group, with the 3-per-page constraint spelled out. It does not name or differentiate against near-siblings like social_facebook_group, social_facebook_profile_posts, or social_facebook_post, which keeps it from 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 context is implied (public group posts, chronological by default, cursor pagination) and one explicit follow-up route is given: call /v1/facebook/post with shared_post_url to retrieve the original's media. However, there is no guidance on when to pick this over the sibling group/profile post tools, and no statement of prerequisites such as needing a public group URL.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.