Skip to main content
Glama

English | 한국어

meta-mcp

npm version License: MIT MCP Badge

Full-coverage MCP server for Instagram Graph API (v26.0), Threads API, and Meta platform management.

When to Use

Tell your AI assistant things like:

  • "Post a photo to Instagram" — publish photos, videos, reels, stories, and carousels

  • "Publish a text post on Threads" — text posts with polls, GIFs, link attachments, and topic tags

  • "Get my Instagram follower count and insights" — account and post-level analytics

  • "Schedule a carousel post" — multi-image albums on Instagram (2-10) or Threads (2-20)

  • "Reply to comments on my latest post" — read and respond to comments on both platforms

  • "Cross-post to Instagram and Threads" — use the built-in content_publish prompt

  • "Get analytics for my Threads account" — views, likes, replies, reposts, quotes, clicks

  • "Manage Instagram DMs" — list conversations, read messages, send replies

AI Agent Integration: See llms.txt for a machine-readable summary, or copy templates/CLAUDE.md / templates/AGENTS.md into your project for automatic MCP discovery.

Related MCP server: @node2flow/instagram-mcp

Features

  • 66 tools across Instagram (33), Threads (27), and Meta platform (6)

  • Instagram: Publish photos/videos/reels/stories/carousels with alt text, manage comments, view insights, search hashtags, handle DMs, manage collaboration invites

  • Threads: Publish text/images/videos/carousels with polls, GIFs, topic tags, link attachments, alt text, spoiler flags, ghost posts, reply approvals, location tags, and Instagram Stories cross-sharing; manage replies and pending reply approvals; search posts and locations; profile/mentions discovery; oEmbed; view insights; delete posts

  • Meta: Token exchange/refresh/debug, webhook management

  • 2 resources: Instagram profile, Threads profile

  • 2 prompts: Cross-platform content publishing, analytics report

  • Rate limit tracking via x-app-usage header

What's New in v2.1.0

  • Graph API v26.0: Upgraded from v25.0 (no deprecated fields/endpoints from the v26.0 changelog were in use)

  • Tenor removed: GIPHY is now the only GIF provider (Tenor was sunset March 31, 2026); gif_provider param dropped

  • Threads Ghost Posts: is_ghost_post on threads_publish_text (auto-archived after 24h)

  • Threads Reply Approvals: enable_reply_approvals on publish tools, plus threads_get_pending_replies and threads_manage_pending_reply

  • Threads → Instagram Stories cross-share: crossreshare_to_ig / crossreshare_to_ig_dark_mode on all publish tools

  • Threads Location Tagging: location_id on publish tools, plus threads_search_locations and threads_get_location

  • Threads Profile Discovery: threads_lookup_profile and threads_get_profile_posts for public profiles

  • Threads Mentions: threads_get_mentions

  • Threads oEmbed: threads_get_oembed for embedding public posts

  • Threads Conversations: threads_get_conversation for flattened (nested) reply threads

  • Fixed threads_search_posts: now calls the correct /keyword_search endpoint with the correct search_mode/search_type parameters (previous version targeted a non-existent endpoint)

  • Post/reply fields expanded with is_verified, profile_picture_url, location_id, root_post, replied_to, reply_audience

What's New in v2.0.0

  • Graph API v25.0: Upgraded from v21.0 (expired Sep 2025) to v25.0 (current)

  • Fixed deprecated metrics: impressions, video_views, engagement replaced with views, reach, saved, shares

  • Threads polls: Create posts with interactive poll attachments

  • Threads GIFs: Attach GIFs from GIPHY or Tenor

  • Threads topic tags: Categorize posts with topic tags

  • Threads link attachments: Attach URL preview cards to text posts

  • Threads post search: Search public posts by keyword or topic tag

  • Threads post deletion: Delete posts (rate limited to 100/day)

  • Threads publishing limit: Check remaining quota

  • Threads quote posts: Quote other posts by ID

  • Threads spoiler flag: Mark content as spoiler

  • Threads alt text: Add accessibility descriptions to all media types

  • Threads new reply controls: parent_post_author_only and followers_only options

  • Instagram alt text: Support for photo, reel, and carousel items

  • Instagram collaboration invites: Query and respond to collab invites

  • Updated insights metrics: New clicks, reposts, reels_skip_rate metrics

Account Requirements

Platform

Account Type

Notes

Instagram

Business or Creator account

Personal accounts cannot use the Graph API. Free to switch in Instagram settings

Threads

Any account

All Threads accounts can use the API (Instagram account link no longer required since Sep 2025)

Meta (token/webhook tools)

Meta Developer App

Create at developers.facebook.com

Installation

{
  "mcpServers": {
    "meta": {
      "command": "npx",
      "args": ["-y", "@mikusnuz/meta-mcp"],
      "env": {
        "INSTAGRAM_ACCESS_TOKEN": "your_ig_token",
        "INSTAGRAM_USER_ID": "your_ig_user_id",
        "INSTAGRAM_MESSAGING_ACCESS_TOKEN": "your_page_access_token",
        "INSTAGRAM_PAGE_ID": "your_linked_page_id",
        "THREADS_ACCESS_TOKEN": "your_threads_token",
        "THREADS_USER_ID": "your_threads_user_id"
      }
    }
  }
}

Manual

git clone https://github.com/mikusnuz/meta-mcp.git
cd meta-mcp
npm install
npm run build
{
  "mcpServers": {
    "meta": {
      "command": "node",
      "args": ["/path/to/meta-mcp/dist/index.js"],
      "env": {
        "INSTAGRAM_ACCESS_TOKEN": "your_ig_token",
        "INSTAGRAM_USER_ID": "your_ig_user_id",
        "INSTAGRAM_MESSAGING_ACCESS_TOKEN": "your_page_access_token",
        "INSTAGRAM_PAGE_ID": "your_linked_page_id",
        "THREADS_ACCESS_TOKEN": "your_threads_token",
        "THREADS_USER_ID": "your_threads_user_id"
      }
    }
  }
}

Environment Variables

Variable

Required

Description

INSTAGRAM_ACCESS_TOKEN

For Instagram

Instagram Graph API access token

INSTAGRAM_USER_ID

For Instagram

Instagram Business/Creator account ID

INSTAGRAM_MESSAGING_ACCESS_TOKEN

For Instagram DMs

Page access token for Instagram Messaging with Facebook Login

INSTAGRAM_PAGE_ID

For Instagram DMs

Facebook Page ID linked to the Instagram professional account

THREADS_ACCESS_TOKEN

For Threads

Threads API access token

THREADS_USER_ID

For Threads

Threads user ID

META_APP_ID

For token/webhook tools

Meta App ID

META_APP_SECRET

For token/webhook tools

Meta App Secret

You only need to set the variables for the platforms you use. For example, if you only use Threads, just set THREADS_ACCESS_TOKEN and THREADS_USER_ID.

Tools

Meta Platform (6)

Tool

Description

meta_exchange_token

Exchange short-lived token for long-lived token (~60 days)

meta_refresh_token

Extend an Instagram/Facebook token or refresh a Threads token (platform selects the flow)

meta_debug_token

Inspect token validity, expiration, and scopes

meta_get_app_info

Get Meta App information

meta_subscribe_webhook

Subscribe to webhook notifications

meta_get_webhook_subscriptions

List current webhook subscriptions

Instagram — Publishing (6)

Tool

Description

ig_publish_photo

Publish a photo post (supports alt_text)

ig_publish_video

Publish a video post

ig_publish_carousel

Publish a carousel/album (2-10 items, supports alt_text per item)

ig_publish_reel

Publish a Reel (supports alt_text)

ig_publish_story

Publish a Story (24hr)

ig_get_container_status

Check media container processing status

Instagram — Media (5)

Tool

Description

ig_get_media_list

List published media

ig_get_media

Get media details

ig_delete_media

Delete a media post

ig_get_media_insights

Get media analytics (views, reach, saved, shares)

ig_toggle_comments

Enable/disable comments on a post

Instagram — Comments (7)

Tool

Description

ig_get_comments

Get comments on a post

ig_get_comment

Get comment details

ig_post_comment

Post a comment

ig_get_replies

Get replies to a comment

ig_reply_to_comment

Reply to a comment

ig_hide_comment

Hide/unhide a comment

ig_delete_comment

Delete a comment

Instagram — Profile & Insights (5)

Tool

Description

ig_get_profile

Get account profile info

ig_get_account_insights

Get account-level analytics (views, reach, follower_count)

ig_business_discovery

Look up another business account

ig_get_collaboration_invites

Get pending collaboration invites

ig_respond_collaboration_invite

Accept or decline collaboration invites

Instagram — Hashtags (4)

Tool

Description

ig_search_hashtag

Search hashtag by name

ig_get_hashtag

Get hashtag info

ig_get_hashtag_recent

Get recent media for a hashtag

ig_get_hashtag_top

Get top media for a hashtag

Instagram — Mentions & Tags (2)

Tool

Description

ig_get_mentioned_comments

Get comments mentioning you

ig_get_tagged_media

Get media you're tagged in

Instagram — Messaging (4)

Tool

Description

ig_get_conversations

List DM conversations

ig_get_messages

Get messages in a conversation

ig_send_message

Send a DM

ig_get_message

Get message details

Threads — Publishing (7)

Tool

Description

threads_publish_text

Publish a text post (polls, GIFs, link attachments, topic tags, quote posts, spoiler flag, ghost posts, reply approvals, location tag, IG Stories cross-share)

threads_publish_image

Publish an image post (alt_text, topic tags, spoiler flag, reply approvals, location tag, IG Stories cross-share)

threads_publish_video

Publish a video post (alt_text, topic tags, spoiler flag, reply approvals, location tag, IG Stories cross-share)

threads_publish_carousel

Publish a carousel (2-20 items, alt_text per item, reply approvals, location tag, IG Stories cross-share)

threads_delete_post

Delete a post (max 100/day)

threads_get_container_status

Check container processing status

threads_get_publishing_limit

Check remaining publishing quota (250 posts/day)

Threads — Media & Search (4)

Tool

Description

threads_get_posts

List published posts (includes topic_tag, poll, GIF, location, verification fields)

threads_get_post

Get post details

threads_get_profile_posts

List a public profile's posts by username (Profile Discovery)

