Skip to main content
Glama
inyogeshwar

Meta Social Technologies MCP Server

by inyogeshwar

Meta Social Technologies MCP Server & Automation Suite

Node.js MCP Meta Graph API License: MIT Author

An enterprise-grade Model Context Protocol (MCP) server and AI automation engine for Facebook Pages and Instagram Business/Creator accounts (@in.yogeshwar). Build ManyChat & Superprofile-style comment funnels, send audio voice notes, trigger double-tap heart reactions, execute threaded quoted replies, and publish content seamlessly using AI agents.


šŸ‘Øā€šŸ’» Author & Attribution


Related MCP server: meta-mcp

⚔ Core Features

  • šŸ“¢ Publishing: Facebook status updates, photo posts, Instagram photos, and Instagram Reels (MP4).

  • šŸ’¬ Direct Messaging: Deliver text, images, PDF files, and audio voice notes (.m4a, .wav, .aac).

  • šŸŽ™ļø Voice Notes & Audio: Strict adherence to Meta container specifications with zero-reupload via upload_reusable_attachment.

  • ā¤ļø Message Reactions: Trigger double-tap heart (ā¤ļø), fire (šŸ”„), thumbs-up (šŸ‘), or remove reactions on any message ID.

  • šŸŽÆ Threaded Quoted Replies: Quote specific messages in Instagram DMs using reply_to message ID.

  • šŸŽ Follow-to-Unlock Growth Funnel: Automated ManyChat-style funnel that checks follower status before unlocking exclusive download links.

  • ⚔ Interactive Templates: Quick reply pills, button action cards, and horizontal scrollable generic carousels.

  • šŸ› ļø Chat Moderation: Ice Breakers FAQ configuration, Persistent composer menu, and ig.me tracking link generator.

  • šŸ“Š Analytics: Real-time account and media-level reach, saves, and interaction insights.


šŸ—ļø Architecture

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│              AI Agent (Google Antigravity / Claude)    │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                            │ (JSON-RPC over Stdio)
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā–¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│         meta-social-technologies-mcp Server            │
│                     (server.js)                        │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                            │ (HTTPS REST v26.0)
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā–¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│                    Meta Graph API                      │
│      ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”       │
│      ā–¼                                         ā–¼       │
│  Facebook Page                           Instagram     │
│  (In.yogeshwar)                       (@in.yogeshwar)  │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

🧰 Complete Tool Catalog (32 Tools across Facebook, Instagram & Threads)

Category

Tool Name

Description

Profile

get_page_profile

Profile details and fan count for Facebook Page.

get_instagram_profile

Bio, follower count, and media stats for @in.yogeshwar.

get_user_profile

Look up username, profile photo, and follower status of any chatter.

Publishing

publish_facebook_post

Publish text status and links to Facebook Page.

publish_facebook_photo

Post photo with caption to Facebook Page.

publish_instagram_photo

Post image with caption and hashtags to Instagram.

publish_instagram_reel

Post video reels with caption to Instagram feed.

get_facebook_posts

Fetch recent Facebook posts.

get_instagram_media

Fetch recent Instagram media posts and reels.

Comments

get_media_comments

Read comments on a specific post or reel.

reply_to_comment

Post a public reply to any comment.

like_comment

Like a comment on behalf of @in.yogeshwar.

Direct DMs

send_instagram_dm

Send text, PDF, image, or M4A/WAV audio. Supports reply_to_message_id.

send_instagram_private_reply

Send a private DM in response to a user's comment.

react_to_message

Double-tap heart (ā¤ļø) or emoji reaction to a specific message ID.

Funnel

check_user_follows_account

Check if a chatter follows @in.yogeshwar.

run_instagram_comment_growth_funnel

Complete ManyChat-style keyword auto-reply & follow-gated DM delivery.

Interactive

send_sender_action

Trigger typing_on, typing_off, or mark_seen.

send_quick_replies

Interactive pill buttons (up to 13 buttons).

send_button_template

Structured text with up to 3 action buttons.

send_generic_template

Scrollable carousel cards with images and links.

send_human_agent_message

Send messages outside the 24-hr window up to 7 days (HUMAN_AGENT).

upload_reusable_attachment

Pre-upload media to get reusable attachment_id.

Chat UX

get_conversations

List active DM conversations and unread counts.

get_conversation_messages

Read message history in a conversation thread.

manage_ice_breakers

Get, set, or delete FAQs for new chatters.

manage_persistent_menu

Configure permanent composer bottom menu.

generate_ig_me_link

Generate https://ig.me/m/in.yogeshwar?ref=... links.

Analytics

get_instagram_account_insights

Account reach, profile views, and impressions.

get_instagram_media_insights

Reach, saves, and interaction metrics for posts.

Threads API

get_threads_profile

Bio, username, and stats for @in.yogeshwar (ID: 2072594220036802).

publish_threads_post

Publish text (up to 500 chars), photos, or video threads.

get_threads_posts

Fetch recent published threads and permalinks.

reply_to_threads_post

Post automated replies to thread conversations.

get_threads_insights

Pull views, likes, replies, and reposts metrics.


šŸš€ Quickstart & Setup

1. Installation

Clone the repository or navigate to its directory:

git clone https://github.com/inyogeshwar/meta-social-technologies-mcp.git
cd meta-social-technologies-mcp

2. Configure Environment Variables

Copy .env.example to .env:

cp .env.example .env

Fill in your credentials:

FB_PAGE_ACCESS_TOKEN=your_permanent_page_token
FB_PAGE_ID=your_page_id
INSTAGRAM_ID=your_instagram_id

(See docs/PERMANENT_TOKEN_GUIDE.md for how to generate a lifetime permanent token).

3. Add to Antigravity MCP Config

Add to %USERPROFILE%\.gemini\config\mcp_config.json:

{
  "mcpServers": {
    "meta_social_technologies": {
      "command": "node",
      "args": [
        "D:\\meta-social-technologies-mcp\\server.js"
      ],
      "env": {
        "FB_PAGE_ACCESS_TOKEN": "YOUR_TOKEN",
        "FB_PAGE_ID": "YOUR_PAGE_ID",
        "INSTAGRAM_ID": "YOUR_INSTAGRAM_ID"
      }
    }
  }
}

4. Run the Test Suites

# Verify Page & Instagram connectivity
npm test

# Verify text DM & audio voice note delivery
npm run test:messaging

# Verify double-tap heart & quoted reply
npm run test:reactions

šŸ“„ License

This project is licensed under the MIT License Ā© 2026 Yogeshwar Kumar.

Available Tools

35 tools
check_user_follows_accountA

Check whether an Instagram user follows @in.yogeshwar (Follower Verification).

NameRequiredDescriptionDefault
user_idYesInstagram User ID (IGSID).

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Check' implies a read-style operation and the target account is named, but the description does not disclose authentication requirements, rate limits, error behavior, or return semantics, leaving important behavioral traits undocumented.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant text. Every part of the sentence contributes to identifying the operation and the target account.

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

Completeness3/5

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

For a simple one-parameter check tool, the core purpose is clear. However, with no annotations and no output schema, the description does not state the return shape or edge-case behavior, so an agent must infer what a successful response looks like.

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

Parameters3/5

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

The schema has 100% description coverage for the single user_id parameter, including that it is an Instagram User ID (IGSID). The description adds no parameter-specific meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb and resource: checking whether an Instagram user follows a named account, @in.yogeshwar. This is clearly distinct from the sibling profile-getting and publishing tools because it verifies a follow relationship rather than returning profile/content data.

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

