meta-mcp
This server offers 66 tools to manage Instagram, Threads, and the Meta platform through your AI assistant.
Meta Platform
Exchange, refresh, debug access tokens; retrieve app info; manage webhook subscriptions.
Publishing: Photos, videos, carousels, reels, stories with captions, alt text, user/location tags; check container status.
Media & Engagement: List, get, delete media; post-level insights (views, reach, saved, shares, etc.); toggle comments.
Comments: Get, post, reply, hide, delete comments.
Profile & Insights: Get profile, account-level insights, business discovery, collaboration invites.
Hashtags: Search, info, recent/top media by hashtag.
Mentions & Tags: Get mentioned comments, tagged media.
Messaging: List conversations, get/send messages.
Threads
Publishing: Text, image, video, carousel posts; features include polls, GIFs, link attachments, topic tags, spoiler flags, ghost posts, reply approvals, cross-share to Instagram Stories, location tagging; delete posts (up to 100/day); publishing limit 250 posts/day.
Media & Search: List posts, get details, public profile posts, search posts by keyword/topic.
Replies: Get top-level or full conversations, reply with attachments, hide/unhide, manage reply approvals.
Profile & Discovery: Get profile (including verification), lookup profiles, list user threads.
Mentions: Get mention posts.
Locations: Search locations, get location info.
Tools & Insights: oEmbed data, post-level and account-level insights.
Cross-Platform
Predefined prompts for cross-posting to both Instagram and Threads, and generating combined analytics reports.
Provides comprehensive tools for publishing photos, videos, reels, stories, and carousels, alongside features for managing comments, direct messages, hashtag searching, and detailed account and post-level insights.
Offers platform-level utilities for managing Meta Developer App credentials, including token exchange, refresh, and debugging, as well as webhook subscription management.
Enables publishing text and media posts with support for polls, GIFs, and topic tags, as well as managing replies, searching public posts, and tracking account and post performance analytics.
English | 한국어
meta-mcp
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_publishprompt"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.txtfor a machine-readable summary, or copytemplates/CLAUDE.md/templates/AGENTS.mdinto 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-usageheader
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_providerparam droppedThreads Ghost Posts:
is_ghost_postonthreads_publish_text(auto-archived after 24h)Threads Reply Approvals:
enable_reply_approvalson publish tools, plusthreads_get_pending_repliesandthreads_manage_pending_replyThreads → Instagram Stories cross-share:
crossreshare_to_ig/crossreshare_to_ig_dark_modeon all publish toolsThreads Location Tagging:
location_idon publish tools, plusthreads_search_locationsandthreads_get_locationThreads Profile Discovery:
threads_lookup_profileandthreads_get_profile_postsfor public profilesThreads Mentions:
threads_get_mentionsThreads oEmbed:
threads_get_oembedfor embedding public postsThreads Conversations:
threads_get_conversationfor flattened (nested) reply threadsFixed
threads_search_posts: now calls the correct/keyword_searchendpoint with the correctsearch_mode/search_typeparameters (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,engagementreplaced withviews,reach,saved,sharesThreads 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_onlyandfollowers_onlyoptionsInstagram 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_ratemetrics
Account Requirements
Platform | Account Type | Notes |
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
npx (Recommended)
{
"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 |
| For Instagram | Instagram Graph API access token |
| For Instagram | Instagram Business/Creator account ID |
| For Instagram DMs | Page access token for Instagram Messaging with Facebook Login |
| For Instagram DMs | Facebook Page ID linked to the Instagram professional account |
| For Threads | Threads API access token |
| For Threads | Threads user ID |
| For token/webhook tools | Meta App ID |
| 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 |
| Exchange short-lived token for long-lived token (~60 days) |
| Extend an Instagram/Facebook token or refresh a Threads token ( |
| Inspect token validity, expiration, and scopes |
| Get Meta App information |
| Subscribe to webhook notifications |
| List current webhook subscriptions |
Instagram — Publishing (6)
Tool | Description |
| Publish a photo post (supports alt_text) |
| Publish a video post |
| Publish a carousel/album (2-10 items, supports alt_text per item) |
| Publish a Reel (supports alt_text) |
| Publish a Story (24hr) |
| Check media container processing status |
Instagram — Media (5)
Tool | Description |
| List published media |
| Get media details |
| Delete a media post |
| Get media analytics (views, reach, saved, shares) |
| Enable/disable comments on a post |
Instagram — Comments (7)
Tool | Description |
| Get comments on a post |
| Get comment details |
| Post a comment |
| Get replies to a comment |
| Reply to a comment |
| Hide/unhide a comment |
| Delete a comment |
Instagram — Profile & Insights (5)
Tool | Description |
| Get account profile info |
| Get account-level analytics (views, reach, follower_count) |
| Look up another business account |
| Get pending collaboration invites |
| Accept or decline collaboration invites |
Instagram — Hashtags (4)
Tool | Description |
| Search hashtag by name |
| Get hashtag info |
| Get recent media for a hashtag |
| Get top media for a hashtag |
Instagram — Mentions & Tags (2)
Tool | Description |
| Get comments mentioning you |
| Get media you're tagged in |
Instagram — Messaging (4)
Tool | Description |
| List DM conversations |
| Get messages in a conversation |
| Send a DM |
| Get message details |
Threads — Publishing (7)
Tool | Description |
| Publish a text post (polls, GIFs, link attachments, topic tags, quote posts, spoiler flag, ghost posts, reply approvals, location tag, IG Stories cross-share) |
| Publish an image post (alt_text, topic tags, spoiler flag, reply approvals, location tag, IG Stories cross-share) |
| Publish a video post (alt_text, topic tags, spoiler flag, reply approvals, location tag, IG Stories cross-share) |
| Publish a carousel (2-20 items, alt_text per item, reply approvals, location tag, IG Stories cross-share) |
| Delete a post (max 100/day) |
| Check container processing status |
| Check remaining publishing quota (250 posts/day) |
Threads — Media & Search (4)
Tool | Description |
| List published posts (includes topic_tag, poll, GIF, location, verification fields) |
| Get post details |
| List a public profile's posts by username (Profile Discovery) |
| Search public posts via |
Threads — Replies (7)
Tool | Description |
| Get top-level replies to a post |
| Get all replies (flattened, including nested) to a post |
| Reply to a post (supports image/video attachments) |
| Hide a reply |
| Unhide a reply |
| Get replies awaiting approval on a post with reply approvals enabled |
| Approve or ignore a pending reply |
Threads — Profile & Discovery (3)
Tool | Description |
| Get Threads profile info (includes is_verified) |
| List user's threads |
| Look up a public profile by username (Profile Discovery) |
Threads — Mentions (1)
Tool | Description |
| Get posts where the user was @mentioned |
Threads — Locations (2)
Tool | Description |
| Search for locations to tag, by query or coordinates |
| Get a location object by ID |
Threads — Tools & Resources (1)
Tool | Description |
| Get embed HTML/metadata for a public post |
Threads — Insights (2)
Tool | Description |
| Get post analytics (views, likes, replies, reposts, quotes, clicks) |
| Get account-level analytics (also available to Threads profiles without a linked Instagram account) |
Resources
Resource URI | Description |
| Instagram account profile data |
| Threads account profile data (includes is_verified) |
Prompts
Prompt | Description |
| Cross-post content to Instagram and Threads |
| Generate combined analytics report |
Setup Guide
Step 1: Create a Meta Developer App
All platforms (Instagram, Threads) require a Meta Developer App.
Go to developers.facebook.com and log in
Click "My Apps" → "Create App"
Select "Other" → "Business" (or "None" for personal use)
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.
In your Meta App, go to "Add Products" → add "Instagram Graph API"
Go to "Instagram Graph API" → "Settings" and connect your Instagram Business account via a Facebook Page
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_metadataClick "Generate Access Token" and authorize
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_TOKENOr use the
meta_exchange_tokentool after setup.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_TOKENThis 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_TOKENThe
instagram_business_account.idis yourINSTAGRAM_USER_ID(a numeric ID like17841400123456789). For the DM tools, the matching Page'sidisINSTAGRAM_PAGE_IDand itsaccess_tokenisINSTAGRAM_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.
In your Meta App, go to "Add Products" → add "Threads API"
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
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=codeFor local testing, use
https://localhost/as redirect URI (configure in App Settings → Threads API → Redirect URIs)
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_CODEExchange 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_TOKENGet your Threads User ID — call this with your token:
GET https://graph.threads.net/v1.0/me?fields=id,username&access_token=YOUR_TOKENThe
idfield is yourTHREADS_USER_ID(a numeric ID like1234567890).
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 → BasicToken Renewal
Access tokens expire after ~60 days. Refresh before expiration:
Instagram: Use
meta_refresh_tokenwithplatform=instagram(requiresMETA_APP_IDandMETA_APP_SECRET)Threads: Use
meta_refresh_tokenwithplatform=threadsor 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 |
|
|
|
|
|
|
|
|
|
|
| Removed (no replacement) |
| Removed (no replacement) |
| Removed (no replacement) |
| Removed (no replacement) |
| Removed (no replacement) |
| Removed (no replacement) |
License
MIT
Available Tools
57 toolsig_business_discoveryA
Look up another Instagram Business/Creator account's public info by username.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Instagram username to look up (without @) | |
| fields | No | Fields to retrieve (default: id,username,name,biography,followers_count,follows_count,media_count) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | Comment ID to delete |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| media_id | Yes | Media ID to delete |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | Comma-separated metrics: views,reach,follower_count,reposts,accounts_engaged,total_interactions | |
| period | Yes | Aggregation period | |
| since | No | Start date (Unix timestamp or ISO 8601) | |
| until | No | End date (Unix timestamp or ISO 8601) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | Comment ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| media_id | Yes | Media ID | |
| limit | No | Number of comments to return | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| container_id | Yes | Container ID to check |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| folder | No | Folder to retrieve (default: inbox) | |
| limit | No | Number of conversations | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hashtag_id | Yes | Hashtag ID (from ig_search_hashtag) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hashtag_id | Yes | Hashtag ID | |
| limit | No | Number of results | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hashtag_id | Yes | Hashtag ID | |
| limit | No | Number of results | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| media_id | Yes | Media ID | |
| fields | No | Comma-separated fields (default: id,caption,media_type,media_url,permalink,timestamp,like_count,comments_count) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| media_id | Yes | Media ID | |
| metric | No | Comma-separated metrics (default: views,reach,saved,shares). For REEL add: likes,comments,reposts,reels_skip_rate |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results (max 100, default 25) | |
| after | No | Pagination cursor for next page | |
| before | No | Pagination cursor for previous page |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | Comment ID from a mention notification | |
| fields | No | Fields to return (default: id,text,timestamp,username,media) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | Yes | Message ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| conversation_id | Yes | Conversation ID | |
| limit | No | Number of messages | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | Comment ID to get replies for | |
| limit | No | Number of replies to return | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | Comment ID | |
| hide | Yes | true to hide, false to unhide |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| media_id | Yes | Media ID to comment on | |
| message | Yes | Comment text |
TDQS
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.
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.
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.
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.
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.
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_carouselA
Publish a carousel (album) post with 2-10 images/videos. Each item needs an image_url or video_url.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Array of media items | |
| caption | No | Post caption | |
| location_id | No | Facebook Page location ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses input constraints (2-10 items, each with url) but omits authentication needs, side effects, rate limits, or failure behavior. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, front-loaded sentence with no extraneous words. Essential information is conveyed efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, nested array, no output schema, and no annotations, the description is minimal. It covers purpose and basic requirement but lacks usage context, behavior details, or output hints, leaving gaps for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 marginal value by restating the need for 'image_url or video_url', which is already in schema descriptions for type and url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Publish' and resource 'carousel (album) post' with constraints '2-10 images/videos', distinguishing it from single-media publish siblings like ig_publish_photo and ig_publish_video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for multiple media items by stating 'carousel' and the count range, but does not explicitly direct the agent away from siblings or state when not to use this tool.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | Public HTTPS URL of the image (JPEG only) | |
| caption | No | Post caption (max 2200 chars) | |
| location_id | No | Facebook Page location ID | |
| user_tags | No | JSON array of user tags: [{username, x, y}] | |
| alt_text | No | Alt text for accessibility |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | Public HTTPS URL of the video | |
| caption | No | Reel caption | |
| cover_url | No | Custom cover image URL | |
| share_to_feed | No | Also share to feed (default true) | |
| thumb_offset | No | Thumbnail offset in ms | |
| alt_text | No | Alt text for accessibility |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| media_type | Yes | Story media type | |
| media_url | Yes | Public HTTPS URL of the media |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | Public HTTPS URL of the video | |
| caption | No | Post caption | |
| thumb_offset | No | Thumbnail offset in ms | |
| location_id | No | Facebook Page location ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | Comment ID to reply to | |
| message | Yes | Reply text |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| invite_id | Yes | Collaboration invite ID | |
| action | Yes | Accept or decline the invite |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Hashtag name to search (without #) |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| recipient_id | Yes | Instagram-scoped user ID of the recipient | |
| message | Yes | Message text to send |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| media_id | Yes | Media ID | |
| enabled | Yes | true to enable comments, false to disable |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| input_token | Yes | Access token to inspect |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| short_lived_token | Yes | Short-lived access token to exchange |
TDQS
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.
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.
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.
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.
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.
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.).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| long_lived_token | Yes | Current long-lived access token to refresh |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| object | Yes | Object type to subscribe to | |
| callback_url | Yes | HTTPS webhook endpoint URL | |
| verify_token | Yes | Verification token for the webhook | |
| fields | Yes | Comma-separated list of fields to subscribe (e.g., 'messages,feed') |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Threads post ID to delete |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| container_id | Yes | Container ID to check |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Threads post ID | |
| fields | No | Comma-separated fields |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Threads post ID | |
| metric | No | Comma-separated metrics (default: views,likes,replies,reposts,quotes,clicks) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results (default 25) | |
| since | No | Start date (ISO 8601 or Unix timestamp) | |
| until | No | End date (ISO 8601 or Unix timestamp) | |
| after | No | Pagination cursor | |
| before | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Threads post ID to get replies for | |
| reverse | No | Reverse chronological order | |
| limit | No | Number of replies | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | Comma-separated metrics: views,likes,replies,reposts,quotes,clicks,followers_count,follower_demographics | |
| since | No | Start date (Unix timestamp) | |
| until | No | End date (Unix timestamp) |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results | |
| since | No | Start date (ISO 8601 or Unix timestamp) | |
| until | No | End date (ISO 8601 or Unix timestamp) | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| reply_id | Yes | Reply ID to hide |
TDQS
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.
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.
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.
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.
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.
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_carouselB
Publish a carousel post on Threads with 2-20 images/videos.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Array of media items | |
| text | No | Caption text | |
| reply_control | No | Who can reply | |
| topic_tag | No | Topic tag for the post | |
| quote_post_id | No | ID of a post to quote |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description offers minimal behavioral context. It doesn't mention whether the post is published immediately or as a draft, authentication requirements, or other behavioral traits beyond 'publish'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (10 words) and front-loaded with the action. While no unnecessary words exist, a bit more structure could be added, but it is well within acceptable conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description lacks completeness. It doesn't cover prerequisites, platform-specific behavior, or what the agent should expect after calling the tool, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 what the schema already provides for parameters like text, reply_control, etc.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (publish), the resource (carousel post), and constraints (2-20 images/videos). It distinguishes from sibling tools like threads_publish_image, threads_publish_video, 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.
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 vs alternatives. While the sibling naming provides implicit guidance, the description lacks explicit context for choosing it over publishing a single image or video.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | Public HTTPS URL of the image (JPEG/PNG, max 8MB) | |
| text | No | Caption text | |
| reply_control | No | Who can reply | |
| topic_tag | No | Topic tag for the post | |
| quote_post_id | No | ID of a post to quote | |
| alt_text | No | Alt text for accessibility (max 1000 chars) | |
| is_spoiler | No | Mark content as spoiler |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Post text (max 500 chars) | |
| reply_control | No | Who can reply | |
| link_attachment | No | URL to attach as a link preview card (max 5 links per post) | |
| topic_tag | No | Topic tag for the post (1-50 chars, no periods or ampersands) | |
| quote_post_id | No | ID of a post to quote | |
| poll_options | No | Poll options (2-4 choices). Creates a poll attachment. | |
| gif_id | No | GIF ID from GIPHY or Tenor | |
| gif_provider | No | GIF provider (GIPHY or TENOR). Tenor sunsets March 31, 2026. | |
| alt_text | No | Alt text for accessibility (max 1000 chars) | |
| is_spoiler | No | Mark content as spoiler |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | Public HTTPS URL of the video (MP4/MOV, max 1GB, up to 5 min) | |
| text | No | Caption text | |
| reply_control | No | Who can reply | |
| topic_tag | No | Topic tag for the post | |
| quote_post_id | No | ID of a post to quote | |
| alt_text | No | Alt text for accessibility (max 1000 chars) | |
| is_spoiler | No | Mark content as spoiler |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| reply_to_id | Yes | Post ID to reply to | |
| text | Yes | Reply text | |
| image_url | No | Optional image URL to attach | |
| video_url | No | Optional video URL to attach |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search keyword or query | |
| search_type | No | Search by keyword or topic tag (default: keyword) | |
| media_type | No | Filter results by media type | |
| author_username | No | Filter results by author username | |
| since | No | Start date (Unix timestamp) | |
| until | No | End date (Unix timestamp) | |
| limit | No | Number of results | |
| after | No | Pagination cursor |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| reply_id | Yes | Reply ID to unhide |
TDQS
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.
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.
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.
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.
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.
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.
57 tool updates
v2.0.1- First observed
ig_business_discovery - First observed
ig_delete_comment - First observed
ig_delete_media - First observed
ig_get_account_insights - First observed
ig_get_collaboration_invites - First observed
ig_get_comment - First observed
ig_get_comments - First observed
ig_get_container_status - First observed
ig_get_conversations - First observed
ig_get_hashtag - First observed
ig_get_hashtag_recent - First observed
ig_get_hashtag_top - First observed
ig_get_media - First observed
ig_get_media_insights - First observed
ig_get_media_list - First observed
ig_get_mentioned_comments - First observed
ig_get_message - First observed
ig_get_messages - First observed
ig_get_profile - First observed
ig_get_replies - First observed
ig_get_tagged_media - First observed
ig_hide_comment - First observed
ig_post_comment - First observed
ig_publish_carousel - First observed
ig_publish_photo - First observed
ig_publish_reel - First observed
ig_publish_story - First observed
ig_publish_video - First observed
ig_reply_to_comment - First observed
ig_respond_collaboration_invite - First observed
ig_search_hashtag - First observed
ig_send_message - First observed
ig_toggle_comments - First observed
meta_debug_token - First observed
meta_exchange_token - First observed
meta_get_app_info - First observed
meta_get_webhook_subscriptions - First observed
meta_refresh_token - First observed
meta_subscribe_webhook - First observed
threads_delete_post - First observed
threads_get_container_status - First observed
threads_get_post - First observed
threads_get_post_insights - First observed
threads_get_posts - First observed
threads_get_profile - First observed
threads_get_publishing_limit - First observed
threads_get_replies - First observed
threads_get_user_insights - First observed
threads_get_user_threads - First observed
threads_hide_reply - First observed
threads_publish_carousel - First observed
threads_publish_image - First observed
threads_publish_text - First observed
threads_publish_video - First observed
threads_reply - First observed
threads_search_posts - First observed
threads_unhide_reply
TDQS
Scored across 57 tools
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.
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.
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.
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
Related MCP Connectors
Hosted MCP for Instagram, Facebook, X, LinkedIn, Pinterest, and Ghost. OAuth 2.1, 38 tools.
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Unified messaging MCP server: WhatsApp, Instagram, Telegram, SMS, Messenger & email support inbox
- MysocialOAuthio.mysocial
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server providing seamless integration with Instagram's Graph API for business account management, content publishing, and analytics.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Instagram Graph API providing 25 tools for publishing photos, reels, carousels, and stories, managing comments, viewing insights, and searching hashtags.6 npm1MIT
- AlicenseNot gradedqualityCmaintenanceMCP 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
- FlicenseNot gradedqualityCmaintenanceMCP server for automatic Instagram publishing — single image, carousel and Reels — via the official Instagram Graph API.26 npm-