Skip to main content
Glama
alexfisenkov

Instagram MCP Server

by alexfisenkov

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose. Even tools like meta_list_comments and meta_get_comment_replies are differentiated by scope (all comments vs. replies to a specific comment).

    Naming Consistency4/5

    All tools share the 'meta_' prefix and most follow a verb_noun pattern, but a few (meta_scope_presets, meta_auth_status) are noun phrases without a verb, slightly breaking consistency.

    Tool Count5/5

    16 tools are well-scoped for an Instagram analytics MCP server, covering authentication, media, insights, and comments without being excessive or sparse.

    Completeness4/5

    The toolset covers core analytics workflows thoroughly, but lacks write operations (e.g., posting media or comments), which is acceptable for a read-oriented analytics server.

  • Average 3.2/5 across 16 of 16 tools scored. Lowest: 2.3/5.

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

    • No community issues in the last 6 months
    • 4 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 provided; description fails to disclose side effects (e.g., token invalidation), return value, authentication requirements, or rate limits. The minimal description leaves critical 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.

    Conciseness2/5

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

    The description is too short for the tool's complexity, omitting essential details. It is under-specified rather than concise.

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

    Completeness1/5

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

    Lacks details on return values, error handling, prerequisites, and parameter behavior. A tool with side effects and undocumented parameters requires much richer description, especially without annotations or output schema.

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

    Parameters1/5

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

    Schema has two parameters with 0% description coverage and no explanation in the description. The agent cannot infer what `save` or `accessToken` mean or how to use them.

    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 refreshes a long-lived Instagram token, distinguishing it from auth status or exchange tools. However, it could be more specific about what 'refresh' entails (e.g., extension of expiry).

    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 explicit guidance on when to use this tool vs. alternatives like `meta_exchange_code` or `meta_auth_status`. The phrase 'before it expires' implies periodic use, but no conditions or exclusions are stated.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, and the description aligns by using 'Fetch'. But the description adds no further behavioral context such as rate limits, required permissions, or output structure. Acceptable given 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.

    Conciseness2/5

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

    Extremely concise (one sentence), but at the cost of being under-informative. The description lacks necessary details for effective tool use, sacrificing utility for brevity.

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

    Completeness1/5

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

    Given the tool's complexity (9 parameters, no output schema, no param descriptions), the description is grossly incomplete. It fails to provide essential operational context, making it nearly unusable for an agent.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description provides no information on the 9 parameters. The agent is left with no understanding of what each parameter means (e.g., 'since', 'metric', 'period'), making this a critical 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?

    Description clearly states it fetches account-level insights for the authorized account, distinguishing from post-level insights. However, it is vague on what specific insights are provided, and does not differentiate from other siblings like meta_get_account_info.

    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. No mention of prerequisites, when not to use, or required authentication setup. The agent must infer usage context from the tool name alone.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, so the tool is non-destructive. The description adds that it requires an authorized Instagram professional account, which is useful context. However, nothing about rate limits, error scenarios, or response structure is disclosed.

    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 a single concise sentence with no fluff. It could be slightly more structured but is effectively brief.

    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 no output schema and 0% parameter coverage, the description is too brief. It does not explain return values or parameter usage, which is inadequate for a tool with 3 parameters and no schema descriptions.

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

    Parameters1/5

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

    Schema description coverage is 0% for 3 parameters (fields, userId, accessToken). The description does not explain any of these parameters, leaving the agent with no guidance on what each parameter does.

    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 the resource ('profile/account metadata'), and specifies it's for an 'authorized Instagram professional account'. However, it does not differentiate from sibling tools like meta_get_media or meta_get_post_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?

    No guidance is provided on when to use this tool versus its siblings (e.g., meta_get_media, meta_get_user_insights). No prerequisites or exclusions are mentioned.

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

  • Behavior3/5

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

    The annotation already declares readOnlyHint=true, indicating it's a safe read operation. The description's 'Fetch' aligns with this. However, it adds no extra behavioral context beyond the annotation, such as rate limits, data availability window, or that insights are aggregated.

    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 a single sentence with no filler. It is concise, but possibly too terse given the complexity.

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

    Completeness1/5

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

    With 5 parameters, no output schema, and no parameter descriptions, the description is wholly inadequate. It does not cover valid metric types, period options, token requirements, or return value structure, leaving the agent to guess or fail.

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

    Parameters1/5

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

    The input schema has 5 parameters with 0% description coverage, and the tool description does not explain any parameter meaning. Without context on what 'metric', 'period', 'metricType', or 'accessToken' expect, an agent cannot correctly populate these fields. The description fails to compensate for the schema 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 ('Fetch') and the resource ('insights for a specific Instagram media object'). It distinguishes from siblings like meta_get_user_insights (user-level insights) and meta_get_media (media retrieval). However, it could be more specific about the type of 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 vs alternatives, no prerequisites, and no exclusions. It does not mention that it works only for media objects on Instagram Business or Creator accounts, nor that certain metrics require specific permissions.

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

  • Behavior3/5

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

    Annotations already provide readOnlyHint=true, indicating a safe read operation. The description adds that the account must be 'authorized' and 'professional', but does not disclose pagination behavior, rate limits, or what happens if the token is invalid. With annotations, this is adequate but not enhanced beyond the baseline.

    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 a single sentence, which is concise but overly minimal. It front-loads the purpose but does not use the remaining space to add value. It is not verbose, but it is under-specified.

    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 6 parameters (none required), no output schema, and 0% schema coverage, the description is insufficient. It lacks details on default behavior, pagination, field selection, and authentication requirements. A complete description would at least mention that media are returned in reverse chronological order and that fields can be specified.

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

    Parameters1/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 by explaining parameters like 'after', 'limit', 'before', 'fields', 'userId', and 'accessToken'. It provides no parameter information at all, leaving the agent to infer purely from names. This is a critical 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 ('List media objects') and the target ('authorized Instagram professional account'). It is a specific verb+resource combination, but it does not distinguish from sibling tools like meta_get_media (single media) or meta_get_top_media (filtered list).

    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. The description does not mention ordering, filtering, or any prerequisites beyond authorization. Sibling tools exist for similar purposes, but no differentiation 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?

    Annotations already set readOnlyHint=true; description adds no new behavioral info (e.g., pagination behavior, rate limits, or required auth scopes). It merely restates the purpose.

    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?

    Description is a single sentence with no redundancy. However, extreme brevity sacrifices informational value; a slightly longer description with parameter hints would improve completeness without losing conciseness.

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

    Completeness1/5

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

    Given 6 parameters, no output schema, and zero parameter documentation, the description is vastly incomplete. It omits pagination details, return structure, field options, and token handling, making it hard for an agent to use correctly.

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

    Parameters1/5

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

    Schema description coverage is 0%. Description does not explain any of the six parameters (after, limit, before, fields, commentId, accessToken), leaving the agent to infer all meaning from parameter names alone.

    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?

    Description clearly states the action ('list replies'), the target resource ('Instagram comment'), and a precondition ('when... has comment access'), distinguishing it from sibling tools like meta_list_comments which likely list top-level comments.

    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 'when... has comment access' provides a usage condition but lacks explicit guidance on when not to use or alternatives. No comparison with meta_list_comments or other siblings.

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

  • Behavior3/5

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

    Annotation already marks readOnlyHint=true, consistent with 'Fetch'. Description adds that it targets one media object, but no additional behavioral traits (e.g., no mention of required parameters, rate limits, or response structure).

    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?

    Single sentence, no wasted words. However, could be slightly more informative without adding length (e.g., mention required parameter).

    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?

    No output schema, many sibling tools, and 3 parameters with zero coverage. Description fails to explain what metadata fields can be requested, how to use the fields parameter, or any authentication prerequisites.

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

    Parameters1/5

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

    Schema description coverage is 0%, and description adds no meaning to the 3 parameters (mediaId, fields, accessToken). Does not explain purpose or format of any parameter.

    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?

    Description clearly states verb ('Fetch') and resource ('metadata for one Instagram media object'). Distinguishes from siblings like meta_list_media (list) and meta_get_top_media (top media) by specifying single media object.

    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 vs alternatives. Does not mention prerequisites (e.g., need access token, media ID) or when not to use (e.g., for listing media).

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint: true, covering safety. The description adds that Instagram Business accounts are included when connected, but it does not disclose pagination behavior (despite pagination parameters), error cases, or what happens with invalid tokens. With annotations present, the description adds marginal but non-critical behavioral context.

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

    Conciseness5/5

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

    The description is a single sentence that is compact and front-loaded with the key action and resources. It contains no redundant information and is efficiently structured for quick comprehension.

    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?

    With 5 parameters, no output schema, and a simple listing purpose, the description omits important details such as return format, default values, pagination behavior, and error handling. It provides minimal context beyond the core functionality, making it incomplete for an agent to fully utilize the tool without guessing.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning no parameter descriptions in the schema. The tool description does not explain any of the 5 parameters (after, limit, before, fields, accessToken). Despite the low coverage, the description fails to compensate, leaving the agent to guess parameter semantics from parameter names alone.

    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 tool lists Facebook Pages available to the token and includes connected Instagram Business accounts. It uses a specific verb ('List') and resource ('Facebook Pages'), and distinguishes itself from sibling tools like meta_resolve_instagram_account or meta_get_account_info by explicitly linking Pages with Instagram accounts.

    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 does not provide any guidance on when to use this tool versus alternatives or when not to use it. It lacks exclusions, prerequisites, or context-dependent recommendations, leaving the agent to infer usage solely from the output.

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

  • Behavior3/5

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

    Annotations already indicate readOnlyHint=true. The description adds 'locally rank', hinting at non-server-side processing, but fails to disclose pagination behavior, cursor usage (after/before), or that it retrieves only recent media. Bar is lowered by annotations, but more context would help.

    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 a single efficient sentence with no wasted words. However, it could benefit from structured breakdown of parameters and usage, given 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?

    With 6 parameters, no output schema, and zero schema descriptions, the description is too sparse. It omits pagination details, required inputs (userId likely needed), and output format, leaving an agent underinformed for correct invocation.

    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%; description only clarifies sortBy enum values (engagement, likes, comments, timestamp). No explanation for after, before, limit, userId, or accessToken. Partial compensation but insufficient for a 6-parameter tool.

    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 tool lists and ranks recent media using specific criteria (engagement, likes, comments, timestamp). It distinguishes from sibling tools like meta_list_media (which lists without ranking) and meta_get_media (single media retrieval).

    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, no prerequisites (e.g., userId), and no exclusions. It does not explain that 'locally rank' implies client-side processing.

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

  • Behavior3/5

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

    The description is consistent with the readOnlyHint annotation. It adds context about the access requirement, but does not detail pagination behavior or error states. With annotations covering safety, a score of 3 is appropriate.

    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 a single, clear sentence with no wasted words. It could be slightly more structured, but it is 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?

    With 6 parameters, no output schema, and only a readOnlyHint annotation, the description is too sparse. It omits pagination details, field options, and the accessToken requirement, leaving the agent with insufficient context for complex usage.

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

    Parameters1/5

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

    The description adds no meaning beyond the input schema. With 0% schema description coverage and no parameter descriptions in the description, the agent receives no additional guidance for parameters like after, limit, or fields.

    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 verb (List), resource (comments for a media object), and a condition (when authorized account has comment access). It distinguishes from sibling tools like meta_get_comment_replies, which handles replies.

    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 mentions a condition for use (authorized account with comment access), but does not provide explicit when-not-to-use guidance or compare with siblings like meta_get_comment_replies.

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

  • Behavior3/5

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

    Annotations already provide readOnlyHint=true, indicating no side effects. The description adds that it builds a URL for analytics permissions but does not disclose other traits like rate limits, URL format, or that it's a non-mutating operation. No contradiction.

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

    Conciseness5/5

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

    The description is a single, concise sentence with no redundant information. It efficiently communicates the core purpose.

    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 4 parameters, no output schema, and sibling OAuth tools, the description lacks context on how this fits into the OAuth flow, parameter usage, return format, and when to proceed. It is too brief for a complex operation.

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

    Parameters1/5

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

    With 0% schema description coverage, the description must explain parameters. It only mentions 'analytics permissions' but does not describe scopes, forceReauth, scopePreset, or enableFacebookLogin, failing to add meaning beyond names.

    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 tool builds an OAuth URL for Instagram Business Login with analytics permissions, using a specific verb and resource. It distinguishes from siblings like meta_auth_status and meta_exchange_code.

    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 this is the first step in the OAuth flow but does not explicitly state when to use it vs alternatives like meta_refresh_token or meta_exchange_code. No mention of prerequisites or exclusions.

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

  • Behavior3/5

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

    Annotations already provide readOnlyHint=true. Description adds 'read-only GET' and 'exploratory endpoints' context but lacks additional behavioral details like rate limits 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.

    Conciseness5/5

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

    Single sentence, 14 words, direct and efficient. No fluff.

    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?

    No output schema, missing details on response format, error behavior, or authentication. Does not explain that this is for development/testing or warn about potential issues with raw paths.

    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 coverage is low (33% with only path described). Description does not explain the query or accessToken parameters beyond what the schema provides, missing opportunity to clarify their roles.

    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?

    Description clearly states the verb (GET), resource (Meta Instagram Graph), and scope (exploratory endpoints). Distinguishes from sibling tools like meta_get_media which target specific endpoints.

    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?

    Description mentions 'exploratory endpoints' implying it's for experimentation, but does not explicitly state when to use this tool vs the many specific sibling tools, nor provide when-not-to-use guidance.

    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 must disclose all behavioral traits. It mentions 'save it outside the repo' but does not elaborate on side effects, failure modes, authorization requirements, or what happens if the save parameter is false. The description is minimal and lacks transparency for a mutation 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 a single sentence, front-loaded with the action, and contains no unnecessary words. It efficiently conveys the tool's purpose and an optional behavior.

    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?

    The description covers the core operation but omits what the tool returns (e.g., the token itself) and how it integrates with other tools. For a token exchange tool, a brief mention of output or next steps would enhance completeness.

    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?

    Schema description coverage is 0%, so the description must add meaning. It identifies the 'code' parameter as the authorization code and the 'save' parameter as an option to persist the token. This adds value beyond the bare schema, though details like format or behavior of save are missing.

    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 action ('Exchange') and the resource ('Instagram authorization code for a long-lived token'), and distinguishes from sibling tools like meta_build_login_url (which builds the URL to obtain the code) and meta_refresh_token (which refreshes an existing token).

    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?

    While the context of exchanging a code for a token is implied, the description does not explicitly specify when to use this tool versus alternatives like meta_refresh_token or meta_build_login_url. No when-not-to-use or prerequisite conditions are provided.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, so the description adds minimal behavioral context beyond that. The term 'save' might imply client-side storage, but it does not elaborate on any other behavioral traits such as potential side effects or error conditions.

    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 concise, consisting of two well-structured sentences that front-load the core purpose and provide immediate guidance. Every sentence adds value without unnecessary detail.

    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 no output schema, the description should explain the return value, but it only mentions saving an ID without specifying the output format or structure. Additionally, some parameters are not fully explained, making the description adequate but not complete for a tool with 4 parameters.

    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?

    With 0% schema description coverage, the description adds meaning to the pageId and userId parameters by explaining their usage contexts. However, it does not explain the 'save' or 'accessToken' parameters, leaving two out of four parameters without additional semantics.

    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 tool resolves and saves an Instagram professional account ID, with specific instructions for using pageId or userId based on the access method. It is a specific verb+resource combination and distinguishes itself from sibling tools by its unique purpose.

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

    Usage Guidelines4/5

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

    The description provides clear guidance on when to use pageId versus userId, indicating context for use. However, it does not explicitly state when not to use this tool or mention alternatives among the sibling tools, though the context makes it fairly clear.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, so the description's 'Show' is consistent. However, the description adds no additional behavioral context beyond what annotations provide (e.g., no mention of auth requirements or output format).

    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?

    A single front-loaded sentence with no unnecessary words. Every part earns its place, achieving maximum conciseness.

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

    Completeness4/5

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

    Given the tool's simplicity (no parameters, read-only), the description is largely complete. It could optionally elaborate on what scope presets are used for, but not required.

    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?

    Schema coverage is 100% (no parameters). The description adds meaning by specifying the output (scope presets) without needing to explain individual parameters. Baseline for 0 parameters is 4.

    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 'Show supported Instagram OAuth scope presets for this MCP' uses a specific verb (Show) and resource (scope presets), clearly distinguishing it from sibling tools which handle other OAuth and data retrieval tasks.

    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 states the tool's function but does not provide explicit guidance on when to use it versus alternatives or exclude certain contexts. While the purpose is clear, there is no 'when not to use' or comparison with siblings.

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

  • Behavior4/5

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

    Annotations already indicate readOnlyHint=true; description adds that it shows 'redacted token metadata', disclosing sensitivity while confirming non-destructive 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?

    Single sentence, front-loaded, with zero wasted words - every word provides value.

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

    Completeness5/5

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

    Given zero parameters and no output schema, the description fully explains what the tool returns (config and redacted token metadata), making it complete for its simplicity.

    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?

    No parameters exist, so schema coverage is 100% vacuously. Baseline score of 4 applies as description does not need to add parameter info.

    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?

    Description uses specific verb 'Show' and resource 'Meta Instagram MCP configuration and redacted token metadata', clearly distinguishing it from sibling tools that handle auth flows, media, or insights.

    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?

    No explicit guidance on when to use or alternatives, but the name and description imply it's for checking auth status, which is straightforward given the sibling tools.

    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

instagram-mcp-starter MCP server

Copy to your README.md:

Score Badge

instagram-mcp-starter 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/alexfisenkov/instagram-mcp-starter'

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