Usage Guidelines3/5

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

The parenthetical 'Follower Verification' implies the use case, but the description does not explicitly state when to use the tool, prerequisites, or exclusions. The sibling list has no direct alternative for this check, so the missing alternative guidance is less harmful, but usage remains implied rather than specified.

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

get_conversation_messagesB

Fetch messages within a specific conversation thread on Instagram.

NameRequiredDescriptionDefault
limitNoMax messages to fetch (default: 10).
conversation_idYesID of the conversation thread.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden, yet it says nothing beyond 'fetch': no ordering (newest-first?), no pagination/cursor behavior, no scoping to accounts the token can access, no failure modes. Only the word 'Fetch' hints at read-only semantics.

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

Conciseness4/5

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

One clean, front-loaded sentence with no filler or repetition. Its brevity is efficient, though it reflects under-specification rather than tight editing of rich content.

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

Completeness3/5

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

For a simple two-parameter read tool with no output schema, the description is minimally adequate. It omits message ordering and pagination, which an agent needs to page through a long thread correctly.

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

Parameters3/5

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

Schema description coverage is 100% – conversation_id and limit (default 10) are both documented in the schema, so the baseline is 3. The description adds no extra meaning such as where conversation_id comes from or whether limit caps total retrieval.

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

Purpose4/5

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

States a specific verb (fetch) and resource (messages within a conversation thread) plus the platform (Instagram). It implicitly separates itself from the sibling get_conversations by scoping to one thread, but never names that sibling explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the read tool for message history inside a thread, but there is no explicit 'use this when...' or reference to get_conversations as the way to discover a conversation_id first.

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

get_conversationsB

Fetch active Instagram direct message conversations/threads, participant IDs, and unread counts.

NameRequiredDescriptionDefault
limitNoMax number of threads to fetch (default: 10).

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden: it does disclose that only active threads are returned and that the payload includes participant IDs and unread counts, which is useful scope information. It says nothing about ordering, pagination behavior tied to limit, or permissions required, so the read-side behavioral profile is only partially covered.

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

Conciseness4/5

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

One sentence, front-loaded with the verb and resource, with the returned data appended. No padding, though it is arguably under-specified rather than maximally efficient.

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

Completeness3/5

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

There is no output schema and no annotations, so the description must carry the return shape, which it partly does. It omits ordering, what 'active' means, and how this relates to get_conversation_messages, leaving meaningful gaps for a slight tool.

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

Parameters3/5

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

Schema description coverage is 100% and the single limit parameter is fully documented in the schema, so the baseline of 3 applies. The description adds no semantics about what limit counts or whether threads are ordered.

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

Purpose4/5

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

States a specific verb and resource ('Fetch active Instagram direct message conversations/threads') and lists what comes back (participant IDs, unread counts). It is clear on its own, but never names or contrasts with the close sibling get_conversation_messages, which is the main ambiguity an agent faces.

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

Usage Guidelines3/5

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

Usage is only implied by the word 'active' and by the phrase 'conversations/threads'; there is no explicit statement of when to call this versus get_conversation_messages or the send_instagram_dm family. The alternative is inferable from the sibling list but not from the description itself.

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

get_facebook_postsB

Fetch recent posts published on the Facebook Page In.yogeshwar.

NameRequiredDescriptionDefault
limitNoMax number of posts to fetch (default: 5).

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose that the target page is fixed (no page selector needed) and that posts are returned in recency order, which is real behavioral context, but it says nothing about pagination, rate limits, or result shape.

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

Conciseness4/5

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

One front-loaded sentence with no filler and the key scoping fact (the specific page) placed immediately. It is efficient, though its brevity borders on under-specification rather than tightness.

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

Completeness3/5

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

For a one-parameter read tool with no annotations and no output schema, the description covers who and what but omits anything about the shape or ordering of returned posts beyond the word 'recent'. Adequate to invoke, thin on expectations.

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

Parameters3/5

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

Schema description coverage is 100% and the sole parameter (limit, default 5) is fully documented in the schema. The description adds no syntax or default detail beyond that, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb (fetch) and resource (recent posts) and pins the target to a named Facebook Page, so the agent knows exactly what data comes back. It does not compare itself to platform-sibling reads like get_instagram_media or get_threads_posts, but the platform distinction is self-evident from the name.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives, and no stated prerequisites. The agent must infer it is a read-only retrieval for the fixed page, and nothing tells it what to do if zero posts exist or when to prefer another tool.

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

get_instagram_account_insightsA

Fetch account-level metrics (reach, content interactions, accounts engaged) for @in.yogeshwar.

NameRequiredDescriptionDefault
periodNoTime period for insights (default: "day").

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations present, the description carries the full behavioral burden; it does disclose the concrete metric set returned, which is genuinely useful. However, it says nothing about permissions/authorization needed, rate limits, data freshness, or the granularity of the returned values, and the hardcoded handle leaves unclear whether the tool works only for that one account.

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

Conciseness5/5

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

One sentence, front-loaded with the verb and resource, with zero filler. The enumerated metrics earn their place by telling the agent what comes back.

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

Completeness4/5

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

For a single-parameter, read-only insights tool with no output schema, the description supplies the key missing piece: what metrics are returned. It falls short only in not clarifying whether the account handle is fixed (i.e. whether the tool can target other accounts) or mentioning period-selection behavior.

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

Parameters3/5

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

Schema description coverage is 100% and the single period parameter has an enum plus a documented default, so the schema does the heavy lifting. The description adds nothing about period semantics (e.g. what a 28-day window returns or how the metric totals change), so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ("Fetch") and a precisely scoped resource ("account-level metrics") and enumerates the metrics returned (reach, content interactions, accounts engaged). The word "account-level" implicitly contrasts it with the sibling get_instagram_media_insights, though that sibling is never named.

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

Usage Guidelines3/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named. The "account-level" phrasing implies the usage context (account-wide rather than per-media insights), but an agent must infer the choice against get_instagram_media_insights and get_instagram_profile.

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

get_instagram_mediaB

Fetch recent media (posts/reels) published on Instagram account in.yogeshwar.

NameRequiredDescriptionDefault
limitNoMax number of media items to fetch (default: 5).

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only fetch and narrows media to posts/reels, but does not disclose pagination behavior, ordering, permissions, rate limits, or return shape for a media-listing tool.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no wasted words. It efficiently identifies the resource and scope.

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

Completeness3/5

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

For a simple one-parameter fetch tool with no output schema and no annotations, the description gives the core resource. However, it does not clarify whether the account is fixed, what fields are returned, or how results are ordered, leaving some contextual gaps.

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

Parameters3/5

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

Schema description coverage is 100%, and the single optional limit parameter is fully documented in the schema with its default. The description adds no parameter meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: fetching recent Instagram media, explicitly posts/reels, for a named account. It is clear what the tool does, though it does not explicitly differentiate itself from siblings like get_instagram_media_insights.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives such as get_instagram_media_insights, get_instagram_profile, or get_facebook_posts. The intended use is implied by 'Fetch recent media,' but no conditions or exclusions are given.

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

get_instagram_media_insightsA

Fetch post/reel metrics (reach, saved count, total interactions) for a specific Instagram post.

NameRequiredDescriptionDefault
media_idYesInstagram Media ID of the post or reel.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It discloses the returned metrics and implies a read-style fetch operation, but does not mention permissions, rate limits, ownership constraints, or error behavior.

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

