Skip to main content
Glama
Livia-Zaharia

Just Facebook MCP Server

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.1

  • Disambiguation3/5

    Most tools have distinct purposes, but there is notable overlap between delete_comment and delete_comment_from_post, which could cause confusion. Additionally, many get_post_* tools for reactions and impressions have similar structures but target different metrics, which might lead to misselection if the agent doesn't carefully read descriptions.

    Naming Consistency4/5

    The naming follows a consistent verb_noun pattern (e.g., delete_comment, get_post_comments, post_to_facebook) with only minor deviations like filter_negative_comments (which uses a verb-adjective-noun structure) and send_dm_to_user (which includes an abbreviation). Overall, it's highly readable and predictable.

    Tool Count3/5

    With 30 tools, the count feels heavy for a Facebook Page management server, especially given the redundancy in some areas (e.g., multiple reaction-specific tools). While it covers many features, it could be streamlined without losing functionality, making it borderline excessive for typical agent use.

    Completeness5/5

    The tool set provides comprehensive coverage for Facebook Page management, including CRUD operations for posts and comments, engagement metrics (likes, reactions, impressions), scheduling, messaging, and sentiment analysis. There are no obvious gaps, and agents can handle full workflows from posting to analytics.

  • Average 3/5 across 30 of 30 tools scored. Lowest: 2.4/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • 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 mentions 'basic negative sentiment' but doesn't disclose behavioral traits like how sentiment is determined, whether it's read-only or modifies data, error handling, or performance aspects. The description is minimal and leaves key operational details unspecified.

    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?

    The description is very concise with three short sentences, front-loaded with the main purpose. There's no wasted text, but it borders on under-specification. Each sentence serves a purpose: stating the action, input, and output, though more detail could improve clarity without sacrificing brevity.

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

    Completeness2/5

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

    Given the complexity of sentiment analysis, no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on how negative sentiment is defined, the format of input/output, error cases, and integration with sibling tools. For a tool with one parameter but nested objects and no structured support, this is inadequate.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It states 'Input: comments (dict)' and 'Output: list of flagged negative comments', adding some meaning by specifying the input type and output format. However, it doesn't explain the structure of the 'comments' dict or what 'flagged' entails, leaving parameters largely undocumented.

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

    Purpose3/5

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

    The description states the tool 'Filter comments for basic negative sentiment' which provides a clear verb ('filter') and resource ('comments'), but it's vague about what constitutes 'basic negative sentiment' and doesn't distinguish from sibling tools like 'get_post_comments' or 'reply_to_comment'. The purpose is understandable but lacks specificity about the filtering mechanism.

    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?

    No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing comments data from another tool, or compare it to siblings like 'get_post_comments' for retrieval or 'delete_comment' for removal. The description implies usage for sentiment filtering but offers no context on timing or exclusions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden. It states the tool deletes a comment, implying a destructive mutation, but doesn't disclose behavioral traits like whether deletion is permanent, requires specific permissions, has rate limits, or what 'alias' means operationally. The output mention is minimal ('dict with deletion result') but lacks detail on format or error handling.

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

    Conciseness3/5

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

    The description is brief with three sentences, but it's not optimally structured. The first sentence states purpose, the second lists inputs, and the third mentions output. However, the 'alias' term is unexplained and adds confusion, and the output description is overly vague ('dict with deletion result'). It could be more front-loaded and clearer.

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

    Completeness2/5

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

    Given the tool has 2 parameters, no annotations, no output schema, and involves a destructive operation (deletion), the description is incomplete. It lacks details on behavior, error cases, permissions, and what 'alias' means. The output mention is insufficient for understanding results. For a mutation tool with no structured support, more context is needed.

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

    Parameters4/5

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

    The description explicitly lists the parameters (post_id, comment_id) and their types, adding meaning beyond the input schema which has 0% description coverage. However, it doesn't explain what these IDs represent (e.g., format, source) or provide examples, leaving some semantic gaps. With 2 parameters and low schema coverage, this compensates partially but not fully.

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

    Purpose3/5

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

    The description states 'Alias to delete a comment on a post' which indicates the action (delete) and resource (comment on a post), but it's vague about what 'alias' means and doesn't clearly distinguish from sibling tools like 'delete_comment'. It provides basic purpose but lacks specificity about scope or differentiation.

    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?

    No guidance on when to use this tool versus alternatives like 'delete_comment' or 'delete_post'. The description mentions it's an 'alias' but doesn't explain what that implies for usage. No context about prerequisites, permissions, or exclusions is provided.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool deletes a comment and returns a result dict, but fails to mention critical aspects like whether deletion is permanent, requires admin permissions, affects associated data (e.g., replies), or has rate limits. This is inadequate for a destructive operation.

    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 extremely concise with three brief sentences that efficiently cover purpose, input, and output. It's front-loaded with the core action and wastes no words, making it easy for an agent to parse quickly.

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

    Completeness2/5

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

    Given the tool's complexity (a destructive operation with no annotations, 0% schema coverage, and no output schema), the description is incomplete. It omits essential details like behavioral traits (e.g., irreversibility, auth needs), parameter semantics, and output structure, leaving significant gaps for safe and effective use.

    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 description mentions the input parameter 'comment_id (str)', which aligns with the schema's single required parameter. However, with 0% schema description coverage, it doesn't add meaningful context beyond the schema (e.g., format of comment_id, where to find it, or validation rules). The baseline is 3 since the schema covers the parameter structure, but the description doesn't compensate for the lack of schema details.

    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 clearly states the action ('Delete') and target ('a specific comment from the Page'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'delete_comment_from_post' or 'delete_post', which would require more specificity about the Page context versus other deletion targets.

    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 description provides no guidance on when to use this tool versus alternatives like 'delete_comment_from_post' or 'filter_negative_comments'. It lacks context about prerequisites, permissions, or scenarios where this deletion is appropriate, leaving the agent without usage direction.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('fetch') and output format, but lacks details on permissions, rate limits, error handling, or whether this is a read-only operation. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

    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 extremely concise and front-loaded, with three short sentences that directly state the purpose, input, and output without any wasted words. Every sentence earns its place by providing essential information efficiently.

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

    Completeness2/5

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

    Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is minimal but incomplete. It lacks context on usage, behavioral traits, and parameter details, making it insufficient for an agent to fully understand how to invoke it correctly without additional inference.

    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 description mentions the input parameter 'post_id' and its type, but with 0% schema description coverage, it doesn't add meaningful semantics beyond what's implied by the name. It doesn't explain what a 'post_id' is, its format, or examples. Since schema coverage is low, the description should compensate more, but it only provides basic info, resulting in an average score.

    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 clearly states the tool's purpose with a specific verb ('fetch') and resource ('number of post clicks'), making it immediately understandable. However, it doesn't explicitly differentiate itself from sibling tools like 'get_post_impressions' or 'get_post_share_count', which also retrieve post metrics, so it doesn't reach the highest score.

    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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context for usage, or comparisons to sibling tools such as 'get_post_impressions' or 'get_post_share_count', leaving the agent to infer usage based on the name alone.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'retrieve' implying a read operation but doesn't mention permissions, rate limits, pagination, or what happens if the post_id is invalid. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

    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 extremely concise with three short sentences that are front-loaded and waste no words. Each sentence directly contributes to understanding the tool's purpose, input, and output, making it efficiently structured.

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

    Completeness2/5

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

    Given the tool's moderate complexity (retrieving comments), no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on return format (e.g., structure of comment objects), error handling, or usage context, making it inadequate for full agent understanding.

    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 description adds minimal semantics by naming the parameter 'post_id' and stating it's for a 'given post', but schema description coverage is 0%, so the schema provides no additional details. With only 1 parameter, the description compensates slightly but doesn't elaborate on format, constraints, or examples, resulting in a baseline score.

    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 clearly states the verb 'retrieve' and resource 'all comments for a given post', making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'get_post_top_commenters' or 'get_number_of_comments', which also retrieve comment-related data, so it misses full sibling distinction.

    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 description provides no guidance on when to use this tool versus alternatives such as 'get_post_top_commenters' for top commenters or 'filter_negative_comments' for filtered comments. It lacks explicit when/when-not instructions or named alternatives, offering only basic context without exclusions.

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

  • 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 of behavioral disclosure. It states the tool fetches data and outputs a dict, but lacks details on permissions, rate limits, data freshness, or error handling. For a read operation with zero annotation coverage, this is insufficient to ensure safe and effective use.

    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?

    The description is concise and front-loaded, with three short sentences that cover purpose, input, and output without unnecessary details. However, the lack of guidance or behavioral context means it could be more informative while remaining efficient.

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

    Completeness2/5

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

    Given the complexity of engagement metrics and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'engaged users' entails, how the count is derived, or the structure of the output dict, leaving significant gaps for the agent to infer.

    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 description mentions the input parameter 'post_id' and its type, but with 0% schema description coverage, it doesn't add meaningful semantics beyond what's in the schema (e.g., format, examples, constraints). Since there's only one parameter, the baseline is slightly higher, but the description fails to compensate for the coverage gap.

    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 clearly states the tool's purpose with a specific verb ('Fetch') and resource ('number of engaged users'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_post_reactions_like_total' or 'get_post_share_count', which also measure engagement metrics, so it misses the highest score.

    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 description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on engagement metrics (e.g., 'get_number_of_likes', 'get_post_share_count'), there's no indication of what 'engaged users' means or how it differs, leaving the agent to guess based on context.

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

  • 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 states the tool fetches data (implying read-only) and describes the output format, but lacks critical behavioral details such as authentication requirements, rate limits, error conditions, or whether the data is real-time/historical. For a tool with no annotation coverage, this is insufficient.

    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 extremely concise and front-loaded, with three short sentences that directly state the action, input, and output without any wasted words. Every sentence earns its place by providing essential information efficiently.

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

    Completeness2/5

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

    Given the complexity (a data-fetching tool with no annotations, no output schema, and 0% schema coverage), the description is incomplete. It lacks context on authentication, error handling, data freshness, and differentiation from siblings, making it inadequate for safe and effective use by an AI agent.

    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 description mentions the input parameter ('post_id') and output format, but with 0% schema description coverage, it doesn't add meaningful semantics beyond the schema's basic type. It doesn't explain what a 'post_id' is, its format, or where to find it, leaving gaps that the schema alone doesn't cover. Baseline 3 is appropriate as the schema provides minimal structure.

    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 clearly states the tool's purpose with a specific verb ('Fetch') and resource ('paid impressions of a post'), distinguishing it from siblings like 'get_post_impressions' or 'get_post_impressions_organic'. However, it doesn't explicitly differentiate from all similar tools (e.g., 'get_post_insights' might also provide impression data), so it's not a perfect 5.

    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 description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_post_impressions', 'get_post_impressions_organic', and 'get_post_insights', there's no indication of when paid impressions are needed or how this differs from other impression-related tools, leaving usage unclear.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Fetch') and output format ('dict with unique impression count'), but lacks details on permissions, rate limits, error handling, or whether this is a read-only operation. For a tool with zero annotation coverage, this is a significant gap in transparency.

    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 extremely concise and front-loaded, with three brief sentences that directly state the purpose, input, and output without any wasted words. Each sentence earns its place by providing essential information efficiently.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete for a tool that likely interacts with an API. It misses details on authentication, error cases, return structure beyond 'dict', and how 'unique impressions' are defined (e.g., per user, per session). This leaves the agent with insufficient context for reliable use.

    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 description specifies the input parameter ('post_id (str)') and its type, adding clarity beyond the schema, which has 0% description coverage. However, it doesn't explain the parameter's semantics (e.g., format of post_id, where to find it) or provide examples, leaving some ambiguity despite compensating for the low schema coverage.

    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 clearly states the action ('Fetch') and resource ('unique impressions of a post'), distinguishing it from similar siblings like 'get_post_impressions' (which likely returns total impressions). However, it doesn't explicitly contrast with all sibling tools, such as 'get_post_impressions_organic' or 'get_post_impressions_paid', leaving some ambiguity in scope.

    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?

    No guidance is provided on when to use this tool versus alternatives like 'get_post_impressions' or other impression-related tools. The description implies usage for unique impressions but lacks explicit context, prerequisites, or exclusions, leaving the agent to infer based on tool names alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool fetches data, implying a read-only operation, but doesn't cover aspects like error handling, rate limits, authentication needs, or whether it's idempotent. This leaves significant gaps for a tool that interacts with external data.

    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 extremely concise and front-loaded, using just three sentences to state purpose, input, and output. Every sentence earns its place with no wasted words, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete. It doesn't explain the structure of the output dict (e.g., keys like 'love_count'), error cases, or how it differs from similar tools. For a data-fetching tool with external dependencies, this leaves too much unspecified.

    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 description mentions the input parameter 'post_id' and specifies its type ('str'), but with 0% schema description coverage, it doesn't add meaningful semantics beyond what's in the schema (which only has a title 'Post Id'). It doesn't explain what a valid post_id looks like or provide examples.

    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 clearly states the action ('Fetch') and resource ('number of Love reactions'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_post_reactions_like_total' or 'get_post_reactions_anger_total', which follow the same pattern but for different reaction types.

    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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_post_reactions_like_total' or 'get_post_reactions_anger_total', nor does it specify prerequisites or contexts for usage.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states it fetches data, implying a read-only operation, but doesn't mention permissions, rate limits, error handling, or whether it's safe to use. This is a significant gap for a tool with zero annotation coverage.

    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?

    The description is brief and front-loaded with the purpose, followed by input and output details. It avoids unnecessary words, though it could be slightly more structured (e.g., separating sections). Every sentence contributes directly to understanding the tool.

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

    Completeness2/5

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

    Given the complexity (a data-fetching tool), no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on behavioral traits, error cases, and output structure beyond a basic dict, making it inadequate for reliable agent use.

    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 description adds minimal semantics: it names the input parameter 'post_id' and specifies the output as a dict with sorry count. With 0% schema description coverage, it partially compensates by documenting the parameter and output, but doesn't explain the post_id format or provide examples, leaving gaps.

    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 clearly states the verb 'Fetch' and the resource 'number of Sorry reactions', making the purpose specific and understandable. It distinguishes itself from siblings like 'get_post_reactions_like_total' by specifying the reaction type, though it doesn't explicitly contrast with them in the description text.

    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?

    No guidance is provided on when to use this tool versus alternatives, such as other reaction-type tools (e.g., 'get_post_reactions_like_total') or broader tools like 'get_post_insights'. The description lacks context on prerequisites or exclusions, leaving usage unclear.

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

  • 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 of behavioral disclosure. It states 'Fetch number of 'Wow' reactions' and hints at output format, but lacks details on permissions, rate limits, error handling, or whether it's a read-only operation. For a tool with zero annotation coverage, this is a significant gap in transparency.

    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 extremely concise and front-loaded, with three short sentences that efficiently cover purpose, input, and output. Every sentence earns its place without waste, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the context: no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It lacks behavioral details, usage context, and deeper parameter semantics, making it inadequate for a tool that interacts with a platform like Facebook where permissions and data formats matter.

    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 description adds minimal semantics beyond the input schema: it specifies that 'post_id' is the input and implies it's a string, but schema description coverage is 0%, so the schema provides no descriptions. The description compensates slightly by naming the parameter and its type, but doesn't explain format or constraints, resulting in a baseline score.

    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 clearly states the verb ('Fetch') and resource ('number of 'Wow' reactions'), making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_post_reactions_like_total' or 'get_post_reactions_anger_total', which follow the same pattern for different reaction types, so it misses full sibling differentiation.

    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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools (e.g., other reaction-type tools) or contexts where this specific 'Wow' reaction count is needed, leaving the agent without usage direction beyond the basic purpose.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the action ('Post') and output ('dict of post result'), but fails to detail critical aspects like required permissions, rate limits, error handling, or whether the post is immediate versus scheduled. This leaves significant gaps 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.

    Conciseness4/5

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

    The description is brief and front-loaded with the core action, using three sentences efficiently. While it could be more structured, there is no wasted text, making it appropriately concise for the tool's complexity.

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

    Completeness2/5

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

    Given the tool's mutation nature, lack of annotations, and no output schema, the description is incomplete. It omits essential details like behavioral traits, error scenarios, and output structure, failing to provide adequate context for safe and effective use by an AI agent.

    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 description lists the parameters ('image_url (str), caption (str)'), which adds basic semantics beyond the schema's 0% coverage. However, it does not provide deeper context such as URL format requirements, caption length limits, or validation rules, offering only minimal compensation for the schema's lack of descriptions.

    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 clearly states the action ('Post an image with a caption') and resource ('to the Facebook page'), making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'post_to_facebook' or 'schedule_post', which might handle similar posting functions, leaving some ambiguity.

    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 description provides no guidance on when to use this tool versus alternatives such as 'post_to_facebook' or 'schedule_post'. It lacks context on prerequisites, timing, or exclusions, leaving the agent to infer usage 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.

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('Reply to') which implies a write operation, but doesn't mention permission requirements, rate limits, error conditions, or what happens if the comment/post doesn't exist. The output mention is minimal ('dict with reply creation status') without detailing success/failure indicators.

    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?

    The description is appropriately brief with three sentences that cover purpose, inputs, and outputs. It's front-loaded with the core functionality. However, the parameter listing in the description somewhat duplicates what's in the schema, and the output description could be more informative.

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

    Completeness2/5

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

    For a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is insufficient. It doesn't address important contextual aspects like authentication requirements, error handling, rate limits, or the structure of the return value beyond 'dict with reply creation status.' Given the complexity of Facebook API interactions and many sibling tools, more guidance is needed.

    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 description explicitly lists all three parameters (post_id, comment_id, message) with their types, providing basic semantic meaning. However, with 0% schema description coverage, it doesn't explain format requirements (e.g., what constitutes valid IDs), length constraints for the message, or special characters handling. The parameter listing adds value but doesn't fully compensate for the schema coverage gap.

    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 clearly states the action ('Reply to') and resource ('a specific comment on a Facebook post'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'post_to_facebook' or 'send_dm_to_user' which involve different types of Facebook interactions.

    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?

    No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing appropriate permissions), nor does it clarify when to reply versus other actions like deleting comments or posting new content, despite having many sibling tools for Facebook operations.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the output format ('dict of result from Messenger API') which is helpful, but doesn't address critical behavioral aspects like authentication requirements, rate limits, message length constraints, delivery confirmation, or error handling for invalid user IDs.

    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?

    The description is appropriately brief with three sentences that each serve a purpose: stating the action, listing inputs, and describing the output. It's front-loaded with the core functionality, though the parameter listing could be integrated more smoothly into the flow.

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

    Completeness2/5

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

    For a mutation tool (sending messages) with no annotations, no output schema, and 2 required parameters, the description is incomplete. It lacks crucial context about authentication, error conditions, rate limits, and message constraints that would be essential for safe and effective tool invocation.

    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 description explicitly lists both parameters ('user_id (str), message (str)') which adds value beyond the schema's 0% description coverage. However, it doesn't provide semantic context about what constitutes a valid user_id format, message content restrictions, or character limits, leaving significant gaps in parameter understanding.

    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 clearly states the verb ('send') and resource ('direct message to a user'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'post_to_facebook' or 'reply_to_comment' which also involve messaging, though the 'direct message' specification provides some distinction.

    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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention when direct messaging is appropriate compared to public posting ('post_to_facebook'), commenting ('reply_to_comment'), or other communication methods available in the sibling tool set.

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

  • 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 of behavioral disclosure. It states the tool updates a post, implying a mutation, but doesn't cover critical aspects like permission requirements, whether the update is reversible, rate limits, or what the 'dict of update result' contains. This is a significant gap for a mutation tool with zero annotation coverage.

    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?

    The description is concise and front-loaded, with the core purpose stated first. It uses three sentences efficiently: one for the purpose, one for inputs, and one for outputs. There's no unnecessary verbosity, though it could be slightly more structured (e.g., bullet points).

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

    Completeness2/5

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

    Given the tool's complexity (a mutation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It covers the basic action and parameters but misses behavioral details (e.g., side effects, error cases) and output specifics. For a mutation tool, this leaves too many unknowns for reliable agent use.

    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 description lists the parameters ('post_id (str), new_message (str)'), which matches the input schema's two required parameters. However, schema description coverage is 0%, so the schema provides no additional details. The description adds basic type information but doesn't explain semantics (e.g., what format 'post_id' expects or constraints on 'new_message'), resulting in minimal value 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?

    The description clearly states the tool's purpose: 'Updates an existing post's message.' This specifies the verb ('Updates') and resource ('post's message'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'post_to_facebook' or 'schedule_post', which also involve post modifications, so it falls short of a perfect score.

    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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing post), exclusions (e.g., not for creating new posts), or comparisons to siblings like 'post_to_facebook' (for new posts) or 'delete_post'. This lack of context leaves the agent to infer usage scenarios.

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

  • 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 mentions fetching 'most recent posts' but doesn't disclose behavioral traits like pagination, rate limits, authentication needs, or what 'most recent' means (e.g., time range, limit). This leaves significant gaps for a read 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?

    The description is brief and front-loaded with the core purpose, followed by input and output details. It avoids unnecessary words, though the output description could be more precise (e.g., specifying metadata fields). Overall, it's efficient but not perfectly structured.

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

    Completeness2/5

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

    Given the complexity of fetching posts (likely involving pagination, sorting, or limits), no annotations, and no output schema, the description is incomplete. It lacks details on return format (beyond 'dict with list'), error handling, or constraints, making it inadequate for reliable tool invocation.

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

    Parameters4/5

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

    The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description correctly states 'Input: None', adding clarity beyond the schema by explicitly confirming no inputs are required, which is helpful for the agent.

    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 clearly states the action ('Fetch') and resource ('most recent posts on the Page'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_post_comments' or 'get_post_insights', which also fetch post-related data but focus on different aspects.

    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 description provides no guidance on when to use this tool versus alternatives. With many sibling tools (e.g., 'get_post_comments', 'get_post_insights'), it lacks context on whether this is for general post retrieval or specific use cases, leaving the agent to infer usage.

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

  • 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 of behavioral disclosure. It states the tool fetches data and describes the output format, but lacks details on permissions, rate limits, error handling, or whether it's a read-only operation. For a tool with no annotation coverage, this is a significant gap in transparency.

    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 highly concise and front-loaded, with three clear sentences that efficiently convey purpose, input, and output without any wasted words. Each sentence earns its place by providing essential information in a structured manner.

    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?

    Given the tool's low complexity (single parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and output format but lacks details on usage context, behavioral traits, and parameter semantics, making it incomplete for optimal agent guidance.

    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 description mentions the input parameter 'post_id' and its type, but with 0% schema description coverage, it does not fully compensate by explaining format, validation, or examples. It adds minimal value beyond the schema, which only provides a title and type, so the baseline score of 3 is appropriate given the single parameter.

    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 clearly states the tool's purpose with a specific verb ('fetch') and resource ('total impressions of a post'), making it easy to understand what it does. However, it does not explicitly distinguish itself from sibling tools like 'get_post_impressions_organic' or 'get_post_impressions_paid', which reduces the score from a perfect 5.

    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 description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools related to post impressions (e.g., 'get_post_impressions_organic', 'get_post_impressions_paid'), there is no mention of context, exclusions, or comparisons, leaving the agent to infer usage based on naming alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the output format ('dict with organic impression count'), which adds some context, but lacks details on permissions, rate limits, error handling, or whether it's a read-only operation. This leaves significant gaps for a tool that fetches data.

    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 extremely concise with three short sentences that are front-loaded and waste no words. Each sentence adds value: stating the purpose, input, and output clearly.

    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?

    Given the tool's low complexity (1 parameter, no nested objects) and lack of annotations or output schema, the description is minimally adequate. It covers purpose, input, and output but misses behavioral details like error cases or data freshness, which could be important for an impressions tool.

    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 description specifies the input parameter ('post_id (str)'), which adds meaning beyond the schema's 0% coverage. However, it does not explain what 'post_id' represents (e.g., format, source) or provide examples, so it only partially compensates for the low schema coverage.

    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 clearly states the action ('Fetch') and resource ('organic impressions of a post'), making the purpose specific and understandable. However, it does not explicitly distinguish this tool from sibling tools like 'get_post_impressions' or 'get_post_impressions_paid', which reduces the score 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 Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives such as 'get_post_impressions' or 'get_post_impressions_paid', nor does it mention any prerequisites or exclusions. Usage is implied by the name but not explicitly stated.

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

  • 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 states it 'fetches' data, implying a read operation, but lacks details on permissions, rate limits, or response behavior. The mention of 'Output: dict with multiple metrics' adds minimal context, insufficient for a mutation-free tool with no annotation coverage.

    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?

    The description is front-loaded with the core purpose, followed by input and output details in a structured format. It uses three concise sentences with no wasted words, though the output detail could be slightly more integrated into the main sentence.

    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 read tool with one parameter and no output schema, the description covers basics like purpose and parameter semantics. However, it lacks behavioral context (e.g., error handling, data freshness) and doesn't fully address sibling tool differentiation, making it adequate but with gaps.

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

    Parameters4/5

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

    The description explicitly mentions 'Input: post_id (str)', adding meaning beyond the schema, which has 0% description coverage and only lists the parameter name. This clarifies the parameter's role and type, compensating well for the low schema coverage with a single parameter.

    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 clearly states the verb 'fetch' and resource 'insights metrics' with examples (impressions, reactions, clicks, etc.), making the purpose specific. However, it doesn't explicitly differentiate from sibling tools like get_post_impressions or get_post_clicks, which target specific metrics rather than all insights.

    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 description provides no guidance on when to use this tool versus alternatives. With many sibling tools fetching specific metrics (e.g., get_post_impressions, get_post_clicks), it fails to indicate that this tool aggregates multiple metrics, leaving usage context implied rather than explicit.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states it 'fetches' (implies read-only) and returns a dict with anger count. It lacks details about authentication needs, rate limits, error conditions, or whether this is a real-time or cached count.

    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?

    Extremely concise with three short sentences that each add value: states purpose, specifies input, specifies output format. Zero wasted words and front-loaded with the core functionality.

    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 read-only tool with one parameter and no output schema, the description covers basics but lacks context about the Facebook API environment, error handling, or what the dict structure contains beyond 'anger count'. Given the sibling tools indicate a social media context, more platform-specific guidance would help.

    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 0%, but the description mentions 'post_id (str)' which matches the single parameter. However, it doesn't add meaningful context beyond what's obvious from the parameter name - no format requirements, validation rules, or examples.

    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 clearly states the verb 'fetch' and resource 'number of Anger reactions' with the target 'post'. It distinguishes from siblings like get_post_reactions_like_total by specifying the reaction type 'Anger', but doesn't explicitly contrast with other reaction tools beyond naming differences.

    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?

    No guidance on when to use this tool versus alternatives like get_post_reactions_like_total or get_post_insights. The description only states what it does, not when it's appropriate or what prerequisites exist.

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

  • 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 of behavioral disclosure. It states the tool fetches data, implying a read-only operation, but doesn't specify if it requires authentication, has rate limits, or details about the output format beyond 'dict with haha count'. This leaves gaps in understanding the tool's behavior and constraints.

    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 highly concise and front-loaded, with three brief sentences that efficiently convey the tool's purpose, input, and output without any wasted words. Every sentence earns its place by providing essential information in a clear, structured manner.

    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?

    Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and input/output, but lacks details on authentication, error handling, or integration with sibling tools, making it incomplete for robust agent use despite the simple context.

    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 description mentions the input parameter 'post_id (str)' and the output 'dict with haha count', which adds some meaning beyond the schema (which has 0% description coverage). However, it doesn't explain what 'post_id' represents (e.g., a Facebook post ID format) or provide examples, so it only partially compensates for the low schema coverage.

    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 clearly states the tool's purpose: 'Fetch number of 'Haha' reactions' with a specific verb ('fetch') and resource ('Haha reactions'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'get_post_reactions_like_total' or 'get_post_reactions_anger_total', which follow the same pattern for different reaction types, so it doesn't fully distinguish itself from alternatives.

    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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools for other reaction types (e.g., 'get_post_reactions_like_total') or clarify if this is part of a broader set of reaction-fetching tools, leaving the agent to infer usage from context without explicit direction.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It states it's a read operation ('Get'), implying non-destructive, but doesn't disclose permissions, rate limits, or behavioral traits like error handling or response format beyond output type.

    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 appropriately sized and front-loaded, with three concise sentences that directly state purpose, input, and output without waste. Every sentence adds value.

    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?

    Given low complexity, no annotations, no output schema, and 0% schema coverage, the description is minimally adequate. It covers basic purpose and I/O but lacks behavioral context, making it incomplete for optimal agent use.

    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 0%, so the description must compensate. It adds meaning by specifying 'post_id (str)' and linking it to the output, but doesn't explain format, validation, or examples. With one parameter, baseline is 4, but lack of detail reduces score.

    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 clearly states the verb ('Get') and resource ('number of shares for a post'), making the purpose specific and understandable. It distinguishes from siblings like 'get_number_of_likes' or 'get_post_impressions' by focusing on shares, but doesn't explicitly differentiate beyond that.

    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?

    No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage from the name alone among many sibling tools.

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

  • 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 of behavioral disclosure. It states the tool returns an 'integer count of comments', which is helpful, but doesn't cover other important aspects like whether it's a read-only operation, potential rate limits, authentication needs, error handling, or if it counts all comments or only visible ones. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

    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 extremely concise and well-structured: three short sentences that directly state the purpose, input, and output without any fluff. Each sentence earns its place by providing critical information, making it easy to parse and understand quickly.

    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?

    Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and parameter semantics but lacks behavioral details and usage guidelines. For a simple read operation, this might be sufficient, but the absence of annotations means more context would be beneficial for reliable agent use.

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

    Parameters4/5

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

    The description adds meaningful context beyond the input schema. The schema only shows 'post_id' as a required string parameter with 0% description coverage. The description clarifies that 'post_id' refers to 'a given post' and that the tool counts comments on that post, providing essential semantic understanding that the schema lacks. Since there's only one parameter, this compensation is effective.

    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 clearly states the tool's purpose: 'Count the number of comments on a given post.' It specifies the verb ('Count') and resource ('comments on a given post'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_post_comments' or 'get_post_top_commenters', which might retrieve comment data differently.

    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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_post_comments' (which might return full comment objects) or 'filter_negative_comments' (which might filter comments), leaving the agent to infer usage based on tool names alone. No explicit when/when-not instructions are given.

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

  • 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 of behavioral disclosure. It states the tool returns an integer count, which is helpful, but lacks details on error handling, rate limits, authentication needs, or data freshness. For a read operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves beyond basic output.

    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 extremely concise and front-loaded, with three short sentences that directly state the purpose, input, and output without any wasted words. Each sentence earns its place by providing essential information, making it easy to parse quickly.

    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?

    Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and parameter semantics but lacks behavioral details and usage guidelines. For a simple read tool, this might suffice, but it doesn't fully address potential agent needs like error scenarios or sibling differentiation.

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

    Parameters4/5

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

    The description adds meaningful context beyond the input schema, which has 0% description coverage. It specifies that the input is 'post_id (str)' and clarifies the parameter's role in fetching likes for a post. Since there's only one parameter, the description effectively compensates for the schema's lack of detail, though it doesn't elaborate on format or validation rules.

    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 clearly states the tool's purpose: 'Return the number of likes on a post.' It specifies the verb ('Return') and resource ('number of likes on a post'), making the function unambiguous. However, it doesn't explicitly differentiate from siblings like 'get_post_reactions_like_total' or 'get_post_insights', which might offer overlapping or related data, so it doesn't reach a perfect score.

    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 description provides no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'get_post_reactions_like_total' (which might provide similar like counts) or 'get_post_insights' (which could include likes among other metrics), nor does it specify prerequisites or exclusions. Usage is implied by the purpose but not explicitly defined.

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

  • 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 of behavioral disclosure. It mentions the output ('integer fan count'), which is helpful, but does not cover other important aspects such as whether this is a read-only operation, potential rate limits, authentication requirements, or error conditions. For a tool with zero annotation coverage, this is a significant gap in transparency.

    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 highly concise and well-structured, consisting of three brief sentences that efficiently convey the purpose, input, and output. Every sentence earns its place by providing essential information without redundancy, making it easy to parse and understand quickly.

    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?

    Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is reasonably complete for basic understanding. It covers the purpose and output type, but lacks details on behavioral traits and usage context. For a tool in a server with many sibling tools, more guidance on differentiation would enhance completeness, but it meets the minimum viable threshold.

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

    Parameters4/5

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

    The description states 'Input: None', which aligns with the input schema having no parameters. Since there are 0 parameters and schema description coverage is 100%, the description adequately compensates by explicitly noting the lack of inputs, adding clarity beyond what the schema alone provides. This prevents confusion about expected arguments.

    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 clearly states the tool's purpose: 'Get the Page's total fan/like count.' It specifies the verb ('Get') and resource ('Page's total fan/like count'), making it easy to understand what the tool does. However, it does not explicitly differentiate from sibling tools like 'get_number_of_likes' or 'get_post_reactions_like_total', which might cause confusion about scope or target.

    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 description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions, such as whether it applies to a specific page or post, or how it differs from similar sibling tools like 'get_number_of_likes'. This lack of usage guidance could lead to incorrect tool selection by an AI agent.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states it 'fetches' data, implying a read-only operation, but doesn't mention any behavioral traits such as authentication needs, rate limits, error handling, or whether it's safe to call repeatedly. This leaves significant gaps in understanding how the tool behaves beyond its basic function.

    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 extremely concise and front-loaded, with only three sentences that directly state the purpose, input, and output without any wasted words. Every sentence earns its place by providing critical information efficiently.

    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?

    Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate but incomplete. It covers the basic purpose and parameters but lacks usage guidelines, behavioral details, and output specifics, making it insufficient for fully informed tool selection without additional inference.

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

    Parameters4/5

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

    The description adds meaningful context by specifying that the input is 'post_id (str)' and the output is 'dict with like count', which clarifies the parameter type and return format. Since schema description coverage is 0%, this compensates well by providing essential semantics not covered in the schema, though it doesn't detail the structure of the output dict beyond the count.

    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 clearly states the verb 'Fetch' and the resource 'number of "Like" reactions', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_number_of_likes' or 'get_post_reactions_anger_total', which might cause confusion about when to use this specific tool versus others.

    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 description provides no guidance on when to use this tool versus alternatives like 'get_number_of_likes' or other reaction-type tools in the sibling list. It lacks context about prerequisites, exclusions, or specific scenarios where this tool is preferred, leaving the agent to infer usage 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.

  • 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 of behavioral disclosure. It mentions the output format ('list of user IDs with comment counts'), which is helpful, but lacks details on permissions, rate limits, pagination, or error handling. For a read operation with no annotation coverage, this is a significant gap in transparency.

    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 extremely concise and front-loaded, with three short sentences that efficiently convey purpose, input, and output. There's no wasted text, and every sentence adds value, making it easy for an agent to parse quickly.

    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?

    Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and output but lacks details on behavioral traits and usage context. Without annotations or output schema, it should do more to explain limitations or expected behavior, but it meets the baseline for a simple read tool.

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

    Parameters4/5

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

    The description adds meaning beyond the input schema by specifying that 'post_id' is a string input and clarifying the tool's focus on 'top commenters.' With 0% schema description coverage and only 1 parameter, this compensates well, though it doesn't explain what 'top' means (e.g., by count or other criteria).

    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 clearly states the tool's purpose: 'Get the top commenters on a post.' It specifies the verb ('Get') and resource ('top commenters on a post'), making it easy to understand. However, it doesn't explicitly differentiate from siblings like 'get_post_comments' or 'get_post_engaged_users', which might provide overlapping or related data, so it misses the highest score.

    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 description provides no guidance on when to use this tool versus alternatives. With many sibling tools related to posts and comments (e.g., 'get_post_comments', 'get_post_engaged_users'), there's no indication of context, exclusions, or comparisons. This leaves the agent to guess based on tool names alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. While 'Delete' implies a destructive mutation, the description doesn't specify whether this requires special permissions, whether deletion is permanent/reversible, rate limits, or what the 'deletion result' dict contains. For a destructive operation with zero annotation coverage, this is inadequate.

    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 extremely concise with only three sentences that each serve a distinct purpose: stating the action, documenting the input, and documenting the output. There's zero wasted text, and information is front-loaded appropriately.

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

    Completeness2/5

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

    For a destructive mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain the deletion result format, error conditions, permissions required, or consequences of the operation. Given the complexity of a Facebook API deletion and the lack of structured documentation, more context is needed.

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

    Parameters4/5

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

    The description explicitly documents the single parameter ('post_id') and its type ('str'), which is valuable since schema description coverage is 0%. However, it doesn't explain what format the post_id should be in or where to obtain it, leaving some semantic gaps despite covering the parameter's existence.

    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?

    The description clearly states the specific action ('Delete') and target resource ('a specific post from the Facebook Page'), distinguishing it from sibling tools like delete_comment or update_post. It provides a complete verb+resource combination that leaves no ambiguity about what the tool does.

    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 description provides no guidance on when to use this tool versus alternatives like delete_comment_from_post or update_post. It doesn't mention prerequisites, consequences, or any contextual factors that would help an agent choose between this and other deletion/mutation tools in the sibling set.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool schedules posts but doesn't mention critical behavioral aspects like required permissions (e.g., admin access), rate limits, whether scheduling is reversible, or what happens if the publish_time is in the past. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

    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 extremely concise and front-loaded, with three sentences that efficiently cover purpose, inputs, and outputs. Every sentence adds value: the first states the action, the second documents parameters, and the third describes the return format. There is zero wasted text.

    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?

    Given the tool's complexity (a mutation with 2 parameters), lack of annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and parameters but misses behavioral context (e.g., permissions, error handling) and detailed output structure. The parameter semantics help, but overall completeness is limited for a scheduling operation.

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

    Parameters4/5

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

    The description explicitly lists both parameters ('message' and 'publish_time') and specifies that publish_time is a Unix timestamp, adding crucial semantic information beyond the schema's 0% coverage. This compensates well for the schema's lack of descriptions, though it doesn't detail constraints like message length limits or timestamp validity ranges.

    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 clearly states the action ('Schedule') and resource ('a new post for future publishing'), making the purpose immediately understandable. It distinguishes this from siblings like 'post_to_facebook' (immediate posting) and 'update_post' (modifying existing posts). However, it doesn't explicitly mention the platform (e.g., Facebook) which could help further differentiate it from generic scheduling tools.

    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 for future publishing rather than immediate posting, which distinguishes it from 'post_to_facebook'. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'update_post' for rescheduling or prerequisites (e.g., needing page access). The context is clear but lacks specific exclusions or comparisons.

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

  • 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 of behavioral disclosure. It mentions the output format ('dict with post ID and creation status'), which adds some value, but fails to cover critical aspects such as authentication requirements, rate limits, error handling, or whether the post is published immediately. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

    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 extremely concise and front-loaded, consisting of just three sentences that directly explain the tool's purpose, input, and output. There is no wasted language, and each sentence serves a clear purpose, making it easy for an agent to parse quickly.

    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?

    Given the tool's complexity (a mutation operation with no annotations and no output schema), the description is minimally adequate. It covers the basic purpose and parameter semantics but lacks details on behavioral traits, error conditions, and usage guidelines. The output information is helpful, but overall completeness is limited, especially for a tool that modifies external state.

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

    Parameters4/5

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

    The description specifies that the input is a 'text message', clarifying the purpose of the 'message' parameter beyond what the schema provides (which has 0% description coverage and only states it's a string). This adds meaningful context, though it does not detail constraints like character limits or content guidelines. With only one parameter, the description adequately compensates for the schema's lack of detail.

    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?

    The description clearly states the specific action ('Create a new Facebook Page post') and the resource involved ('with a text message'), distinguishing it from sibling tools like post_image_to_facebook (which handles images) or schedule_post (which handles delayed posting). It provides a verb+resource combination that is precise and unambiguous.

    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 for creating text-based posts on Facebook Pages, but it does not explicitly state when to use this tool versus alternatives like post_image_to_facebook or schedule_post. It lacks guidance on prerequisites (e.g., authentication, page permissions) or exclusions, leaving the agent to infer context from the tool name and description alone.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

just_facebook_mcp MCP server

Copy to your README.md:

Score Badge

just_facebook_mcp MCP server

Copy to your README.md:

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/Livia-Zaharia/just_facebook_mcp'

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