threads_search_posts

Search public posts via /keyword_search by keyword or topic tag, filterable by media type and author

Threads — Replies (7)

Tool

Description

threads_get_replies

Get top-level replies to a post

threads_get_conversation

Get all replies (flattened, including nested) to a post

threads_reply

Reply to a post (supports image/video attachments)

threads_hide_reply

Hide a reply

threads_unhide_reply

Unhide a reply

threads_get_pending_replies

Get replies awaiting approval on a post with reply approvals enabled

threads_manage_pending_reply

Approve or ignore a pending reply

Threads — Profile & Discovery (3)

Tool

Description

threads_get_profile

Get Threads profile info (includes is_verified)

threads_get_user_threads

List user's threads

threads_lookup_profile

Look up a public profile by username (Profile Discovery)

Threads — Mentions (1)

Tool

Description

threads_get_mentions

Get posts where the user was @mentioned

Threads — Locations (2)

Tool

Description

threads_search_locations

Search for locations to tag, by query or coordinates

threads_get_location

Get a location object by ID

Threads — Tools & Resources (1)

Tool

Description

threads_get_oembed

Get embed HTML/metadata for a public post

Threads — Insights (2)

Tool

Description

threads_get_post_insights

Get post analytics (views, likes, replies, reposts, quotes, clicks)

threads_get_user_insights

Get account-level analytics (also available to Threads profiles without a linked Instagram account)

Resources

Resource URI

Description

instagram://profile

Instagram account profile data

threads://profile

Threads account profile data (includes is_verified)

Prompts

Prompt

Description

content_publish

Cross-post content to Instagram and Threads

analytics_report

Generate combined analytics report

Setup Guide

Step 1: Create a Meta Developer App

All platforms (Instagram, Threads) require a Meta Developer App.

  1. Go to developers.facebook.com and log in

  2. Click "My Apps""Create App"

  3. Select "Other""Business" (or "None" for personal use)

  4. Enter an app name and create

Your META_APP_ID and META_APP_SECRET are in App Settings → Basic.

Step 2: Instagram Setup

Requires an Instagram Business or Creator account. Switch for free in Instagram app → Settings → Account type.

  1. In your Meta App, go to "Add Products" → add "Instagram Graph API"

  2. Go to "Instagram Graph API" → "Settings" and connect your Instagram Business account via a Facebook Page

  3. Open the Graph API Explorer

    • Select your app

    • Add permissions: instagram_basic, instagram_content_publish, instagram_manage_comments, instagram_manage_insights, instagram_manage_contents, instagram_manage_messages, pages_show_list, pages_read_engagement, pages_manage_metadata

    • Click "Generate Access Token" and authorize

  4. The generated token is short-lived (~1 hour). Exchange it for a long-lived token (~60 days):

    GET https://graph.facebook.com/v26.0/oauth/access_token
      ?grant_type=fb_exchange_token
      &client_id=YOUR_APP_ID
      &client_secret=YOUR_APP_SECRET
      &fb_exchange_token=SHORT_LIVED_TOKEN

    Or use the meta_exchange_token tool after setup.

  5. Get your Instagram User ID — call this with your token:

    GET https://graph.facebook.com/v26.0/me/accounts?fields=id,name,access_token&access_token=YOUR_TOKEN

    This returns your Facebook Pages. For each page, get the linked Instagram account:

    GET https://graph.facebook.com/v26.0/{page-id}?fields=instagram_business_account&access_token=YOUR_TOKEN

    The instagram_business_account.id is your INSTAGRAM_USER_ID (a numeric ID like 17841400123456789). For the DM tools, the matching Page's id is INSTAGRAM_PAGE_ID and its access_token is INSTAGRAM_MESSAGING_ACCESS_TOKEN. Do not use the IG User ID or the user token in their place.

Step 3: Threads Setup

Works with any Threads account (personal or business). Instagram account link is no longer required since September 2025.

  1. In your Meta App, go to "Add Products" → add "Threads API"

  2. Go to "Threads API" → "Settings":

    • Add your Threads account as a Threads Tester under "Roles"

    • Accept the invitation in the Threads app: Settings → Account → Website permissions → Invites

  3. Generate an authorization URL:

    https://threads.net/oauth/authorize
      ?client_id=YOUR_APP_ID
      &redirect_uri=YOUR_REDIRECT_URI
      &scope=threads_basic,threads_content_publish,threads_manage_insights,threads_manage_replies,threads_read_replies,threads_keyword_search,threads_manage_mentions,threads_delete,threads_location_tagging,threads_profile_discovery
      &response_type=code
    • For local testing, use https://localhost/ as redirect URI (configure in App Settings → Threads API → Redirect URIs)

  4. After authorization, exchange the code for an access token:

    POST https://graph.threads.net/oauth/access_token
    Content-Type: application/x-www-form-urlencoded
    
    client_id=YOUR_APP_ID
    &client_secret=YOUR_APP_SECRET
    &grant_type=authorization_code
    &redirect_uri=YOUR_REDIRECT_URI
    &code=AUTHORIZATION_CODE
  5. Exchange for a long-lived token (~60 days):

    GET https://graph.threads.net/access_token
      ?grant_type=th_exchange_token
      &client_secret=YOUR_APP_SECRET
      &access_token=SHORT_LIVED_TOKEN
  6. Get your Threads User ID — call this with your token:

    GET https://graph.threads.net/v1.0/me?fields=id,username&access_token=YOUR_TOKEN

    The id field is your THREADS_USER_ID (a numeric ID like 1234567890).

Step 4: Configure Environment Variables

Set only the variables for the platforms you use:

# Instagram (requires Business/Creator account)
INSTAGRAM_ACCESS_TOKEN=EAAxxxxxxx...     # Long-lived token from Step 2
INSTAGRAM_USER_ID=17841400123456789      # Numeric ID from Step 2.5
INSTAGRAM_MESSAGING_ACCESS_TOKEN=EAA...  # Page token from Step 2.5 (DM tools only)
INSTAGRAM_PAGE_ID=123456789012345        # Linked Facebook Page ID (DM tools only)

# Threads (any account)
THREADS_ACCESS_TOKEN=THQWxxxxxxx...      # Long-lived token from Step 3
THREADS_USER_ID=1234567890               # Numeric ID from Step 3.6

# Meta App (for token management & webhooks)
META_APP_ID=123456789012345              # From App Settings → Basic
META_APP_SECRET=abcdef0123456789abcdef   # From App Settings → Basic

Token Renewal

Access tokens expire after ~60 days. Refresh before expiration:

  • Instagram: Use meta_refresh_token with platform=instagram (requires META_APP_ID and META_APP_SECRET)

  • Threads: Use meta_refresh_token with platform=threads or call:

    GET https://graph.threads.net/refresh_access_token
      ?grant_type=th_refresh_token
      &access_token=CURRENT_LONG_LIVED_TOKEN

You can check token status anytime with meta_debug_token.

Deprecated Metrics (v22.0+)

The following Instagram metrics were deprecated in Graph API v22.0 (January 2025) and removed for all versions on April 21, 2025:

Deprecated Metric

Replacement

impressions

views

video_views

views

plays

views

clips_replays_count

views

engagement

saves + shares + likes + comments

email_contacts

Removed (no replacement)

phone_call_clicks

Removed (no replacement)

text_message_clicks

Removed (no replacement)

get_directions_clicks

Removed (no replacement)

website_clicks

Removed (no replacement)

profile_views

Removed (no replacement)

License

MIT

Available Tools

57 tools
ig_business_discoveryA

Look up another Instagram Business/Creator account's public info by username.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesInstagram username to look up (without @)
fieldsNoFields to retrieve (default: id,username,name,biography,followers_count,follows_count,media_count)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states a read operation ('Look up'), but does not disclose any behavioral traits such as rate limits, authentication requirements, or side effects. The minimal information is not insufficient for a tool with no annotations.

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?

One sentence, highly concise, front-loaded with verb and resource. No wasted words.

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 lookup tool with no output schema, the description is adequate but minimal. It lacks usage context, response format, or caveats. Given many sibling tools, more completeness would help, but basic purpose is clear.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds no extra meaning beyond the schema. It mentions 'by username', but that is already in the schema's description for the username 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?