Conciseness5/5

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

The description is a single efficient sentence with the core action and returned metrics front-loaded. Every phrase contributes useful information without waste.

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

Completeness4/5

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

For a simple one-parameter read tool with no output schema, the description is reasonably complete: it names the entity and summarizes the returned metrics. It could be stronger with a note on account ownership or metric freshness, but the core call context is present.

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

Parameters3/5

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

There is only one parameter, media_id, and the schema description coverage is 100%. The description reinforces that it applies to a specific Instagram post or reel, but adds no syntax or format details beyond the schema.

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

Purpose4/5

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

The description states a specific verb and resource: fetching post/reel metrics for a specific Instagram post. It names representative metrics, which makes the tool's purpose clear. It does not explicitly name sibling tools like get_instagram_account_insights, so differentiation is implicit rather than explicit.

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

Usage Guidelines3/5

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

The description implies the tool is used when per-post or per-reel metrics are needed. However, it does not state when to use this instead of get_instagram_media or get_instagram_account_insights, nor does it give exclusions or prerequisites.

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

get_instagram_profileB

Get profile info, followers count, bio, and media count for Instagram account in.yogeshwar.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It partially meets it by enumerating what is returned, which is valuable given there is no output schema, but it omits whether the account is hardcoded, whether auth is required, and whether it counts only this specific handle.

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

Conciseness4/5

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

One compact sentence with the return fields front-loaded and no filler. The phrasing 'in.yogeshwar' inside the sentence is slightly awkward but not wasteful.

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

Completeness3/5

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

With no parameters and no output schema, the description covers the return contents, which is the main need. It still leaves an agent unsure whether the account is configurable and how this differs from the other profile tools, which is a meaningful gap in a 35-tool server.

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

Parameters4/5

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

The schema declares zero parameters, so there is nothing for the description to disambiguate, and 4 is the baseline for parameterless tools. The mention of 'in.yogeshwar' usefully signals the account is fixed rather than caller-supplied.

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

Purpose4/5

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

The description names a specific verb and resource ('Get profile info... for Instagram account') and enumerates the returned fields (followers count, bio, media count). It does not differentiate itself from the similarly purposed siblings get_user_profile, get_page_profile, or get_threads_profile, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

There is no statement about when to use this tool versus get_user_profile, get_instagram_account_insights, or get_instagram_media. The only implicit guidance is the account handle 'in.yogeshwar', which is not framed as a selection condition.

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

get_media_commentsB

Fetch comments for an Instagram post or reel with commenter details and like counts.

NameRequiredDescriptionDefault
limitNoMax comments to retrieve (default: 15).
media_idYesThe ID of the Instagram post or reel.

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose useful response content — commenter details and like counts — which substitutes for the absent output schema, but says nothing about ordering, pagination behavior, permission/auth requirements, or rate limits for a read endpoint.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the resource and payload summary both earn their place.

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

Completeness4/5

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

For a simple two-parameter read tool with full schema coverage and no output schema, the description is largely sufficient, covering what is fetched and what is returned. The only shortfall is silence on pagination/ordering behavior when pulling comments.

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

Parameters3/5

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

Schema description coverage is 100%, including the limit default of 15 and the media_id definition, so the schema already does the heavy lifting. The description adds no additional semantics about how limit interacts with paging or what media_id accepts beyond the schema.

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

Purpose4/5

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

States a specific verb (fetch) and resource (comments) scoped to Instagram posts or reels, and names what the payload contains (commenter details, like counts). It is distinguishable from siblings like get_instagram_media or get_conversation_messages, though it never explicitly contrasts with them.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives (e.g., reply_to_comment for responding, get_instagram_media for listing posts). Usage is only inferable from the object being fetched.

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

get_page_profileB

Get profile details, followers, and information for Facebook Page In.yogeshwar.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the bare read intent ('Get' implies non-mutating). It does not say what 'information' comprises, whether follower counts are paginated, whether the page is fixed to 'In.yogeshwar', or what the response looks like.

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

Conciseness3/5

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

It is a single short sentence with no filler, which is good. However, embedding a specific page name ('In.yogeshwar') in the description is a structural defect: it reads as a leftover artifact and makes the tool look narrower than its name suggests.

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

Completeness3/5

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

For a zero-parameter read tool with no output schema, the description should at least enumerate the categories of returned data and confirm the target page is fixed. It gestures at 'profile details, followers, and information' but leaves the return shape and the fixed-vs-dynamic target ambiguous.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description's hardcoded page name at least signals that the target is implicit rather than passed in.

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

Purpose4/5

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

States a specific verb ('Get') and resource ('profile details, followers, and information for Facebook Page'), and the 'Facebook Page' qualifier distinguishes it from get_instagram_profile, get_user_profile, and get_threads_profile. The hardcoded page name 'In.yogeshwar' is odd and slightly muddies whether the tool targets a fixed page or any page, but the core purpose is legible.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer it should call this when it needs Facebook Page profile/follower data, but the description never states when to prefer it over get_user_profile or get_instagram_profile, nor any prerequisites. Minimum viable with clear gaps.

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

get_threads_insightsA

Fetch insights (views, likes, replies, reposts, quotes) for a specific thread or the Threads profile.

NameRequiredDescriptionDefault
thread_idNoOptional Thread ID. If omitted, fetches account-level metrics.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the metrics returned (views, likes, replies, reposts, quotes), which is helpful, but it does not state that the operation is read-only, nor does it mention authentication requirements, rate limits, or other 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.

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core information an agent needs to know at a glance.

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

Completeness4/5

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

Given the tool's simplicity (one optional parameter, no output schema, no annotations), the description is largely complete: it states what insights are fetched and for what scope. It could be improved by mentioning read-only nature or required permissions, but for a basic insights retrieval tool it covers the essentials.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents the single parameter thread_id. The description adds no syntax, format, or additional meaning beyond what the schema provides, making the baseline score of 3 appropriate.

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

Purpose4/5

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

The description specifies a clear verb ('Fetch') and resource ('insights ... for a specific thread or the Threads profile') and lists the metrics returned. It does not explicitly differentiate itself from sibling tools like get_threads_profile or get_instagram_media_insights, but the scope is unambiguous.

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

Usage Guidelines3/5

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

Usage is implied: use it when you need insights for a thread or profile. However, there is no explicit guidance on when to use this tool versus alternatives (e.g., get_threads_profile, get_instagram_media_insights) and no when-not conditions are mentioned.

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

get_threads_postsC

Fetch recent published threads and posts for @in.yogeshwar.

NameRequiredDescriptionDefault
limitNoNumber of recent threads to retrieve (default: 5).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It hints that only published (not draft) content is returned, but says nothing about auth requirements, pagination, ordering, or what a "thread" versus a "post" looks like in the response.

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

Conciseness4/5

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

One front-loaded sentence with no filler. However, hard-coding the handle @in.yogeshwar into the description is unusual and can mislead an agent into thinking the account is a fixed target rather than a contextual default.

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

Completeness3/5

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

For a single-optional-parameter read tool with no output schema or annotations, the description is minimally adequate but leaves return shape and auth context unexplained. An agent knows what it fetches but not what it gets back.

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

Parameters3/5

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

Schema coverage is 100% and the single limit parameter is fully documented in the schema, so the description needn't repeat it. The description adds no interpretation of what counts as a "recent" thread, which is the one ambiguity the schema leaves open.

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

Purpose4/5

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

The description pairs a specific verb ("Fetch") with a specific resource ("recent published threads and posts") and narrows scope to one account. An agent can distinguish it from publish_threads_post or get_threads_insights, though it never explicitly contrasts with those siblings.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus the sibling read tools (get_threads_profile, get_threads_insights) and no exclusions or prerequisites. The only cue is the implied read-only nature of "Fetch ... recent published."

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

get_threads_profileB

Fetch profile details, username, bio, and picture for Threads account @in.yogeshwar (ID: 2072594220036802).

NameRequiredDescriptionDefault
user_idNoOptional Threads User ID (defaults to configured THREADS_USER_ID or "me").

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. 'Fetch' implies read-only and it enumerates the returned fields (username, bio, picture), which is useful, but it says nothing about auth requirements, rate limits, or whether the hardcoded ID overrides the user_id parameter.

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

Conciseness4/5

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

A single efficient sentence with the resource front-loaded. The embedded account handle and numeric ID add tokens that arguably belong in a config default rather than the description.

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

Completeness3/5

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

For a one-parameter read tool with no output schema, listing the returned fields is reasonable coverage. However, no annotations plus the hardcoded account leaves ambiguity about whether this is a general profile lookup or a single-account helper.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter is fully documented there (optional, defaults to THREADS_USER_ID or 'me'). The description never mentions user_id and instead hardcodes one ID, which may lead an agent to believe the tool cannot target other accounts — a mild step backwards from the schema.

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

Purpose4/5

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

Specific verb (Fetch) plus resource (Threads profile details, username, bio, picture), and the platform qualifier distinguishes it from siblings like get_instagram_profile and get_page_profile. The hardcoded '@in.yogeshwar (ID: 2072594220036802)' makes it read as bound to one account, which muddies the scope slightly.

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

Usage Guidelines2/5

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

No statement of when to use this versus get_user_profile, get_instagram_profile, or get_page_profile, and no mention that the user_id parameter can target other accounts. Usage has to be inferred from the platform name alone.

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

get_user_profileB

Fetch profile details for an Instagram user by IGSID (username, name, profile pic, follow status).

NameRequiredDescriptionDefault
user_idYesInstagram Scoped User ID (IGSID).

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. 'Fetch' implies a read-only operation, and the listed fields give a basic sense of the return data. But it does not disclose permission requirements, rate limits, failure behavior, or privacy constraints.

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

Conciseness4/5

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

The description is one concise sentence, front-loading the action and resource. The parenthetical field list is efficient. It is appropriately sized for a simple lookup tool, though it could be slightly more structured.

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

Completeness3/5

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

Given a simple single-parameter read tool with no output schema, the description usefully names key returned fields. It still leaves gaps around return structure, error cases, and differentiation from similar profile-fetching siblings.

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

Parameters3/5

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

Schema description coverage is 100%, with user_id already documented as the Instagram Scoped User ID (IGSID). The description repeats that the lookup uses IGSID but adds no extra syntax, format, or validation guidance beyond the schema.

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

Purpose4/5

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

The description states a specific verb and resource: fetching Instagram user profile details by IGSID. It also names the returned fields, which clarifies the scope. However, it does not explicitly distinguish itself from close siblings such as get_instagram_profile or check_user_follows_account.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like get_instagram_profile or check_user_follows_account. The only implied usage is fetching a profile by IGSID, with no exclusions or prerequisite context.

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

like_commentB

Like an Instagram comment on behalf of @in.yogeshwar.

NameRequiredDescriptionDefault
comment_idYesThe ID of the comment to like.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does disclose the acting identity (@in.yogeshwar), which is useful auth context, but says nothing about idempotency (what happens if already liked), reversibility, rate limits, or failure behavior for a mutation tool.

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

Conciseness5/5

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

A single sentence with zero filler, front-loading the action and resource before the acting account.

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

Completeness3/5

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

For a simple one-parameter mutation with no output schema, the basics are covered, but without annotations the description should at least note what a successful or repeated like returns and any permission requirements.

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

Parameters3/5

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

Only one parameter with 100% schema description coverage, so the schema already defines comment_id fully. The description adds no format, sourcing, or validation detail beyond the schema, making the 3 baseline correct.

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

Purpose4/5

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

States a specific verb (like) and resource (an Instagram comment) with the acting account named. An agent can separate it from reply_to_comment and get_media_comments, though it never explicitly contrasts itself with the closer sibling react_to_message.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g., must the comment be visible to the account, must the account have permission), and no mention of alternatives such as reply_to_comment.

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

manage_ice_breakersB

View, set, or delete Instagram Ice Breakers (frequently asked questions shown to new chatters).

NameRequiredDescriptionDefault
actionYesAction: "get", "set", or "delete".
ice_breakersNoRequired if action is "set": List of up to 4 questions and payloads.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden. It does not disclose whether 'set' replaces or appends to existing Ice Breakers, whether 'delete' is destructive/irreversible, what permissions are needed, or what the response contains — significant gaps for a tool with mutating actions.

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

Conciseness5/5

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

A single front-loaded sentence with the verb set first and a useful parenthetical definition; no wasted words.

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

Completeness3/5

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

For a two-parameter configuration tool with a fully documented schema, the description covers purpose and the resource concept adequately. However, the lack of annotations means behavior around mutation, permissions, and replacement semantics is left unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, with the action enum and the 'up to 4 questions, 80 chars' constraints fully documented in the schema. The description adds no parameter detail beyond the schema, so the baseline 3 is appropriate.

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

Purpose4/5

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

Uses specific verbs (View, set, delete) with a clearly named resource (Instagram Ice Breakers) and even explains what the resource is (FAQs shown to new chatters). Distinguishable from most siblings, though it doesn't explicitly contrast with the analogous manage_persistent_menu.

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

Usage Guidelines2/5

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

No guidance on when to choose get vs set vs delete beyond restating the action names, and no prerequisites, permission requirements, or mention of an alternative tool. The agent must infer usage entirely from the action enum in the schema.

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

manage_persistent_menuB

View, set, or delete the Instagram Persistent Menu (navigation menu in the chat composer).

NameRequiredDescriptionDefault
actionYesAction: "get", "set", or "delete".
call_to_actionsNoRequired if action is "set": Menu items (up to 20 items).

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden and it does not: it says nothing about permissions required, whether 'set' replaces or merges existing menu items, whether 'delete' is recoverable, or what 'get' returns when no menu exists. A mutation tool with zero annotation coverage needs more than one sentence about its side effects.

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

Conciseness4/5

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

One front-loaded sentence with no filler and no ambiguity about the resource. Its brevity costs completeness elsewhere, but as a structure it is efficient and easy to parse.

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

Completeness3/5

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

For a two-param, mutation-capable tool with no annotations and no output schema, the definition is minimally viable: an agent knows what object it touches but not the prerequisites, mutation semantics, or return behavior. Gaps are real but not disqualifying given the schema fully describes the inputs.

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

Parameters3/5

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

Schema description coverage is 100%, so the enum, item fields, and the 'up to 20 items' limit are already documented. The description adds no meaning about the action values or the call_to_actions payload beyond what the schema states, making the baseline 3 correct.

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

Purpose4/5

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

Names a specific resource (Instagram Persistent Menu) and the full operation set (view, set, delete), plus a parenthetical that explains what the menu is. It never distinguishes itself from the nearest sibling, manage_ice_breakers, which is another messaging-surface configuration tool.

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

Usage Guidelines3/5

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