The description clearly states the verb (look up), resource (another Instagram Business/Creator account's public info), and method (by username). It distinguishes from sibling tools like ig_get_profile, which is for the authenticated user's profile.

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 looking up other accounts, not your own, but does not explicitly state when to use this tool versus alternatives like ig_get_profile or ig_get_media_list. No exclusion or alternative guidance is provided.

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

ig_delete_commentA

Delete a comment from your media post. This action is irreversible.

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYesComment ID to delete

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description discloses the critical behavioral trait of irreversibility. It does not cover other potential traits like permission requirements, rate limits, or effects on replies, but the core destructive nature is clearly stated.

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 two short sentences (10 words total). It front-loads the action and includes only essential information: what the tool does and the key behavioral note about irreversibility.

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 (one parameter, no output schema), the description adequately covers purpose and a key behavioral trait. It could be improved by specifying ownership requirements or error conditions, but it is largely sufficient for an 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 input schema covers the single parameter comment_id with 100% description coverage. The tool's description adds only the context that it is a comment deletion and that the action is irreversible, which adds minimal value beyond the schema.

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 'Delete' and the resource 'a comment from your media post', making the tool's purpose unambiguous. It distinguishes itself from siblings like ig_hide_comment (reversible) and ig_get_comment (read-only).

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 provides implicit usage guidance by noting irreversibility, suggesting caution. However, it does not explicitly state when to use this tool versus alternatives like ig_hide_comment, nor does it mention prerequisites such as ownership of the media.

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

ig_delete_mediaA

Delete an Instagram media post (posts, carousels, reels, stories). This action is irreversible. Requires instagram_manage_contents permission.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesMedia ID to delete

TDQS

A4.2/5.0
Behavior4/5

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

Despite no annotations, the description discloses irreversibility and required permission, covering key behavioral traits for a delete tool.

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

Conciseness5/5

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

Two sentences, no filler, front-loaded with the action and scope—exemplary 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?

For a simple single-parameter delete tool without output schema, the description covers core behavior, irreversibility, and permissions; lacks return value or error details but is largely adequate.

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 schema already describes the media_id parameter with 100% coverage, and the description adds no extra parameter context beyond the tool's action.

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 it deletes Instagram media posts and lists specific types (posts, carousels, reels, stories), distinguishing it from sibling tools like ig_delete_comment.

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 usage warnings (irreversible) and required permission (instagram_manage_contents), but does not explicitly contrast with alternatives like hiding or archiving.

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

ig_get_account_insightsB

Get Instagram account insights. Note: 'impressions', 'email_contacts', 'phone_call_clicks', 'text_message_clicks', 'get_directions_clicks', 'website_clicks', 'profile_views' were deprecated in v22.0. Use 'views', 'reach', 'follower_count', 'reposts' instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricYesComma-separated metrics: views,reach,follower_count,reposts,accounts_engaged,total_interactions
periodYesAggregation period
sinceNoStart date (Unix timestamp or ISO 8601)
untilNoEnd date (Unix timestamp or ISO 8601)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description bears full responsibility. It fails to disclose behavioral traits like authentication requirements, rate limits, or the read-only nature of insights. The deprecation note is helpful but insufficient.

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: one sentence for purpose plus a clear note on deprecations. It is front-loaded with the main function. Minor improvement could be separating the note into bullet points for clarity.

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

Completeness3/5

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

Adequate for a tool with well-documented schema and deprecation context, but lacks any mention of return values or output structure, which would help the agent interpret results. No output schema exists, so description should compensate.

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?

Input schema covers all 4 parameters with descriptions (100% coverage). The description adds value by listing deprecated metrics and their replacements, which is not in the schema, helping the agent choose valid metrics.

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 states 'Get Instagram account insights' with a clear verb and resource. It also mentions deprecated metrics and their replacements, adding specificity. However, it does not explicitly differentiate from sibling tools like ig_get_media_insights, though the name implies account-level 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 on when to use this tool versus alternatives. The description only notes deprecated metrics, not context or prerequisites for appropriate usage.

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

ig_get_collaboration_invitesB

Get pending collaboration invites for the Instagram account. Added in December 2025.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
afterNoPagination cursor

TDQS

B3/5.0
Behavior2/5

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

No annotations are present, so the description bears full responsibility for behavioral traits. The description only states the action and a version note; it does not mention authentication requirements, rate limits, read-only nature, or what happens when there are no pending invites. This is insufficient for a tool that may involve user data.

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 very concise (one sentence) but lacks important context such as return format or usage hints. While it is not verbose, the brevity sacrifices clarity, making it average for conciseness.

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?

The tool has two parameters and no output schema, but the description does not explain the return value structure, pagination behavior, or how pending invites are represented. Given the moderate complexity of a paginated list, the description is incomplete.

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

Parameters3/5

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

Schema description coverage is 100% with descriptions for 'limit' and 'after' already provided in the input schema. The tool description adds no additional meaning beyond those definitions, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action 'Get pending collaboration invites for the Instagram account.' The verb 'Get' and resource 'pending collaboration invites' are specific, and the tool is easily distinguished from siblings like 'ig_respond_collaboration_invite' which handles responses.

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. Although a sibling 'ig_respond_collaboration_invite' exists, the description does not mention that this tool should be used first to list invites before responding. There is no context on prerequisites or exclusions.

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

ig_get_commentB

Get details of a specific comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYesComment ID

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'Get details', implying a read operation, but doesn't specify whether it requires authentication, has rate limits, or any side effects. Critical context is missing.

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 wasted words. It is appropriately short for a simple get operation, though it could include more useful context without becoming verbose.

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 there is no output schema, the description should explain what 'details' constitute (e.g., fields returned). It fails to do so, making it incomplete for an agent to understand what information the tool provides.

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

Parameters3/5

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

Schema coverage is 100% (the parameter 'comment_id' is described as 'Comment ID'). The description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description 'Get details of a specific comment' clearly states the action and resource. It differentiates from siblings like 'ig_get_comments' (list) and 'ig_delete_comment' (delete), so purpose is unambiguous.

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 provided on when to use this tool versus alternatives. For example, it doesn't explain when to use this over 'ig_get_comments' or 'ig_get_mentioned_comments', leaving the agent without decision context.

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

ig_get_commentsC

Get comments on a specific Instagram media post.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesMedia ID
limitNoNumber of comments to return
afterNoPagination cursor

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states 'get comments', omitting details like pagination support, return format, or whether replies are included.

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, no extraneous words. Highly concise.

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 3-param tool with no output schema, description lacks details on return value, pagination behavior, and what the tool does beyond the minimal statement.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description adds no additional meaning beyond schema parameter names.

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 verb 'Get' and resource 'comments on a specific Instagram media post.' Plural form distinguishes it from sibling ig_get_comment. However, it does not specify that it returns a list or supports pagination.

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 vs alternatives like ig_get_comment. No prerequisites or context provided.

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

ig_get_container_statusA

Check the processing status of a media container (useful for videos).

ParametersJSON Schema
NameRequiredDescriptionDefault
container_idYesContainer ID to check

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states the action but does not disclose behavioral aspects like whether it is read-only, what statuses are returned, or any prerequisites. Lacks 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?

Single sentence of 12 words, front-loaded with key information. No extraneous content.

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 one-parameter tool with no output schema, the description explains the purpose but does not include return value or behavior. Could be improved with status examples or note about destructiveness.

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 covers 100% of parameters with clear description. The description adds no additional meaning beyond the schema, achieving baseline score.

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 'check' and the resource 'processing status of a media container', with added context that it is useful for videos. It is specific and distinguishes from sibling 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 checking video container status but does not explicitly provide when to use or not use, nor mentions alternatives. Usage context is only implied.

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

ig_get_conversationsB

Get Instagram DM conversations list. Requires 'instagram_manage_messages' permission and the Instagram Messaging API.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderNoFolder to retrieve (default: inbox)
limitNoNumber of conversations
afterNoPagination cursor

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states 'Get list' without mentioning read-only nature, rate limits, pagination behavior, or response details. The 'after' cursor parameter implies pagination but is not explained, leaving 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.

Conciseness4/5

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

The description is a single, efficient sentence that conveys purpose and prerequisites. It is front-loaded and scannable, with no wasted words. However, it could be slightly more structured (e.g., separate lines for permission), but overall it earns a high score.

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 low parameter count (3 optional) and lack of output schema, the description is partially complete. It covers the basic purpose and authorization, but lacks details on pagination handling and response structure, which would be useful for the agent to invoke correctly.

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 input schema has 100% description coverage for all three parameters (folder, limit, after). The description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Get Instagram DM conversations list', specifying the verb ('get') and resource ('conversations list'). This distinguishes it from sibling tools like ig_get_message (individual message) and ig_get_messages (messages in a conversation), avoiding ambiguity.

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 required permissions ('instagram_manage_messages' and Instagram Messaging API), providing essential context. However, it does not specify when to use this tool over alternatives or when not to use it, leaving the agent to infer usage from the tool name.

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

ig_get_hashtagC

Get hashtag information by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashtag_idYesHashtag ID (from ig_search_hashtag)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral traits. It does not disclose any behaviors such as authentication requirements, rate limits, error cases, or the nature of the returned data. The minimal description offers no transparency beyond the basic action.

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 extremely concise (5 words), but it sacrifices useful information. While it is structurally simple, it is not well-structured with front-loaded key details. It could include more context without losing conciseness.

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 is simple with one parameter and no output schema, the description should at least hint at the return value or source of the ID. It fails to provide sufficient context for an agent to understand the full usage pattern.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter described as 'Hashtag ID (from ig_search_hashtag)'. The description adds no further meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action (Get), resource (hashtag information), and method (by ID). It distinguishes from siblings like ig_get_hashtag_recent and ig_get_hashtag_top by being the generic retrieval tool. However, it does not specify what 'information' includes.

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 siblings such as ig_get_hashtag_recent or ig_get_hashtag_top. The schema mentions that the ID comes from ig_search_hashtag, but the description itself lacks context for appropriate usage.

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

ig_get_hashtag_recentC

Get recent media tagged with a specific hashtag.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashtag_idYesHashtag ID
limitNoNumber of results
afterNoPagination cursor

TDQS

C2.9/5.0
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, but it only states the basic purpose. It does not mention pagination behavior, rate limits, data freshness, or what happens if the hashtag does not exist. For a data retrieval tool, 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 a single, clear sentence with no extraneous words. It is appropriately concise for the tool's simplicity.

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?

The tool has no output schema and no annotations, and the description is minimal. It does not explain the return format, pagination details, or any side effects. While the tool is simple, the description lacks enough detail for an agent to use it confidently without additional 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?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond what is in the schema, such as formatting or constraints. Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('get') and resource ('recent media tagged with a specific hashtag'), making the tool's purpose obvious. It implicitly distinguishes from siblings like ig_get_hashtag_top (which retrieves top media) and ig_get_hashtag (which gets hashtag metadata), but does not explicitly differentiate.

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 ig_get_hashtag_top or ig_search_hashtag. It lacks any context about prerequisites, limitations, or appropriate use cases.

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

ig_get_hashtag_topB

Get top (most popular) media tagged with a specific hashtag.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashtag_idYesHashtag ID
limitNoNumber of results
afterNoPagination cursor

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It fails to mention pagination, authentication, rate limits, or define how 'top' is determined, leaving agents underinformed.

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 with no superfluous words, making it concise and easily parsed.

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?

Although parameter coverage is high, the description lacks output format, pagination behavior, and definition of 'top'. No output schema exists, so more context is needed for completeness.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions (e.g., 'Hashtag ID') and does not explain the 'after' cursor for pagination.

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 it retrieves top (most popular) media for a hashtag. The 'top' qualifier distinguishes it from ig_get_hashtag_recent, but does not explicitly mention this differentiation.

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 use when wanting popular hashtag content, but provides no explicit guidance on when not to use it (e.g., consider ig_get_hashtag_recent for recent posts) or alternatives.

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

ig_get_mediaB

Get details of a specific Instagram media post.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesMedia ID
fieldsNoComma-separated fields (default: id,caption,media_type,media_url,permalink,timestamp,like_count,comments_count)

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'get details' without mentioning authentication, rate limits, or what happens if the media is not found. This is insufficient for an agent to understand side effects or prerequisites.

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 with no fluff. It is front-loaded with the key action and resource, 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 no output schema, the description is minimally adequate for a simple retrieval tool. However, it lacks context about what fields are returned (though default fields are in the schema). For the number of siblings, it could benefit from more differentiation hints.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions; it merely restates the tool's purpose. Since the schema already explains parameters, this is adequate.

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 'Get details of a specific Instagram media post' uses a specific verb (Get) and clear resource (details of a specific Instagram media post), effectively distinguishing it from siblings like ig_get_media_list (list) and ig_get_comment (comment).

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. For instance, it does not specify that this is for a single media post by ID while ig_get_media_list is for multiple posts. An agent would need to infer from the tool name.

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

ig_get_media_insightsA

Get insights/analytics for a specific media post. Note: 'impressions' and 'video_views' were deprecated in v22.0 — use 'views' instead. Available metrics: views, reach, saved, shares, likes, comments, reposts, reels_skip_rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesMedia ID
metricNoComma-separated metrics (default: views,reach,saved,shares). For REEL add: likes,comments,reposts,reels_skip_rate

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the deprecation of 'impressions' and 'video_views' and lists all available metrics. This is good transparency for the metric parameter, though it does not mention permissions, rate limits, 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?

The description is extremely concise, consisting of just two sentences. The first sentence states the purpose, and the second provides essential details (deprecation and metric list). No unnecessary words.

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 (2 params, no output schema), the description is mostly complete. It covers purpose, deprecation, and metrics. However, it could be enhanced by briefly describing the expected return structure or error conditions.

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 already describes both parameters with 100% coverage. The description adds value by summarizing all valid metrics and noting deprecation, which goes beyond the schema's default and REEL note.

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 ('Get insights/analytics') and the target resource ('a specific media post'). It distinguishes from sibling tools like 'ig_get_account_insights' (account-level) and 'ig_get_media' (basic data) by specifying media post analytics.

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 provides clear context for using the tool (e.g., mention of deprecation and available metrics). However, it does not explicitly state when to use this tool over alternatives, nor does it include exclusions or prerequisites.

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

ig_get_media_listB

Get list of media published on the Instagram account.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results (max 100, default 25)
afterNoPagination cursor for next page
beforeNoPagination cursor for previous page

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must carry behavioral disclosure. It implies read-only but does not mention permissions, rate limits, or pagination behavior beyond schema details. Minimal added value.

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 purpose, no wasted words. Highly concise and 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?

No output schema, so return format is not described. Lacks required auth context. For a paginated list tool, more context is needed (e.g., response structure).

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

Parameters3/5

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

Schema coverage is 100% (all parameters described in schema). Description adds no extra meaning beyond schema, so baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Get list of media published on the Instagram account,' specifying the verb (get), resource (list of media), and scope (published on account). It distinguishes from siblings like ig_get_media (single media) and ig_get_tagged_media.

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. Siblings like ig_get_media or ig_get_tagged_media exist, but the description does not provide context for choosing among them.

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

ig_get_mentioned_commentsB

Get comments where the account was @mentioned. Returns the media and comment details.

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYesComment ID from a mention notification
fieldsNoFields to return (default: id,text,timestamp,username,media)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description carries full responsibility. It fails to state that this is a read operation or disclose any permissions needed. It also does not clarify that the tool fetches a single comment by ID despite the name 'get_comments'.

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

Conciseness5/5

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

Two sentences with no extraneous information. The purpose and output are front-loaded, making it easy to scan.

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 is adequate for a simple tool with two parameters, but it could mention the exact fields available in the response or handling of errors. Without an output schema, the description is somewhat vague about return format.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds minimal value beyond the schema, mostly restating the parameter purposes. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool's function (get @mentioned comments) and what it returns (media and comment details). It distinguishes from similar tools like ig_get_comment and ig_get_comments by specifying the 'mentioned' context.

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 ig_get_comment or ig_get_comments. It does not specify prerequisites or context for use.

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

ig_get_messageC

Get details of a specific DM message.

ParametersJSON Schema
NameRequiredDescriptionDefault
message_idYesMessage ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden of disclosing behavioral traits. It does not mention authorization needs, error conditions, side effects, or read-only behavior. Only the basic retrieval action is stated.

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 (one short sentence) and front-loaded with the verb. However, it omits important details that could enhance usability without significantly increasing length.

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?

The tool has no output schema and no annotations, so the description should provide more context about what 'details' entails. The one-liner is insufficient for an agent to fully understand the tool's behavior.

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 schema has 100% coverage of the single parameter with a description that matches the parameter name. The description adds no further meaning (e.g., format, constraints, examples), so baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('Get details') and the resource ('a specific DM message'). It is specific and unambiguous, but does not explicitly differentiate from sibling tools like ig_get_messages, though the name helps.

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 context on prerequisites, scenarios, or exclusions. The description is purely functional.

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

ig_get_messagesB

Get messages in a specific DM conversation.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_idYesConversation ID
limitNoNumber of messages
afterNoPagination cursor

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description is the sole source of behavioral info. It only states 'Get messages,' implying read-only, but offers no details on pagination behavior, error handling, authentication 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.

Conciseness4/5

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

The description is a single sentence that efficiently conveys the tool's purpose. It is well-structured and front-loaded, though it could be slightly expanded with critical usage notes without sacrificing conciseness.

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 fetch tool with three parameters and no output schema, the description is adequate but lacks explanation of pagination via the 'after' parameter and does not describe the response format. Additional context on common use cases or limitations would improve completeness.

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

Parameters3/5

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

Schema coverage is 100% with all three parameters described in the schema (e.g., 'Conversation ID', 'Number of messages', 'Pagination cursor'). The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Get messages in a specific DM conversation' uses a specific verb ('Get') and clearly identifies the resource ('messages') and scope ('in a specific DM conversation'). It distinguishes itself from sibling tools like ig_get_conversations (lists conversations) and ig_get_message (single message).

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 ig_get_message for a single message or ig_get_conversations for listing conversations. The description lacks explicit context, exclusions, or conditional advice.

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

ig_get_profileB

Get Instagram Business/Creator account profile information.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'get...profile information' without disclosing behavioral traits like authentication needs, rate limits, data freshness, or any side effects. This is insufficient for a tool that accesses sensitive social media data.

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 front-loaded with the verb. It earns its place by being direct, but could be slightly expanded without losing conciseness.

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 no annotations, the description fails to provide enough context about what profile information is returned (e.g., fields like username, follower count). For a data-fetching tool, this omission makes it less complete.

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 zero parameters, so schema coverage is 100%. The description adds no extra parameter meaning, but with no parameters, the baseline is 4 as there is nothing to elaborate. The description does not explain the output structure, but that is separate.

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 it retrieves Instagram Business/Creator account profile information, specifying the verb 'get' and the resource 'profile'. However, it does not explicitly differentiate from other 'get' tools like ig_get_media or ig_get_account_insights, which reduces clarity among siblings.

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 ig_get_account_insights or ig_get_media_list. There is no mention of prerequisites, context, or exclusions, leaving the agent without decision support.

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

ig_get_repliesB

Get replies to a specific comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYesComment ID to get replies for
limitNoNumber of replies to return
afterNoPagination cursor

TDQS

B3.2/5.0
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 adds no behavioral details (e.g., authentication, rate limits, or what happens if the comment does not exist). Only restates the 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?

One short sentence with no unnecessary words. Perfectly concise and front-loaded.

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 three parameters, many siblings, and no output schema, the description is too minimal. It lacks pagination details, ordering, or error handling hints, making it incomplete for 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?

Schema coverage is 100% with all parameters documented. The description does not add meaning beyond the schema (e.g., explanation of 'after' cursor or 'limit' default). Baseline 3 is appropriate.

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

Purpose5/5

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

The description 'Get replies to a specific comment' clearly states a specific verb and resource, distinguishing it from siblings like 'ig_get_comments' or 'ig_reply_to_comment'.

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 'threads_get_replies' or how pagination works. The single sentence provides no usage context.

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

ig_get_tagged_mediaA

Get media where the account is tagged (photo tags, not @mentions).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
afterNoPagination cursor

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It clarifies the type of tags but omits details like pagination behavior (despite 'after' parameter), authentication needs, or error conditions. The description adds minimal behavioral context beyond the function name.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no wasted words. It efficiently conveys the purpose and a key distinction (photo tags vs @mentions).

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 list tool with two parameters and no output schema, the description is adequate but lacks details on return format, pagination, or ordering. Siblings have similar patterns, so the description minimally separates the tool but could be more complete.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters ('Number of results' for limit, 'Pagination cursor' for after). The description adds no extra parameter meaning, meeting baseline but not exceeding.

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 'Get' and resource 'media where the account is tagged', and explicitly distinguishes from @mentions, making purpose specific and differentiating from siblings like ig_get_media or ig_get_mentioned_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 description implies usage for retrieving photo tags but does not provide explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, leaving the agent to infer context from the tool name and sibling list.

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

ig_hide_commentB

Hide or unhide a comment on your post.

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYesComment ID
hideYestrue to hide, false to unhide

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states action; does not disclose effects (visibility changes), reversibility, permissions, or limitations.

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, no filler. Efficient and front-loaded.

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 return value, error conditions, and behavioral details. For a tool with two required params, more completeness is expected.

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 covers both parameters (comment_id, hide) with explicit descriptions. Description adds no extra meaning; baseline score for high schema coverage.

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?

Clear verb+resource: 'Hide or unhide a comment on your post.' Distinct from siblings like ig_delete_comment (delete) and ig_toggle_comments (global toggle).

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 vs alternatives such as ig_delete_comment or ig_toggle_comments. Missing context about prerequisites (e.g., post ownership).

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

ig_post_commentB

Post a top-level comment on a media post.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesMedia ID to comment on
messageYesComment text

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description does not disclose behavioral traits like required authentication, permissions, potential failures, or side effects. It merely states the action without any operational context.

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, front-loaded sentence with no unnecessary words. It is appropriately sized for a simple action, though it could benefit from slightly more context without becoming verbose.

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 simplicity of the input schema and no output schema, the description is minimal. It fails to provide sufficient context about the broader workflow, such as when to post a comment versus reply or delete.

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

Parameters3/5

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

Schema coverage is 100% and both parameters have descriptions. The tool description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('post') and the resource ('top-level comment on a media post'). It distinguishes from sibling tools like ig_reply_to_comment and ig_delete_comment by specifying 'top-level'.

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 ig_reply_to_comment or ig_get_comments. The description lacks context about prerequisites or situations where this tool is appropriate.

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

ig_publish_photoA

Publish a photo to Instagram. Two-step process: creates container then publishes. Requires image_url (publicly accessible HTTPS URL).

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesPublic HTTPS URL of the image (JPEG only)
captionNoPost caption (max 2200 chars)
location_idNoFacebook Page location ID
user_tagsNoJSON array of user tags: [{username, x, y}]
alt_textNoAlt text for accessibility

TDQS

A3.8/5.0
Behavior4/5

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

Despite no annotations, the description reveals the two-step creation-publishing process and the HTTPS URL requirement, adding behavioral context beyond the schema. However, it could detail error conditions or rate limits.

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 at two sentences, front-loading the purpose and key requirement without unnecessary words.

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 5 parameters, no output schema, and a two-step internal process, the description lacks crucial context about return values, error handling, and how to monitor the publishing process (e.g., using ig_get_container_status).

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description only adds the requirement for image_url, which is covered; it does not significantly enhance parameter meaning.

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 publishes a photo to Instagram using a two-step process, distinguishing it from sibling tools like ig_publish_video or ig_publish_carousel.

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 the requirement for a publicly accessible HTTPS image URL but does not explicitly guide when to use this tool versus alternatives (e.g., ig_publish_video for videos) or when not to use it.

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

ig_publish_reelC

Publish a Reel (short video). Waits for video processing.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_urlYesPublic HTTPS URL of the video
captionNoReel caption
cover_urlNoCustom cover image URL
share_to_feedNoAlso share to feed (default true)
thumb_offsetNoThumbnail offset in ms
alt_textNoAlt text for accessibility

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. It only adds that the tool 'waits for video processing,' but omits critical details like required permissions, rate limits, idempotency, or possible errors. The disclosure is minimal.

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 at two sentences, with the key purpose front-loaded. It wastes no words, but could benefit from a third sentence on behavior or return value to balance completeness with 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 tool has 6 parameters, no output schema, and no annotations, the description is insufficiently complete. It fails to explain the return value, side effects, or error handling, leaving agents without enough context for correct 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 input schema has 100% description coverage, so the baseline is 3. The description does not add any additional parameter semantics beyond what the schema already provides, fulfilling the basic requirement.

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 ('Publish') and the resource ('Reel (short video)'), making the tool's purpose unambiguous. However, it does not explicitly distinguish it from sibling tools like ig_publish_video, so it misses full 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 (e.g., ig_publish_video). It only mentions 'waits for video processing,' which hints at blocking behavior but does not set expectations or prerequisites.

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

ig_publish_storyA

Publish a Story (image or video). Stories disappear after 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_typeYesStory media type
media_urlYesPublic HTTPS URL of the media

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It adds the behavioral trait that stories disappear after 24 hours, but fails to disclose authentication requirements, rate limits, or success/error responses. This is adequate but not thorough.

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 two sentences, no filler, and front-loaded key information. Every word earns its place.

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?

Despite simplicity (2 params, no output schema), the description covers purpose, media types, and lifespan. It lacks only common context like required account type or post limits, but overall complete for a straightforward publish action.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema: 'image or video' mirrors the enum, and 'Public HTTPS URL' is already in the schema's description. No additional parameter meaning is provided.

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 'Publish' and the resource 'Story', specifies media types (image or video), and adds unique context that stories disappear after 24 hours, distinguishing it from feed-related siblings like ig_publish_photo.

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 stories but does not explicitly guide when to use this tool versus alternatives like ig_publish_photo (feed) or ig_publish_reel. No when-not-to-use or alternative references are provided.

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

ig_publish_videoB

Publish a video to Instagram feed. Waits for video processing before publishing.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_urlYesPublic HTTPS URL of the video
captionNoPost caption
thumb_offsetNoThumbnail offset in ms
location_idNoFacebook Page location ID

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description partially compensates by noting that the tool 'Waits for video processing before publishing.' This reveals a blocking behavior that could affect latency. However, it does not disclose other traits like authentication requirements (likely using existing token) or error handling for failed processing.

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, which is concise and front-loaded with the core action. It avoids unnecessary words, though it could be slightly expanded with a brief note on prerequisites or limitations without losing conciseness.

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?

The tool has no output schema and no annotations, but the description does not mention return values (e.g., container ID) or potential side effects. It also omits context like rate limits or the need for a valid Facebook Page token, leaving the agent with incomplete information for correct 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 input schema has 100% description coverage for its 4 parameters, providing clear meaning for each (e.g., video_url is a public HTTPS URL, thumb_offset is in ms). The description adds no additional semantics beyond what the schema already provides, resulting in a baseline score of 3.

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 'Publish a video to Instagram feed', which specifies the action (publish), resource (video), and destination (Instagram feed). The tool name 'ig_publish_video' aligns with this, and among siblings like ig_publish_photo, ig_publish_reel, and ig_publish_story, the purpose is distinct.

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 ig_publish_reel for reels or ig_publish_story for stories. It does not mention prerequisites, such as requiring a business account, or when not to use it.

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

ig_reply_to_commentC

Reply to a specific comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYesComment ID to reply to
messageYesReply text

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description fails to disclose behavioral traits such as authentication requirements, rate limits, or the effect of the operation (e.g., public reply, ability to delete). The description alone is insufficient for an agent to understand the tool's behavior.

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 extremely concise at four words, which is efficient and to the point. However, it could be slightly expanded to include usage context without losing conciseness.

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 simple tool with two required parameters and no output schema, the description is minimally adequate but lacks information about the response or side effects. It does not explain what the reply returns or how to handle errors, leaving the agent with gaps.

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

Parameters3/5

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

Both parameters are described in the input schema (100% coverage). The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate. The parameter list is simple and self-explanatory.

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') and the resource ('comment'). It is specific enough to indicate the tool's basic purpose, but does not distinguish from sibling tools like 'ig_post_comment' or 'ig_get_replies', which could cause 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?

No guidance is provided on when to use this tool versus alternatives. There are no prerequisites, context, or exclusions mentioned. The agent must infer usage solely from the name and sibling tool list.

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

ig_respond_collaboration_inviteB

Accept or decline a collaboration invite. Added in December 2025.

ParametersJSON Schema
NameRequiredDescriptionDefault
invite_idYesCollaboration invite ID
actionYesAccept or decline the invite

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose potential side effects (e.g., whether the invite is removed after response), authentication needs, or rate limits. The 'Added in December 2025' note is not behavioral.

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?

Two sentences, with the first sentence stating the core purpose. The second sentence about the date is mildly unnecessary but does not detract significantly. Overall efficient but could be trimmed.

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

Completeness3/5

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

For a simple two-parameter tool without output schema, the description is minimally adequate. It explains the action but lacks details on success responses, error conditions, or relationship to sibling tools.

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

Parameters3/5

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

Schema description coverage is 100% (both invite_id and action documented). The description adds no new meaning beyond the schema, so baseline score of 3 applies.

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 'Accept or decline a collaboration invite' with a specific verb and resource. It distinguishes from sibling tools like ig_get_collaboration_invites which is for listing invites.

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 versus alternatives. There is no mention of prerequisites (e.g., having an invite from ig_get_collaboration_invites) or when it should not be used.

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

ig_search_hashtagA

Search for a hashtag ID by name. Required before querying hashtag media. Limited to 30 unique hashtags per 7-day rolling window.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesHashtag name to search (without #)

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the rate limiting behavior (30 per 7 days) and implies the tool is a non-destructive read operation. However, it does not specify what is returned on success or error, leaving some behavioral uncertainty.

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 three short sentences: core purpose, prerequisite context, and constraint. It is front-loaded and every sentence adds unique value with no redundancy.

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

Completeness4/5

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

For a simple lookup tool with one parameter and no output schema, the description is nearly complete. It explains the role in the tool sequence and the rate limit. Minor omission: it could briefly mention the return format (e.g., 'returns a hashtag ID'), but this is a small gap.

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% and the description adds the nuance that the parameter should be provided 'without #'. This adds meaningful guidance beyond the schema's basic description 'Hashtag name to search'.

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 (search) and resource (hashtag ID), and explicitly distinguishes it from siblings by stating it is required before querying hashtag media. The verb 'Search' and noun 'hashtag ID' are specific 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 Guidelines4/5

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

The description provides explicit context: 'Required before querying hashtag media' and a usage limit 'Limited to 30 unique hashtags per 7-day rolling window.' This helps the agent understand when to use the tool and constraints. It does not explicitly mention alternatives or when not to use, but the context is sufficient for this simple tool.

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

ig_send_messageA

Send a DM to a user. Requires 'instagram_manage_messages' permission. Can only message users who have messaged you first (24hr window for standard, 7-day for human agent).

ParametersJSON Schema
NameRequiredDescriptionDefault
recipient_idYesInstagram-scoped user ID of the recipient
messageYesMessage text to send

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses permission requirements and the messaging window constraint, which are critical behavioral traits. It doesn't cover failure scenarios or rate limits, but the given info is substantial.

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

Conciseness5/5

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

Two short sentences: first states purpose, second lists requirements and constraints. No unnecessary words, perfectly front-loaded and efficient.

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

Completeness4/5

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

For a simple tool with 2 parameters and no output schema, the description covers the essential behavioral context: permission and window constraint. It lacks mention of response or error handling, but given the tool's simplicity, it is largely complete.

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 input schema already provides 100% coverage with descriptions for both parameters. The description adds the phrase 'Instagram-scoped user ID' for recipient_id, which is slightly more specific, but overall adds limited new meaning beyond the schema.

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 'Send a DM to a user,' which is a specific verb+resource. Among many sibling tools, none other seem to send direct messages, so it is well-distinguished.

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?

It mentions the required permission 'instagram_manage_messages' and the important constraint of the 24-hour window (or 7-day for human agent). This provides clear context for when the tool can be used, though it does not explicitly contrast with alternatives.

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

ig_toggle_commentsA

Enable or disable comments on an Instagram media post.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesMedia ID
enabledYestrue to enable comments, false to disable

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description must carry full burden. It states the action but does not disclose potential side effects (e.g., whether disabling hides existing comments), required permissions, or reversibility.

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 that is front-loaded and contains no unnecessary words. Highly concise.

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?

With only two parameters and no output schema, the description adequately explains the tool's purpose. However, mentioning the return type (e.g., success/failure) would improve completeness.

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

Parameters3/5

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

Schema coverage is 100% and description adds no additional meaning beyond the schema's own descriptions ('Media ID', 'true to enable comments, false to disable'). Baseline score of 3 applies.

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 'enable or disable' on the resource 'comments on an Instagram media post', which is distinct from sibling tools like ig_hide_comment or ig_get_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?

No explicit guidance on when to use this tool versus alternatives (e.g., ig_hide_comment for individual comments). The purpose is implied but not contrasted.

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

meta_debug_tokenA

Debug/inspect an access token to check validity, expiration, scopes and associated user.

ParametersJSON Schema
NameRequiredDescriptionDefault
input_tokenYesAccess token to inspect

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the tool inspects token info (validity, etc.) implying it is a read operation, but does not explicitly state it is non-destructive or safe, nor does it mention any required permissions or edge cases.

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 that conveys the purpose effectively. It is concise and front-loaded, though the information could be structured slightly more clearly.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description covers the essential purpose and what to expect. It is likely sufficient for an agent to select and invoke the tool correctly, though details on output format are omitted.

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 schema already describes the parameter as 'Access token to inspect'. The tool description adds context by specifying what will be checked (validity, expiration, scopes, user), adding meaningful semantics beyond the raw schema.

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 ('debug/inspect'), the resource ('access token'), and the specific checks performed ('validity, expiration, scopes and associated user'). This distinguishes it from sibling tools like meta_exchange_token or meta_refresh_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?

The description does not explicitly state when to use this tool versus alternatives. Usage context is implied by the tool name and sibling list, but no direct guidance on when to use or not use is provided.

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

meta_exchange_tokenB

Exchange a short-lived token for a long-lived token (valid ~60 days). Requires META_APP_ID and META_APP_SECRET.

ParametersJSON Schema
NameRequiredDescriptionDefault
short_lived_tokenYesShort-lived access token to exchange

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are present, so the description fully bears the burden. It discloses token validity and required credentials but does not detail side effects, rate limits, or what happens to the old token. The information is minimal for a token exchange 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?

Two sentences convey the action, validity, and prerequisites with no extraneous words. The structure is front-loaded with the core verb and resource.

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 token exchange with one parameter and no output schema, the description covers the essential purpose and a key setting (validity). However, it omits what the tool returns (presumably the long-lived token) and any preconditions or side effects, leaving some gaps.

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

Parameters3/5

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

The input schema covers the sole parameter with a description, achieving 100% coverage. The description adds context about required app credentials (not in schema) but does not enhance understanding of the parameter beyond schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description explicitly states the action (exchange a short-lived token for a long-lived token) and includes key details like token validity (~60 days) and required credentials. However, it does not differentiate itself from the sibling meta_refresh_token, leaving potential ambiguity.

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 context by mentioning required META_APP_ID and META_APP_SECRET, but it lacks explicit guidance on when to use versus alternatives like meta_refresh_token. No when-not-to-use criteria are provided.

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

meta_get_app_infoB

Get Meta App basic information (name, category, namespace, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It does not disclose whether the operation is read-only, requires authentication, or any other behavioral traits beyond 'get info'. No output schema or warning about side effects.

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 text. Could be slightly more informative without compromising conciseness.

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

Completeness3/5

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

With zero parameters and no output schema, the description is minimally adequate but does not specify what the returned info includes or any prerequisites (e.g., valid app ID).

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?

Input schema has no parameters, so schema description coverage is 100%. The description adds no additional parameter info, but none is needed. Baseline 4 is appropriate.

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

Purpose4/5

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

The description clearly states it retrieves basic app info like name, category, namespace. However, 'basic information' is somewhat vague, lacking specifics. It distinguishes from siblings which are mostly Instagram/Threads or token-related.

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 vs alternatives. While it is distinct from most siblings, no explicit context or exclusion criteria are given.

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

meta_get_webhook_subscriptionsA

List current webhook subscriptions for the Meta App.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

The description only states what the tool does. No annotations are provided, so the description carries the full burden. It does not disclose whether the operation is read-only (inferred), any authentication requirements, rate limits, or pagination behavior. This is adequate but minimal.

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 that directly conveys the purpose without any extraneous words. It is appropriately front-loaded.

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, no output schema), the description is sufficient to understand its purpose. However, it could be improved by noting that the output is a list or by referencing the associated subscribe tool for context.

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 tool has zero parameters, so the schema coverage is effectively 100%. The description does not need to add parameter information. Per guidelines, 0 parameters yields a baseline of 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 clearly states the action (list) and the resource (current webhook subscriptions) with a specific verb and object. It distinguishes itself from siblings like meta_subscribe_webhook by indicating it's a read operation.

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 implicitly suggests use when the agent needs to see existing subscriptions. However, it does not explicitly mention when not to use it (e.g., versus subscribing) or provide alternatives, though the sibling name implies a write counterpart.

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

meta_refresh_tokenA

Refresh a long-lived token before it expires. Returns a new long-lived token.

ParametersJSON Schema
NameRequiredDescriptionDefault
long_lived_tokenYesCurrent long-lived access token to refresh

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It states 'Returns a new long-lived token' but does not mention whether the old token is invalidated, if permissions change, or any rate limits or auth requirements.

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 that front-loads the action and result. However, it could be slightly more informative without losing brevity.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description covers the essential purpose and result. It could mention what happens to the old token or typical usage context to be fully complete.

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 only parameter 'long_lived_token' is described in the schema as 'Current long-lived access token to refresh'. The description adds no additional semantic context beyond what the schema already provides. With 100% schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Refresh a long-lived token') and the resource ('long-lived token'). It distinguishes from sibling tools like meta_exchange_token (which exchanges short-lived for long-lived) and meta_debug_token (which debugs tokens).

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 timing ('before it expires') but does not explicitly contrast with alternative token management tools (e.g., meta_exchange_token) or state when not to use it.

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

meta_subscribe_webhookA

Subscribe to webhook notifications for an object (e.g., 'instagram', 'page'). Requires META_APP_ID and META_APP_SECRET.

ParametersJSON Schema
NameRequiredDescriptionDefault
objectYesObject type to subscribe to
callback_urlYesHTTPS webhook endpoint URL
verify_tokenYesVerification token for the webhook
fieldsYesComma-separated list of fields to subscribe (e.g., 'messages,feed')

TDQS

A4.2/5.0
Behavior3/5

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

The description indicates a mutating operation but lacks details on side effects (e.g., behavior if already subscribed, rate limits, or error conditions). Since no annotations are provided, the description carries full burden but only partially fulfills it.

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

Conciseness5/5

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

Two sentences, front-loaded with the main verb and resource. No redundant information, every word contributes to clarity.

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

Completeness4/5

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

For a subscription creation tool with 4 required parameters and no output schema, the description covers the core action and prerequisites. Missing details on expected response or post-conditions, but sufficient for basic usage.

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% with descriptions for each parameter. The description adds value by noting external prerequisites (META_APP_ID, META_APP_SECRET) that are not in the schema, but does not elaborate on parameter usage beyond the schema.

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 ('Subscribe to webhook notifications') and the resource ('an object (e.g., 'instagram', 'page')'), providing concrete examples. This distinguishes it from sibling tools like 'meta_get_webhook_subscriptions' which is for reading subscriptions.

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?

It explicitly mentions the requirement of META_APP_ID and META_APP_SECRET, which is a clear prerequisite. However, it does not specify when not to use this tool or mention alternatives beyond implying the existence of a get subscriptions tool.

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

threads_delete_postA

Delete a Threads post. This action is irreversible. Rate limited to 100 deletions per 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThreads post ID to delete

TDQS

A4.2/5.0
Behavior4/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 discloses irreversibility and a specific rate limit, which are critical behavioral traits for a delete operation. However, it could also mention what happens on success or error (e.g., if post ID is invalid).

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

Conciseness5/5

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

Two sentences, no wasted words. The action is stated first, followed by critical warnings. Perfectly front-loaded and efficient.

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

Completeness4/5

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

For a simple delete tool with one parameter and no output schema, the description covers the key behavioral aspects (irreversibility and rate limit). It is mostly complete, though it could briefly note error handling or expected return value (e.g., empty response).

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 input schema already fully describes the 'post_id' parameter with 100% coverage. The tool description adds no additional meaning beyond what the schema provides, so it meets the baseline for schema coverage but does not go further.

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 'Delete a Threads post' with a specific verb and resource. It is distinct from sibling tools, which are for Instagram or other Threads actions like getting posts or publishing.

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 mentions the action is irreversible and rate limited (100 per 24 hours), providing helpful constraints. No explicit alternatives are needed since this is the only tool for deleting Threads posts, but a note on when not to use it (e.g., if deletion is not desired) is missing.

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

threads_get_container_statusB

Check the processing status of a Threads media container.

ParametersJSON Schema
NameRequiredDescriptionDefault
container_idYesContainer ID to check

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description must carry behavioral transparency. It only states 'check,' implying a read operation, but lacks details on rate limits, polling behavior, or whether repeated calls are safe.

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, efficient sentence with no wasted words. It is appropriately sized for a simple tool.

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 tool with no output schema, the description is adequate but incomplete. It does not indicate what the response contains (e.g., status values, error codes), which the agent would need to interpret the result.

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 input schema has 100% coverage for the single parameter. The schema description ('Container ID to check') is sufficient, and the tool description adds no additional meaning. Baseline 3 applies.

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

Purpose4/5

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

The description clearly states the action ('Check') and the resource ('processing status of a Threads media container'). It is specific and distinct from sibling tools, though it does not explicitly differentiate from ig_get_container_status.

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 usage guidelines are provided. There is no mention of when to use this tool, when not to, or alternatives like ig_get_container_status for Instagram.

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

threads_get_postB

Get details of a specific Threads post.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThreads post ID
fieldsNoComma-separated fields

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden of behavioral disclosure. It indicates a read operation ("Get details") but omits authentication requirements, rate limits, error handling, or what happens if the post is not found.

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 is slightly underspecified given the tool's context.

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 tool is simple (get one post), but the description lacks output schema details and behavioral info like error states. Given the minimal scope, the description is adequate but not comprehensive.

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

Parameters3/5

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

Schema coverage is 100%, so the input schema already describes both parameters (post_id and fields). The description adds no additional meaning beyond what the schema provides.

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 "get" and the resource "details of a specific Threads post". It distinguishes itself from siblings like threads_get_posts (list) and threads_get_post_insights (analytics) through specificity.

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 fetching a single post, but does not explicitly state when to use this tool over siblings like threads_get_posts or threads_get_post_insights. No when-not or alternative guidance is provided.

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

threads_get_post_insightsA

Get insights/analytics for a specific Threads post (views, likes, replies, reposts, quotes, clicks).

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThreads post ID
metricNoComma-separated metrics (default: views,likes,replies,reposts,quotes,clicks)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description must cover behavioral traits. It indicates a read operation with no side effects, but lacks details on authorization, rate limits, or data freshness. Minimal but not contradictory.

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, no wasted words, efficient and front-loaded.

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, yet description does not explain return format or fields. Lacks context on required permissions or post_id format. Incomplete for a tool with no annotations.

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

Parameters3/5

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

Schema coverage is 100% and parameter descriptions are already clear. The description repeats the default metrics but adds no new meaning beyond the schema. Baseline 3 applies.

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 'Get', resource 'insights/analytics for a specific Threads post', and lists specific metrics (views, likes, etc.). Differentiates from siblings like threads_get_posts or threads_get_user_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?

Implies usage when post-level analytics are needed, but no explicit guidance on when not to use or alternatives among sibling tools.

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

threads_get_postsC

Get a list of published Threads posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results (default 25)
sinceNoStart date (ISO 8601 or Unix timestamp)
untilNoEnd date (ISO 8601 or Unix timestamp)
afterNoPagination cursor
beforeNoPagination cursor

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only mentions 'published' posts but omits pagination behavior, default ordering, rate limits, authentication requirements, or any side effects. Minimal transparency.

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 without unnecessary words. It could benefit from a bit more context, but for a simple list endpoint, it avoids verbosity.

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 5 parameters, no output schema, and no annotations, the description is insufficient. It doesn't hint at return structure, result format, or pagination behavior, leaving a knowledgeable agent uncertain about how to use the responses.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters (limit, since, until, pagination cursors). The description adds no additional meaning beyond what the schema provides, meeting the baseline expectation.

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 retrieves a list of published Threads posts, using specific verb and resource. It distinguishes from related tools like threads_get_post (single post) and threads_get_replies (replies), but does not explicitly contrast them.

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 sibling tools such as threads_get_post or threads_get_user_threads. No examples or context for optimal usage.

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

threads_get_profileB

Get Threads user profile information including verification status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description must convey behavioral traits. It only states that profile info is retrieved, but does not disclose return format, authentication needs, rate limits, or any side effects. For a read operation, it is adequate but minimal.

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 of 8 words, which is concise and front-loaded. However, it could be slightly expanded to include return value context without becoming verbose.

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 or annotations, the description partially explains the tool's output by mentioning 'verification status,' but it does not list other common profile fields (e.g., username, bio). This leaves gaps for an agent trying to understand the full response.

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 tool has no parameters, and schema coverage is 100%. The description adds no param-level detail because none is needed. Baseline for 0 params 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 clearly states the tool retrieves Threads user profile information, specifically mentioning verification status. The verb 'Get' and resource 'profile' are unambiguous, and it is easily distinguished from siblings like threads_get_posts or threads_get_mentions.

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 threads_get_posts or threads_get_mentions. It does not specify prerequisites or scenarios where this tool is preferred.

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

threads_get_publishing_limitA

Check how many posts you can still publish within the current 24-hour window (max 250 posts/day).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/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 discloses that the tool is read-only ('Check'), states the daily limit (250), and the time window (24-hour). It does not mention authentication or potential side effects, but for a check tool, the information is sufficient.

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 sentence of 14 words, front-loaded with the key verb and resource. No wasteful words, perfectly concise.

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 zero parameters and no output schema, the description covers the essential purpose and constraint (max 250/day). It could add a note about reset time, but for a simple check it's adequately complete.

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 zero parameters, so baseline is 4 per instructions. The description itself acts as the semantic explanation, making it clear what the tool does without needing parameter details.

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 ('Check'), the resource ('how many posts you can still publish'), and the context ('within the current 24-hour window, max 250 posts/day'). It is specific and distinguishes itself from sibling tools which perform actions like publishing or retrieving posts.

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 implies usage when needing to know remaining daily post capacity. It does not explicitly list when not to use or mention alternatives, but for a simple status check with zero parameters, the context is clear enough.

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

threads_get_repliesB

Get replies (conversation) for a specific Threads post.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThreads post ID to get replies for
reverseNoReverse chronological order
limitNoNumber of replies
afterNoPagination cursor

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral traits. It does not disclose pagination behavior, default ordering, error handling, or rate limits, leaving the agent with insufficient information to invoke correctly.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no extraneous words. Every word contributes to 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?

Lacking an output schema, the description should explain return format, pagination, and default ordering. It does none of these, leaving significant gaps for a tool with 4 parameters and cursor-based pagination.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; for example, it does not explain what 'reverse' entails or how pagination cursors work.

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 'Get' and the resource 'replies (conversation) for a specific Threads post.' It effectively distinguishes from sibling tools like threads_get_post, which retrieves a single post.

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 retrieving replies but does not explicitly state when to use this tool versus alternatives like threads_get_post or threads_get_posts. No exclusions or context cues are provided.

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

threads_get_user_insightsB

Get account-level Threads insights (views, likes, replies, reposts, quotes, clicks, followers, follower demographics).

ParametersJSON Schema
NameRequiredDescriptionDefault
metricYesComma-separated metrics: views,likes,replies,reposts,quotes,clicks,followers_count,follower_demographics
sinceNoStart date (Unix timestamp)
untilNoEnd date (Unix timestamp)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; description does not mention any behavioral traits (e.g., data freshness, rate limits, authentication, side effects). Agent cannot assess safety or constraints beyond the action itself.

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 action and scope, no unnecessary words. Efficient and clear.

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

Completeness3/5

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

Adequate for a simple tool with well-defined params, but lacks output structure hints (e.g., histogram format, demographics breakdown). Could be enhanced by mentioning result type or filtering 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?

Schema coverage is 100% and description merely repeats metrics listed in parameter descriptions. No additional meaning or usage details added beyond what schema provides.

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 'Get account-level Threads insights' and lists specific metrics (views, likes, etc.), distinguishing it from post-level (threads_get_post_insights) and Instagram (ig_get_account_insights) siblings.

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 vs alternatives like threads_get_post_insights or ig_get_account_insights. Agent must infer context from names and tool set.

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

threads_get_user_threadsA

Get all threads published by the user (alias for threads_get_posts with user context).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
sinceNoStart date (ISO 8601 or Unix timestamp)
untilNoEnd date (ISO 8601 or Unix timestamp)
afterNoPagination cursor

TDQS

A3.9/5.0
Behavior3/5

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

Without annotations, the description provides minimal behavioral context. It indicates a read operation (get all threads) but does not disclose details like pagination, rate limits, or any side effects.

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, clear sentence with no extraneous information. It is well front-loaded and efficient.

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 and no annotations, the description is adequate for a simple read operation but lacks details on return format, pagination behavior, and any constraints. Could be more complete.

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 input schema has 100% description coverage, so the description adds no further parameter meaning beyond what the schema already provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states it gets all threads published by the user and explicitly identifies itself as an alias for threads_get_posts with user context, distinguishing it from sibling tools.

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 implies usage context by noting it is an alias for threads_get_posts with user context, but does not explicitly state when to use this tool versus the primary one or other alternatives.

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

threads_hide_replyA

Hide a reply on your Threads post. Hidden replies are still visible if directly accessed.

ParametersJSON Schema
NameRequiredDescriptionDefault
reply_idYesReply ID to hide

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided. Description adds one behavioral trait: 'Hidden replies are still visible if directly accessed.' This is useful but lacks details on permissions, reversibility, or side effects. Adequate for a simple action.

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

Conciseness5/5

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

Two sentences, no redundant words. Front-loaded with the action: 'Hide a reply on your Threads post.' Every word 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?

For a simple tool with one parameter and no output schema, the description is minimally complete. However, it lacks context like prerequisites (e.g., post ownership) or confirmation that the operation is reversible via sibling tool. Could be considered adequate but not rich.

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 has 100% coverage with description for reply_id. Description does not add any extra meaning beyond the schema. Baseline score applies.

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 'hide' and resource 'reply on your Threads post', making purpose unambiguous. It distinguishes from siblings like 'threads_unhide_reply' and 'ig_hide_comment' by specifying 'Threads'.

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 this tool vs alternatives. The sibling 'threads_unhide_reply' implies the reverse operation, but description does not mention when to use (e.g., only for own posts) or when not to use.

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

threads_publish_imageB

Publish an image post on Threads. Supports topic tag, quote post, alt text, and spoiler flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesPublic HTTPS URL of the image (JPEG/PNG, max 8MB)
textNoCaption text
reply_controlNoWho can reply
topic_tagNoTopic tag for the post
quote_post_idNoID of a post to quote
alt_textNoAlt text for accessibility (max 1000 chars)
is_spoilerNoMark content as spoiler

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description should disclose behavioral traits. It only states 'Publish an image post,' implying mutation, but omits side effects, rate limits, authentication needs, or what happens to existing 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?

Two sentences efficiently convey purpose and key features. No redundant or irrelevant information.

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

Completeness3/5

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

With 7 parameters and no output schema, the description only covers a subset (image, text? actually not text explicitly but features). It misses explaining required parameter image_url or optional reply_control. Adequate but leaves gaps for a complex publish 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?

Schema coverage is 100%, so baseline is 3. The description adds 'Supports topic tag, quote post, alt text, and spoiler flag' but does not explain parameter behavior beyond the schema (e.g., how quote_post_id works). No meaningful added 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 'Publish an image post on Threads,' specifying the verb and resource. It lists supported features (topic tag, quote post, alt text, spoiler flag), distinguishing it from siblings like threads_publish_text or threads_publish_video.

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 prerequisites, when not to use it, or contrast with similar tools (e.g., threads_publish_carousel).

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

threads_publish_textC

Publish a text-only post on Threads. Supports optional link attachment, poll, GIF, topic tag, and quote post.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPost text (max 500 chars)
reply_controlNoWho can reply
link_attachmentNoURL to attach as a link preview card (max 5 links per post)
topic_tagNoTopic tag for the post (1-50 chars, no periods or ampersands)
quote_post_idNoID of a post to quote
poll_optionsNoPoll options (2-4 choices). Creates a poll attachment.
gif_idNoGIF ID from GIPHY or Tenor
gif_providerNoGIF provider (GIPHY or TENOR). Tenor sunsets March 31, 2026.
alt_textNoAlt text for accessibility (max 1000 chars)
is_spoilerNoMark content as spoiler

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It states 'Publish' indicating a write operation but lacks details on side effects, authentication, rate limits, or response format. The agent is left uninformed about critical behavioral aspects.

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 with 18 words, front-loaded with action and key features. No wasted content; every word earns its place.

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 tool with 10 parameters and no output schema, the description is too brief. It omits return value, publishing flow (e.g., if container creation is needed), authentication, and prerequisites. Incomplete for safe autonomous 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?

Schema coverage is 100%, so baseline is 3. The description summarizes optional features but adds no new meaning beyond the schema's parameter descriptions. It meets the minimum but does not enhance 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 'Publish a text-only post on Threads', specifying the verb and resource. However, it does not explicitly differentiate from sibling tools like threads_publish_carousel or threads_reply, though the name and 'text-only' imply the 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 explicit guidance on when to use this tool versus alternatives. The description lists supported features but does not provide context for selection among many similar siblings (e.g., threads_publish_image, threads_reply).

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

threads_publish_videoB

Publish a video post on Threads. Waits for video processing. Supports topic tag, quote post, alt text, and spoiler flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_urlYesPublic HTTPS URL of the video (MP4/MOV, max 1GB, up to 5 min)
textNoCaption text
reply_controlNoWho can reply
topic_tagNoTopic tag for the post
quote_post_idNoID of a post to quote
alt_textNoAlt text for accessibility (max 1000 chars)
is_spoilerNoMark content as spoiler

TDQS

B3.4/5.0
Behavior2/5

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

Only discloses waiting for video processing. Does not mention error handling, permissions, rate limits, or response behavior. With no annotations, description carries full burden but 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?

Two concise sentences. Front-loaded with purpose, then key behavior, then features. No verbosity.

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 7 parameters, no output schema, and no annotations, the description lacks completeness. Doesn't cover return value, prerequisites, or common issues. Sibling tools like threads_publish_carousel likely have richer descriptions.

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 descriptions cover 100% of parameters. Description adds no extra meaning beyond listing feature names, which are already reflected in parameter 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?

Clearly states it publishes a video post on Threads, mentions video processing wait, and lists supported features. Distinct from siblings like threads_publish_image and threads_publish_text.

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 when-to-use guidance. Lists supported features but doesn't contrast with alternatives or provide prerequisites.

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

threads_replyB

Reply to a Threads post or another reply.

ParametersJSON Schema
NameRequiredDescriptionDefault
reply_to_idYesPost ID to reply to
textYesReply text
image_urlNoOptional image URL to attach
video_urlNoOptional video URL to attach

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description only states the basic action. It does not disclose authentication requirements, rate limits, or whether the reply is public. This is insufficient for understanding behavioral traits.

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 that is front-loaded and to the point. It is concise but could benefit from additional context without being verbose.

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 4 parameters, no output schema, and no annotations, the description is too sparse. It fails to explain return values, error conditions, or the effect of replying, making it incomplete for an agent to use confidently.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add any extra meaning beyond what the schema already provides for each 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?

The description uses the specific verb 'Reply' and names the resource 'Threads post or another reply'. It clearly distinguishes from sibling tools like threads_get_replies and ig_reply_to_comment.

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 when-to-use or when-not-to-use guidance is provided. The sibling tools include ig_reply_to_comment for Instagram, but the description does not differentiate when to use this tool over that one.

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

threads_search_postsC

Search for public Threads posts by keyword or topic tag. Results can be filtered by media type and author.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch keyword or query
search_typeNoSearch by keyword or topic tag (default: keyword)
media_typeNoFilter results by media type
author_usernameNoFilter results by author username
sinceNoStart date (Unix timestamp)
untilNoEnd date (Unix timestamp)
limitNoNumber of results
afterNoPagination cursor

TDQS

C2.9/5.0
Behavior2/5

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

Discloses 'public' posts but omits behavioral traits like rate limits, authentication requirements, pagination behavior, or error handling. With no annotations, the description should provide more than a minimal overview.

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

Conciseness5/5

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

Two sentences with no wasted words. Front-loaded with the primary action and scope.

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?

Despite moderate complexity (8 parameters, no output schema), the description omits key filters (date range, pagination) and provides no information about return values or result format. Incomplete for effective tool usage.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds minimal meaning by restating parameters (keyword/tag, filters) already described in the schema. Does not significantly enhance 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 tool searches for public Threads posts by keyword or topic tag, and mentions filtering by media type and author. It distinguishes from siblings by being the only search-focused Threads tool, though it doesn't explicitly contrast with similar tools on other platforms.

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 vs alternatives like threads_get_posts or ig_search_hashtag. The description implies usage for searching public posts but lacks explicit context or exclusions.

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

threads_unhide_replyB

Unhide a previously hidden reply on your Threads post.

ParametersJSON Schema
NameRequiredDescriptionDefault
reply_idYesReply ID to unhide

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It only states the effect (unhiding) but does not disclose any behavioral traits such as reversibility, permission requirements, rate limits, or side effects (e.g., visibility change for others).

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 of 8 words with no filler. It is extremely concise and front-loaded, containing only essential information.

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 low complexity (1 parameter, no output schema), the description is largely complete. It tells the agent what the tool does. However, it could mention prerequisites (e.g., the reply must be hidden first) or the effect (reply becomes visible again) to be fully self-contained.

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 input schema has 100% coverage for the single parameter 'reply_id', with the schema description already being 'Reply ID to unhide'. The tool description does not add any additional meaning beyond that, so baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action (unhide) and resource (a previously hidden reply on a Threads post). It is specific and unambiguous, but does not explicitly distinguish from sibling tool 'threads_hide_reply', which is the inverse operation.

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 'threads_hide_reply' or potential prerequisites. The description simply states the action without context for appropriate usage.

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

Tool Schema Changelog

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

  1. 57 tool updatesv2.0.1
    • First observedig_business_discovery
    • First observedig_delete_comment
    • First observedig_delete_media
    • First observedig_get_account_insights
    • First observedig_get_collaboration_invites
    • First observedig_get_comment
    • First observedig_get_comments
    • First observedig_get_container_status
    • First observedig_get_conversations
    • First observedig_get_hashtag
    • First observedig_get_hashtag_recent
    • First observedig_get_hashtag_top
    • First observedig_get_media
    • First observedig_get_media_insights
    • First observedig_get_media_list
    • First observedig_get_mentioned_comments
    • First observedig_get_message
    • First observedig_get_messages
    • First observedig_get_profile
    • First observedig_get_replies
    • First observedig_get_tagged_media
    • First observedig_hide_comment
    • First observedig_post_comment
    • First observedig_publish_carousel
    • First observedig_publish_photo
    • First observedig_publish_reel
    • First observedig_publish_story
    • First observedig_publish_video
    • First observedig_reply_to_comment
    • First observedig_respond_collaboration_invite
    • First observedig_search_hashtag
    • First observedig_send_message
    • First observedig_toggle_comments
    • First observedmeta_debug_token
    • First observedmeta_exchange_token
    • First observedmeta_get_app_info
    • First observedmeta_get_webhook_subscriptions
    • First observedmeta_refresh_token
    • First observedmeta_subscribe_webhook
    • First observedthreads_delete_post
    • First observedthreads_get_container_status
    • First observedthreads_get_post
    • First observedthreads_get_post_insights
    • First observedthreads_get_posts
    • First observedthreads_get_profile
    • First observedthreads_get_publishing_limit
    • First observedthreads_get_replies
    • First observedthreads_get_user_insights
    • First observedthreads_get_user_threads
    • First observedthreads_hide_reply
    • First observedthreads_publish_carousel
    • First observedthreads_publish_image
    • First observedthreads_publish_text
    • First observedthreads_publish_video
    • First observedthreads_reply
    • First observedthreads_search_posts
    • First observedthreads_unhide_reply

TDQS

A3.6/5.0

Scored across 57 tools

Disambiguation5/5

Tools are clearly disambiguated by domain prefixes (ig_, meta_, threads_) and within each domain have distinct purposes (e.g., publish_photo vs. publish_video). No overlapping functionality that would confuse an agent.

Naming Consistency5/5

All tools follow a consistent pattern of prefix_verb_noun in lowercase snake_case (e.g., ig_delete_comment, threads_publish_image). No mixing of styles or abbreviations.

Tool Count4/5

57 tools is high, but covers three substantial platforms (Instagram, Threads, Meta). Each domain has a reasonable number of tools given its API surface. Slightly above the ideal range but not excessive for the scope.

Completeness4/5

The set covers core CRUD, insights, and messaging for all three platforms. Missing update operations for posts (e.g., no edit media), but this is likely an API limitation. Otherwise, lifecycle coverage is thorough.

Maintenance

ActivityMaintained
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server providing seamless integration with Instagram's Graph API for business account management, content publishing, and analytics.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for Instagram Graph API providing 25 tools for publishing photos, reels, carousels, and stories, managing comments, viewing insights, and searching hashtags.
    6 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for organic Instagram analytics via the Meta Graph API, providing read-only tools for profiles, media, insights, audience, and optional publishing.
    GPL 3.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for automatic Instagram publishing — single image, carousel and Reels — via the official Instagram Graph API.
    26 npm
    -