Usage is only implied by the action enum in the schema ('get', 'set', 'delete'). There is no statement of when to use this versus manage_ice_breakers or send_quick_replies, no preconditions (e.g., Instagram messaging permissions or a connected page), and no note on which action is appropriate in which situation.

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

publish_facebook_photoC

Publish a photo with caption to Facebook Page In.yogeshwar.

NameRequiredDescriptionDefault
captionNoCaption for the photo.
photo_urlYesPublicly accessible URL of the photo.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral burden but only states the action and target page. It omits key details for a mutation: permissions required, whether posting is immediate, failure behavior, rate limits, and whether the page is fixed or configurable.

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

Conciseness5/5

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

A single sentence with zero waste, front-loading the action and target. Every element earns its place.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is too minimal. It lacks usage guidance, behavioral context (auth, side effects), and does not explain return values or error handling.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters (photo_url and caption) are already fully documented in the input schema. The description adds minimal meaning beyond noting 'with caption' and confirming the target page.

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

Purpose4/5

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

The description states a specific verb ('Publish') and resource ('photo with caption') targeting a named Facebook Page ('In.yogeshwar'). It implicitly distinguishes from siblings like publish_facebook_post (text-only) and publish_instagram_photo, but does not explicitly name alternatives.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus publish_facebook_post or other publishing tools, nor are prerequisites or exclusions mentioned. The agent must infer the appropriate context.

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

publish_facebook_postB

Publish a status update or text message to Facebook Page In.yogeshwar.

NameRequiredDescriptionDefault
linkNoOptional link URL to attach.
messageYesThe text content of the post.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It identifies the operation as a publish/mutation but does not disclose permissions, whether the post appears immediately, rate limits, side effects, or return behavior.

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

Conciseness5/5

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

A single front-loaded sentence with no filler. It communicates the action, content type, and target page efficiently.

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

Completeness3/5

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

The tool is simple and the schema is fully documented, but as a mutation with no annotations the description should say more about publishing behavior and safety context. It is minimally sufficient for invocation but incomplete behaviorally.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in the input schema. The description reinforces that the tool publishes text content but adds no new detail about the optional link parameter or formatting expectations.

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

Purpose4/5

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

States a specific verb (publish) and resource (Facebook post/status update) scoped to a named Facebook Page. The phrase "status update or text message" implicitly distinguishes it from the sibling publish_facebook_photo, though it does not explicitly name that alternative.

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

Usage Guidelines3/5

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

The intended use case is implied by "status update or text message to Facebook Page," but there is no explicit when-to-use guidance, no exclusions, and no reference to alternatives such as publish_facebook_photo or publish_instagram_photo.

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

publish_instagram_photoC

Publish a photo post with caption and hashtags to Instagram account in.yogeshwar.

NameRequiredDescriptionDefault
captionNoCaption and hashtags for the post.
image_urlYesDirect public URL of the image (JPG/PNG).

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations at all, the description carries the full behavioral burden and falls short: it does not say the post is publicly visible and hard to undo, whether publishing requires a specific token/permission, what happens on rate limits or duplicate content, or what the call returns. Only the implicit 'publish' mutation is conveyed.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. The hardcoded account name is slightly unusual phrasing but is informative rather than wasteful.

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

Completeness2/5

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

For a mutation tool with zero annotations and no output schema, the description should at least signal return behavior (e.g., a media ID) and failure modes. It supplies neither, leaving the agent under-informed about the consequences of calling it.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in structured form; the description adds only that caption can include hashtags, which is marginal. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb (publish) and resource (photo post) plus the target account (in.yogeshwar), which distinguishes it from publish_instagram_reel and the Facebook publishers by resource type. It never explicitly names those siblings, but the resource noun does the disambiguation work.

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

Usage Guidelines2/5

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

No guidance on when to use this versus publish_instagram_reel or publish_facebook_photo, and no prerequisites stated (public image URL, account type, permissions). The agent must infer everything from the name.

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

publish_instagram_reelC

Publish a video reel with caption to Instagram account in.yogeshwar.

NameRequiredDescriptionDefault
captionNoCaption and hashtags for the reel.
video_urlYesDirect public URL of the MP4 video file.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It implies a write operation but says nothing about permissions needed, whether publishing is immediate and public, rate limits, or container-processing delays typical of Instagram reels. Only the hard-coded target account is disclosed.

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

Conciseness5/5

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

A single sentence with the action verb front-loaded and zero redundant wording. Nothing needs to be trimmed.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description omits what an agent needs: confirmations that the post is public, the expected outcome (e.g., a media ID), and any failure or throttling behavior. The 2 well-documented parameters keep it from being worse.

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

Parameters3/5

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

Schema description coverage is 100%, with both video_url (direct public MP4 URL) and caption (caption and hashtags) already documented in the schema. The description adds only that caption accompanies a video reel, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb (publish) and a specific resource (video reel) with an explicit target account. The word 'reel' plus 'video' distinguishes it from publish_instagram_photo and the facebook/threads publish siblings, though no sibling is named directly.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this over publish_instagram_photo or the other publish_* tools, and no prerequisites such as account permissions or video format requirements are mentioned. Usage must be inferred entirely from the name.

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

publish_threads_postB

Publish a post (text, image, or video) to Threads account @in.yogeshwar using the official Threads API.

NameRequiredDescriptionDefault
textYesThe text content or caption of the thread post (up to 500 characters).
image_urlNoPublic URL to image (required if media_type is IMAGE).
video_urlNoPublic URL to video (required if media_type is VIDEO).
media_typeNoType of post: "TEXT", "IMAGE", or "VIDEO" (default: auto-detected).

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden for a mutation tool. It mentions the official Threads API and target account, but does not disclose permission requirements, rate limits, media-processing behavior, error cases, or what a successful publish returns.

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

Conciseness5/5

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

The definition is a single front-loaded sentence with no wasted text. It states the action, supported media types, platform, and target account efficiently.

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

Completeness3/5

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

The description is adequate for understanding what the tool publishes and to which platform, and the schema fully covers parameters. However, for a publish/mutation tool with no annotations and no output schema, it omits behavioral context such as permissions, media requirements, and return behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are already well documented in the schema. The description reinforces the text/image/video capability but adds no parameter syntax or conditional details beyond what the schema provides.

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

Purpose4/5

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

The description states a specific action and resource: publishing a Threads post with text, image, or video to @in.yogeshwar. It clearly distinguishes Threads from sibling Facebook/Instagram publishing tools, though it does not explicitly distinguish a new post from reply_to_threads_post.

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

Usage Guidelines2/5

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

The description explains what the tool does but gives no guidance on when to use it versus alternatives such as reply_to_threads_post or the Instagram/Facebook publish tools. No prerequisites or exclusions are stated.

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

react_to_messageB

React to a specific Instagram Direct Message with an emoji (e.g. double-tap heart "ā¤ļø", "šŸ‘", "šŸ”„", etc.) or unreact.

NameRequiredDescriptionDefault
actionNoAction to perform: "react" (default) or "unreact".
reactionNoEmoji to react with (default: "ā¤ļø" for double-tap heart). Leave empty or pass action="unreact" to remove reaction.
message_idYesUnique Message ID (mid) of the message to react to.
recipient_idYesInstagram Scoped User ID (IGSID) of the chatter.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It does add platform-specific context — that the default reaction is the double-tap heart ā¤ļø — and distinguishes the additive vs. removal operation, but it omits what happens on repeated reactions (replace vs. stack), permission/scope requirements, and error behavior.

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

Conciseness4/5

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

A single front-loaded sentence that names the action, target, and the unreact variant with no procedural filler. The parenthetical emoji examples are slightly noisy but illustrate expected input format.

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

Completeness3/5

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

For a 4-parameter mutation tool with no annotations and no output schema, the definition covers the core operation but leaves gaps: no statement of the return value or confirmation shape, no mention of permission scope, and no note on whether an existing reaction is overwritten when react is called twice.

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

Parameters3/5

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

Schema description coverage is 100%, including an enum on action and defaults documented on reaction, so the schema already does the semantic heavy lifting. The description only echoes the emoji examples and the react/unreact duality without adding format or constraint detail beyond the schema, which is the baseline-3 case.

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

Purpose4/5

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

States a specific verb (react/unreact) on a specific resource (a specific Instagram Direct Message) with an emoji, which is unambiguous. No sibling tool performs reactions, so the operation is distinguishable, but the description never explicitly contrasts itself with send_instagram_dm or reply-style tools.

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

Usage Guidelines3/5

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

The phrase 'or unreact' implies the two modes and the schema exposes action=react|unreact, so the intended usage is inferable. However, there is no explicit guidance on when to react versus send a DM, and no statement of prerequisites (e.g. message must exist in the thread, required permissions).

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

reply_to_commentA

Post a public reply to a specific comment on an Instagram post or reel.

NameRequiredDescriptionDefault
messageYesThe text of the public reply.
comment_idYesThe ID of the comment to reply to.

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description must carry the full behavioral burden. It discloses that this is a public write action, but does not mention required permissions, rate limits, whether replies are immediately visible, error conditions, or what happens if the comment is deleted or unavailable.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no wasted words. It efficiently conveys the action, visibility, target, and platform context.

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

Completeness3/5

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

The tool is simple with two fully documented required parameters, and the description makes the core action clear. However, because there are no annotations and no output schema, the description leaves behavioral and response expectations underspecified for a write action.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in the input schema. The description adds no additional semantics about comment_id format, message constraints, or reply behavior beyond what the schema provides.

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

Purpose5/5

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

The description states a specific action and resource: posting a public reply to a specific comment on an Instagram post or reel. The word 'public' also distinguishes it from the sibling tool send_instagram_private_reply, and the Instagram/media scope distinguishes it from reply_to_threads_post.

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

Usage Guidelines3/5

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

Usage is implied by 'public reply' versus private alternatives, but the description does not explicitly say when to choose this over send_instagram_private_reply or other reply/comment tools. It gives enough context to infer the use case but not explicit routing guidance or exclusions.

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

reply_to_threads_postB

Publish a reply to a specific post/thread on Threads.

NameRequiredDescriptionDefault
textYesThe reply text.
thread_idYesThe ID of the thread to reply to.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It indicates a public publish/mutation action, but does not disclose authentication needs, rate limits, whether the reply is publicly visible, what happens if the thread_id is invalid, or what the call returns.

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

Conciseness5/5

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

The description is a single front-loaded sentence with zero waste. It communicates the core action efficiently and appropriately sized for a simple two-parameter tool.

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

Completeness3/5

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

The tool is simple (two required parameters, no nested objects, no output schema). The description identifies the operation but leaves gaps around authentication, public visibility, error conditions, and return behavior. For an unannotated mutation tool, this is adequate but not complete.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters ('text' and 'thread_id') are already well documented in the input schema. The description adds no additional syntax, formatting, or constraints beyond the schema baseline, which is appropriate but minimal.

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

Purpose4/5

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

The description uses a specific verb ('Publish') and resource ('a reply to a specific post/thread on Threads'), making the core action clear. It does not explicitly distinguish itself from the sibling publish_threads_post, which creates a top-level post rather than a reply, leaving some ambiguity for an agent choosing between the two.

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

Usage Guidelines3/5

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

Usage is implied: use this to reply to an existing Threads post/thread rather than create a new one. However, there is no explicit when-to-use guidance, no mention of the sibling publish_threads_post alternative, and no stated prerequisites such as needing an existing thread ID.

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

run_instagram_comment_growth_funnelB

ManyChat/Superprofile style automated funnel: scans comments for keywords (e.g. "guide"), likes the comment, replies publicly, and DMs the guide/link with a "User Must Follow" gate.

NameRequiredDescriptionDefault
keywordYesTrigger keyword in comments (e.g., "guide", "link"). Case-insensitive.
media_idNoThe Instagram media ID (or pass "latest" for newest post/reel).
attachment_idNoOptional reusable attachment ID instead of URL.
attachment_urlNoDirect public URL to the PDF, audio file (M4A/WAV/AAC), or image.
require_followNoThe Follow Catch: If true, checks if user follows @in.yogeshwar before unlocking content (default: true).
attachment_typeNoOptional attachment type (e.g., "file" for PDF, "audio" for voice note).
follow_gate_messageNoMessage sent if user does NOT follow (e.g. "Hey! šŸ‘‹ Please follow @in.yogeshwar first to unlock the guide! Once followed, reply DONE!").
public_reply_templateNoPublic reply under the comment (e.g. "Check your DM! I sent you the guide šŸ“„").
unlocked_content_textYesThe message and link delivered once user is verified as a follower.
like_matching_commentsNoWhether to auto-like matching comments (default: true).

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the side-effect chain (auto-like, public reply, DM) plus the follow gate, which is genuinely useful. However it leaves key operational semantics ambiguous for a mutation tool: whether 'scans comments' means a one-shot pass over existing comments or a persistent subscription, whether already-processed comments are re-handled, and whether permissions beyond the account are needed.

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

Conciseness4/5

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

A single dense sentence that front-loads the action sequence with zero filler. The 'ManyChat/Superprofile style' anchor is compact and informative, though it assumes familiarity with those products.

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

Completeness3/5

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

For a ten-parameter automation with no annotations and no output schema, the description covers the conceptual flow adequately and the schema covers every parameter. What is missing is execution semantics an agent needs before committing: one-shot vs continuous behavior, handling of multiple matching comments, and what the call returns.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all ten parameters including defaults and the 'latest' media_id convention. The description only loosely maps to keyword, like, public reply, and gated DM, adding no syntax or format detail beyond the schema; baseline 3 applies.

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

Purpose4/5

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

States a specific compound verb sequence and resource: scans comments for keywords, likes them, replies publicly, and DMs content behind a follow gate. This is clearly distinguishable from atomic siblings like like_comment, reply_to_comment, and send_instagram_private_reply because it names the bundled workflow, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

The framing as a 'ManyChat/Superprofile style automated funnel' implies you use this when you want the whole keyword-to-DM flow rather than the individual steps, but the description never states when to prefer this over composing the sibling primitives, nor any prerequisites or exclusions.

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

send_button_templateC

Send a Button Template message (text with up to 3 action buttons: URL links or postback triggers).

NameRequiredDescriptionDefault
textYesMessage body text.
buttonsYesArray of up to 3 buttons.
recipient_idYesInstagram User ID (IGSID).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden, and it discloses almost nothing beyond the 3-button cap. It is silent on messaging-window/permission requirements, whether the send is idempotent, what happens on failure, and what the call returns.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the parenthetical constraint is the highest-value information. It is efficient, though arguably too terse for a messaging tool with required structured input.

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

Completeness2/5

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

With no annotations, no output schema, and three required parameters, the description should explain delivery constraints and expected result. Instead it stops at the payload shape, leaving an agent unable to anticipate platform messaging restrictions or what a successful send yields.

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

Parameters3/5

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

Schema description coverage is 100%, so recipient_id, text, and the nested button fields are already documented, making 3 the baseline. The description adds only the coarse mapping of button kinds to URL links and postback triggers, which the schema's enum already conveys.

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

Purpose4/5

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

States a specific verb and resource (send a Button Template message) and defines the payload shape as text plus up to 3 action buttons. It does not name or contrast with close siblings such as send_quick_replies or send_generic_template, so an agent must infer the distinction from the shape alone.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance. The description implies the scenario (you have text plus a few buttons) but gives no rule for choosing this over send_quick_replies, send_generic_template, or a plain send_instagram_dm.

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

send_generic_templateC

Send a Generic Template carousel card (image, title, subtitle, and action buttons) to Instagram chat.

NameRequiredDescriptionDefault
elementsYesCarousel items (up to 10 elements).
recipient_idYesInstagram User ID (IGSID).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses that the tool sends a message to Instagram chat, but it does not mention authentication requirements, rate limits, delivery semantics, or whether messages are subject to platform messaging windows.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no wasted text. It efficiently identifies the action and the card contents, though the parenthetical field list is slightly redundant given the schema.

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

Completeness2/5

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

For a message-sending tool with no annotations and no output schema, the description is under-specified. It explains what is sent but omits operational context such as required permissions, messaging-window restrictions, and failure behavior, leaving an agent without enough information to use it safely.

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

Parameters3/5

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

Schema coverage is 100%, so the input schema already documents recipient_id and the nested elements structure. The description only names the visible card fields and does not add syntax or constraints beyond what the schema provides, making the baseline 3 appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: sending a Generic Template carousel card to Instagram chat, and lists the card components. It is clear what the tool does, but it does not explicitly differentiate this from sibling tools like send_button_template or send_quick_replies.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as send_button_template, send_quick_replies, or send_instagram_dm. The phrase 'carousel card' implies a use case, but the agent must infer the selection criteria.

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

send_human_agent_messageA

Send a message using the HUMAN_AGENT escalation tag (allows human agents to reply up to 7 days outside the 24-hr window).

NameRequiredDescriptionDefault
message_textYesThe human agent response text.
recipient_idYesInstagram User ID (IGSID).

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the key behavioral trait: the HUMAN_AGENT tag permits replies outside the standard 24-hour window. It does not mention permissions, side effects, failure behavior, or return values, leaving meaningful gaps for a send operation.

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

Conciseness5/5

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

A single efficient sentence that front-loads the action and the key escalation-tag behavior. There is no wasted wording.

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

Completeness4/5

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

For a simple two-parameter send tool with a fully described schema and no output schema, the description covers the critical special behavior of the HUMAN_AGENT tag. It could still be stronger with explicit routing guidance versus sibling send tools and basic failure or permission context.

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

Parameters3/5

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

Schema description coverage is 100%, so both required parameters are already documented in the schema. The description adds no additional parameter-level meaning beyond what the schema provides, making the baseline score appropriate.

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

Purpose4/5

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

The description gives a specific verb and resource ('Send a message') and names the distinguishing mechanism ('HUMAN_AGENT escalation tag'), so an agent can infer it differs from a normal DM. However, it does not explicitly name or contrast the sibling tools like send_instagram_dm.

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

Usage Guidelines3/5

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

It implies when the tool is appropriate by mentioning replies up to 7 days outside the 24-hour window, but it does not explicitly state when to choose this over send_instagram_dm or send_instagram_private_reply. Usage is implied rather than directly guided.

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

send_instagram_dmA

Send a Direct Message (text, image, audio/voice, or PDF/file) to an Instagram user by their IGSID. Supports quoting/replying to an exact message (threaded reply). For audio, supported formats are AAC, M4A, WAV, or MP4 up to 25MB.

NameRequiredDescriptionDefault
message_textNoText message to send.
recipient_idYesInstagram Scoped User ID (IGSID).
attachment_idNoReusable attachment ID (obtained from upload_reusable_attachment or previous message). If provided, attachment_url is ignored.
attachment_urlNoPublic direct URL to the attachment file (PDF, audio M4A/WAV/AAC, image JPG/PNG, MP4 video). Direct raw URL without redirects.
attachment_typeNoType of attachment: "image", "audio" (voice note), "video", or "file" (PDF/docs).
reply_to_message_idNoOptional Message ID (mid) of a specific message to quote and reply to (exact message threaded reply).

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations at all, the description carries the full burden. It does usefully disclose supported formats and the 25MB audio cap, but says nothing about Instagram messaging-policy constraints (e.g., the 24-hour customer-service window), permission requirements, whether message_text and an attachment can be combined, or rate limits — meaningful gaps for a send/mutation tool with zero annotation coverage.

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

Conciseness4/5

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

Three sentences with the core action front-loaded and no filler; each subsequent sentence adds a distinct capability (threaded reply, audio constraints). Minor room to tighten by grouping attachment-format rules into one clause.

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

Completeness3/5

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

For a 6-parameter send tool with no annotations and no output schema, the description covers content types, reply semantics, and audio limits, but omits what the call returns (message ID, status), how errors surface, and whether text plus attachment may coexist — gaps an agent would want before invoking.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema by adding the 25MB size ceiling and naming MP4 alongside AAC/M4A/WAV for audio voice notes. It also frames reply_to_message_id as a threaded-reply control, which reinforces the schema's own wording.

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

Purpose4/5

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

The description opens with a specific verb+resource ("Send a Direct Message ... to an Instagram user by their IGSID") and enumerates the supported content types, so the action is unambiguous. It does not, however, distinguish itself from nearby siblings such as send_instagram_private_reply or send_sender_action, which an agent must infer from the name alone.

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

Usage Guidelines3/5

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

Usage is only implied: the mention of quoting an exact message hints that reply_to_message_id is used for threaded replies, and "by their IGSID" signals the required identifier. There is no explicit when-to-use/when-not statement and no alternative tool is named for cases like replying to a comment versus messaging a user.

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

send_instagram_private_replyB

Send a private Direct Message (DM) to an Instagram user in response to their comment.

NameRequiredDescriptionDefault
comment_idYesThe comment ID of the user to message.
message_textYesThe message text or link to send.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden. It says the tool sends a message but discloses nothing about platform constraints that materially affect invocation — e.g. Instagram's one-private-reply-per-comment limit, the time window in which a reply is allowed, required permissions, or whether the send is immediate and irreversible.

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

Conciseness5/5

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

One sentence, front-loaded with verb and resource, with zero filler. Nothing could be removed without losing meaning.

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

Completeness2/5

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

With no annotations and no output schema, the description is the only place behavioral context could live, and it stops at purpose. For a messaging tool with known platform restrictions, an agent cannot tell from this definition what will fail or what the call returns.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented. The description adds no detail beyond the schema — it does not clarify the format of comment_id, whether message_text accepts links/media, or any length restrictions. Baseline 3 applies when the schema does the work.

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

Purpose4/5

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

States a specific verb (send) and resource (private Direct Message) plus the qualifying condition 'in response to their comment', which is what separates it from the sibling send_instagram_dm. It never names that sibling explicitly, so an agent must infer the distinction rather than read it.

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

Usage Guidelines3/5

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

The phrase 'in response to their comment' implies the usage context (comment-triggered private reply), but there is no explicit statement of when to prefer this over send_instagram_dm or reply_to_comment, and no prerequisites or exclusions are given.

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

send_quick_repliesC

Send a message with interactive Quick Reply buttons that users can tap in Instagram DMs.

NameRequiredDescriptionDefault
message_textYesQuestion or prompt text.
recipient_idYesInstagram User ID (IGSID).
quick_repliesYesArray of up to 13 quick replies.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says the buttons are interactive and tappable in Instagram DMs, but it does not disclose messaging permissions, delivery constraints, rate limits, what happens when a user taps, or how payloads are returned.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It efficiently conveys the action, medium, and interactive element.

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

Completeness2/5

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

Although the schema is fully documented, the tool has no annotations and no output schema, and the description does not cover safety, permissions, delivery behavior, or alternatives. For a messaging action in a crowded sibling set, the description is not complete enough to guide correct selection and invocation confidently.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema documents recipient_id, message_text, and the quick_replies structure including title length and payload meaning. The description adds no parameter details beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: sending a message with interactive Quick Reply buttons in Instagram DMs. It is clear what the tool does, but it does not explicitly distinguish itself from nearby sibling send tools such as send_button_template or send_generic_template.

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

Usage Guidelines2/5

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

The description implies the tool is for Quick Reply buttons, but gives no explicit guidance on when to use it versus alternatives like send_instagram_dm, send_button_template, or send_generic_template. With many sibling messaging tools, the missing routing guidance is a real gap.

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

send_sender_actionB

Trigger sender actions in Instagram chat: typing indicator ("typing_on", "typing_off") or mark as seen ("mark_seen").

NameRequiredDescriptionDefault
actionYesSender action to perform.
recipient_idYesInstagram User ID (IGSID).

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and does not disclose that these actions are ephemeral state signals rather than messages, nor any permission, rate-limit, or persistence details. It essentially restates the enum values from the schema.

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

Conciseness4/5

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

A single well-formed sentence that front-loads the purpose and enumerates the actions. No filler, though it could have used a second sentence for behavioral context rather than none.

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

Completeness2/5

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

For a zero-annotation, no-output-schema tool, the description explains only the action names. It omits whether a message must be sent, session/permission requirements, and what happens on success or failure, leaving real gaps.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents recipient_id and action. The description adds minor value by mapping 'typing_on'/'typing_off' to a typing indicator and 'mark_seen' to a read receipt, but offers no format or constraint detail beyond that.

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

Purpose4/5

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

States a specific verb (trigger) and resource (sender actions in Instagram chat), and enumerates the three supported actions. This lets an agent distinguish it from message-sending siblings like send_instagram_dm, though it does not explicitly name any sibling.

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

Usage Guidelines3/5

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

The phrase 'in Instagram chat' implies the operational context (an existing conversation), but there is no explicit guidance on when to prefer this over send_instagram_dm or reply tools. The enum values make the intent reasonably inferable.

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

upload_reusable_attachmentA

Upload an attachment to Meta servers using Attachment Upload API to get a reusable attachment_id for fast zero-reupload DM delivery.

NameRequiredDescriptionDefault
urlYesDirect public URL to the file to upload.
attachment_typeYesType of attachment: "file" (PDF/docs), "image", "audio", or "video".

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It usefully discloses that the file is uploaded to Meta servers via the Attachment Upload API and that the resulting attachment_id is reusable across sends, but omits lifecycle details an agent needs: expiry of attachment_id, size/format limits, and permission requirements.

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

Conciseness5/5

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

A single sentence with the action, transport, and payoff front-loaded and no filler. Every clause earns its place.

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

Completeness3/5

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

For a simple two-parameter tool with no output schema, the description does mention the return value (attachment_id) and its reusability, which is helpful. It still leaves gaps around attachment_id lifetime and how the ID is subsequently consumed, which matter for a staged upload-then-send workflow.

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

Parameters3/5

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

Schema description coverage is 100%, including an enum for attachment_type, so the schema fully documents both parameters. The description adds no syntax or format details beyond it, which is the baseline-3 case.

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

Purpose4/5

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

States a specific verb and resource ('Upload an attachment to Meta servers') plus the outcome ('reusable attachment_id'), which no sibling tool provides. It is clearly distinguishable from send_instagram_dm and the publish_* tools, though it never explicitly names the relationship to them.

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

Usage Guidelines3/5

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

The phrase 'for fast zero-reupload DM delivery' implies this is a pre-step before sending direct messages, but the description never says 'call this before send_instagram_dm' or states when not to use it. Usage is inferable rather than explicit.

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

Tool Schema Changelog

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

  1. 35 tool updatesv1.0.0
    • First observedcheck_user_follows_account
    • First observedgenerate_ig_me_link
    • First observedget_conversation_messages
    • First observedget_conversations
    • First observedget_facebook_posts
    • First observedget_instagram_account_insights
    • First observedget_instagram_media
    • First observedget_instagram_media_insights
    • First observedget_instagram_profile
    • First observedget_media_comments
    • First observedget_page_profile
    • First observedget_threads_insights
    • First observedget_threads_posts
    • First observedget_threads_profile
    • First observedget_user_profile
    • First observedlike_comment
    • First observedmanage_ice_breakers
    • First observedmanage_persistent_menu
    • First observedpublish_facebook_photo
    • First observedpublish_facebook_post
    • First observedpublish_instagram_photo
    • First observedpublish_instagram_reel
    • First observedpublish_threads_post
    • First observedreact_to_message
    • First observedreply_to_comment
    • First observedreply_to_threads_post
    • First observedrun_instagram_comment_growth_funnel
    • First observedsend_button_template
    • First observedsend_generic_template
    • First observedsend_human_agent_message
    • First observedsend_instagram_dm
    • First observedsend_instagram_private_reply
    • First observedsend_quick_replies
    • First observedsend_sender_action
    • First observedupload_reusable_attachment

TDQS

B3.2/5.0

Scored across 35 tools

Disambiguation3/5

Platform prefixes (facebook/instagram/threads) help separate otherwise parallel tools, but the DM-sending cluster (send_instagram_dm, send_instagram_private_reply, send_human_agent_message, send_quick_replies, send_button_template, send_generic_template) overlaps heavily and requires careful description reading to pick correctly. Similarly get_instagram_profile vs get_user_profile vs get_threads_profile have fuzzy boundaries (own account vs IGSID lookup).

Naming Consistency4/5

Overwhelmingly consistent verb_noun snake_case (publish_*, get_*, send_*, reply_to_*, like_*), with platform qualifiers applied predictably. Minor deviations: manage_ice_breakers/manage_persistent_menu bundle view/set/delete under a non-verb prefix, and the scoping of get_threads_insights vs get_instagram_account_insights vs get_instagram_media_insights is uneven.

Tool Count3/5

35 tools is heavy; while the domain (FB Page + Instagram + Threads + DM automation) is broad, the count is inflated by six near-parallel DM-send tools and could be consolidated. It sits at the top edge of justified rather than being well-scoped.

Completeness3/5

Strong publishing, media listing, comment handling, insights, and DM/chat-configuration coverage for Instagram, but there are notable gaps: no delete/edit operations for published posts or media, and Facebook/Threads surfaces are read-and-publish only (no comment management, DMs, or insights for Facebook).

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to manage Instagram and Threads accounts — publish content, handle comments, view insights, search hashtags, and manage DMs through the Meta Graph API.
    59
    29 npm
    13
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables reading and replying to direct messages, comments, and templates across Instagram, WhatsApp, and Messenger through official Meta Business APIs, with support for human handover and AI assistant controls.
    9 npm
    MIT