Skip to main content
Glama
SocialAPIsHub

SocialAPIs MCP Server

Official

SocialAPIs MCP Server

SocialAPIs Logo

Unified social media API for AI agents

npm version License: MIT GitHub stars

WebsiteDocumentationDiscordnpm

Official SDKs: PythonJavaScript / TypeScriptGo


🚀 Quick Start

Installation

npm install -g @socialapis/mcp

Configuration

Add to your Claude Desktop config:

macOS:

nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

notepad %APPDATA%\Claude\claude_desktop_config.json

Related MCP server: PagePilot MCP

🔧 Configuration

{
  "mcpServers": {
    "socialapis": {
      "command": "npx",
      "args": ["-y", "@socialapis/mcp", "YOUR_API_KEY"]
    }
  }
}

Method 2: Environment Variable

# Set environment variable
export SOCIALAPIS_API_KEY=your_api_key_here

# Run without argument
npx @socialapis/mcp

Method 3: .env File (For Development)

# Copy example file
cp .env.example .env

# Edit with your values
nano .env

.env file:

SOCIALAPIS_API_KEY=your_api_key_here
MCP_PROXY_URL=https://mcp.socialapis.io

Environment Variables

Variable

Description

Default

SOCIALAPIS_API_KEY

Your SocialAPIs API key

None (required)

MCP_PROXY_URL

MCP proxy server URL

https://mcp.socialapis.io

PORT

HTTP server port

3001

API_BASE_URL

Backend API URL

https://api.socialapis.io

Get API Key

  1. Sign up at socialapis.io

  2. Go to Dashboard

  3. Copy your API key

  4. Replace YOUR_API_KEY in config

Test It

Restart Claude Desktop and ask:

Get Nike's Facebook page details

📋 Features

  • 🌐 Unified API - One interface for multiple platforms

  • 🤖 AI-First - Built for Claude, Cursor, and AI agents

  • 📊 Rich Data - Posts, comments, engagement metrics

  • 🔍 Advanced Filtering - Time ranges, pagination

  • 🎯 Simple Auth - No OAuth complexity

  • Fast - Global edge network

  • 🔒 Secure - API keys stay local


🛠️ Available Tools

47 tools across Facebook and Instagram. Every tool maps 1:1 to a REST endpoint on api.socialapis.io — pricing notes in each tool description indicate per-call credit cost.

Facebook — Pages

  • facebook_get_page_id — Extract page ID from URL

  • facebook_get_page_details — Page info, followers, likes, category. Set exact_followers_count=true for the exact integer (charges 5 credits instead of 1)

  • facebook_get_page_posts — Fetch posts with after_time / before_time for date filtering. limit 3-9, charges scale per ceil(returned / 3)

  • facebook_get_page_videos — Page videos, limit 6-12

  • facebook_get_page_reels — Reels / short videos

Facebook — Groups

  • facebook_get_group_id — Extract group ID from URL

  • facebook_get_group_details — Full details (members, description, rules)

  • facebook_get_group_posts — Group posts, same limit + date filtering as page posts

  • facebook_get_group_videos — Group videos with pagination

Facebook — Posts

  • facebook_get_post_id — Extract post ID from URL

  • facebook_get_post_details — Reactions, comments count, shares, media

  • facebook_get_post_details_extended — Extended fields: view counts (essential for reels / video posts), video URLs, music/audio metadata, author verification

  • facebook_get_post_attachments — Full media attachments (5 credits per call)

  • facebook_get_video_details — Video post metadata + stats

  • facebook_get_post_comments — Top-level comments, limit up to 30

  • facebook_get_comment_replies — Replies to a specific comment

  • facebook_search_pages — Search pages by keyword + optional location filter

  • facebook_search_people — Search public profiles by keyword

  • facebook_search_locations — Look up Facebook location UIDs (for use in other endpoints)

  • facebook_search_posts — Search posts by keyword, recency, location

  • facebook_search_videos — Search Facebook Watch videos

Facebook — Ads Library (Meta Ad Transparency)

  • facebook_ads_search — Search ads by keyword, country, status

  • facebook_ads_page_details — All ads from a specific page

  • facebook_ads_archive_details — Full ad archive details

  • facebook_ads_keywords — Search ads by keyword

  • facebook_ads_countries — List of supported country codes

Facebook — Marketplace

  • facebook_marketplace_search — Item search with location, price, category, condition filters

  • facebook_marketplace_listing — Single listing details

  • facebook_marketplace_seller — Seller profile + their listings

  • facebook_marketplace_categories — Browse category hierarchy

  • facebook_marketplace_city_coordinates — Lat/long for a city (for radius search)

  • facebook_marketplace_vehicles — Vehicle-specific listing search

  • facebook_marketplace_rentals — Rental property listings

Facebook — Media

  • facebook_download_media — Direct download URL for FB media (images, videos)

Instagram — Profile

  • instagram_get_user_id — Resolve username → numeric ID

  • instagram_get_profile_details — Profile info, follower count, bio, post count

  • instagram_get_profile_posts — Recent posts from a profile

  • instagram_get_profile_reels — Reels from a profile

  • instagram_get_profile_highlights — Story highlights list

  • instagram_get_highlight_details — Full content of a specific highlight

Instagram — Posts + Reels

  • instagram_get_post_id — Resolve post URL → ID

  • instagram_get_post_details — Likes, comments, media, caption

  • instagram_get_reels_feed — Reels feed for a profile

  • instagram_get_reels_by_audio — Reels using a specific audio/music ID

Instagram — Discovery

  • instagram_popular_search — Trending queries / suggestions

  • instagram_get_location_posts — Posts tagged at a specific location

  • instagram_get_nearby_locations — Nearby location IDs (for use in location-posts)

Coming soon

  • TikTok (videos, profiles, hashtags)

  • X / Twitter (tweets, profiles, search)

  • LinkedIn (company pages, posts, employees)

  • YouTube (videos, channels, comments)

Track the platform roadmap at socialapis.io/api-sources.


💡 Usage examples

Each prompt below is a real Claude Desktop session. Some of these are single-tool-call patterns ("get me X"); some require Claude to chain multiple calls + aggregate the results (noted where).

Single-call patterns (fast, cheap)

What's Nike's follower count on Facebook?
→ Uses facebook_get_page_details (1 credit)

Get the latest 9 posts from facebook.com/EngenSA
→ Uses facebook_get_page_posts with limit=9 (1-3 credits depending on actual returned count)

Show me the Meta ads currently running for "Apple Vision Pro" in Germany
→ Uses facebook_ads_search (1 credit)

Multi-call patterns (Claude orchestrates these — but it's slower + more expensive)

Compare engagement on Nike vs Adidas's last 9 Facebook posts
→ Claude calls facebook_get_page_posts twice (~2-6 credits total),
  aggregates reactions/comments/shares per post, returns a comparison.

What are people saying in the comments on Coca-Cola's last 3 posts?
→ Claude calls facebook_get_page_posts (1 credit) then
  facebook_get_post_comments 3 times (3 credits) and summarizes.

Show me marketplace listings for "PlayStation 5" under $400 in Berlin
→ Claude calls facebook_marketplace_city_coordinates (1 credit) +
  facebook_marketplace_search with filters (1 credit).

What this MCP server does NOT do

Some queries look natural in a chat ("compare engagement over the last month") but require aggregations the API doesn't expose as a single tool yet. Claude can still answer them, but it'll fan out into many tool calls — which is slow + expensive.

Query shape

Why it's hard

"Engagement rate over the last 30 days" for a page

Requires fetching every post in the date range (paginated, limit capped at 9 per call) and computing engagement per post. Hits the LLM tool-call budget on busy pages.

"Compare engagement rates between Brand A, B, C over the last month"

Same problem, 3× — one paginated fetch per brand, then comparison math. Works for small windows; slow for "last month" on high-volume pages.

Historical archive older than what Facebook itself serves

We surface what Facebook makes publicly visible. Posts that scrolled off Facebook's visible feed aren't retrievable.

Server-side time-series (daily engagement, weekly growth)

Not yet — on the roadmap as a future engagement-stats endpoint with built-in aggregation.

If your use case maps to one of these patterns and you want the aggregation pre-computed instead of LLM-orchestrated, contact support with the specific query — we're prioritizing the aggregation endpoint based on customer demand.


🏗️ Architecture

Claude Desktop
    ↓
@socialapis/mcp (local MCP client)
    ↓
https://mcp.socialapis.io (global proxy)
    ↓
https://api.socialapis.io (data API)

Why this architecture?

  • ✅ Low latency (global edge network)

  • ✅ High reliability (99.9% uptime)

  • ✅ Auto rate limiting

  • ✅ Smart caching

  • ✅ Your API key stays local


🔧 Development

Local Setup

# Clone repository
git clone https://github.com/SocialAPIsHub/mcp-server.git
cd mcp-server

# Install dependencies
npm install

# Run MCP client
npm start YOUR_API_KEY

# Run HTTP proxy server
npm run serve

Project Structure

mcp-server/
├── src/
│   └── tools.js          # Tool definitions
├── mcp-wrapper.js        # MCP client (runs locally)
├── server.js             # HTTP proxy server
├── package.json
├── Dockerfile
└── README.md

Testing

# Test MCP client locally
node mcp-wrapper.js YOUR_API_KEY

# Test HTTP proxy
curl http://localhost:3001/health
curl http://localhost:3001/tools

# Test specific tool
curl -X POST http://localhost:3001/proxy \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"facebook_get_page_details","arguments":{"link":"https://facebook.com/nike"}}'

📊 Pricing

Plan

Requests/Month

Price

Free

200

$0

Starter

30,000

$49

Pro

120,000

$179

Enterprise

Unlimited

Custom

View detailed pricing →


🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

Quick Contribution Guide

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request


📖 Documentation


💬 Support


🗺️ Roadmap

Shipped:

Upcoming:

  • TikTok support

  • X (Twitter) support

  • LinkedIn support

  • YouTube support

  • Advanced analytics — server-side aggregation endpoints (engagement-over-time, brand comparisons) so multi-call patterns become a single tool call

  • Real-time webhooks — push notifications on new posts / engagement thresholds

  • LangChain integration

Platform priorities shift based on customer demand. The fastest way to push something up the queue is to email support@socialapis.io or DM @socialapis on Telegram with the use case.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments


🌟 Star History

Star History Chart


Made with ❤️ by the SocialAPIs Team

WebsiteTwitterDiscord

Python SDKJS SDKGo SDK

Available Tools

47 tools
facebook_ads_archive_detailsB

Get detailed info about a specific archived ad including creative, spend, and impressions

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoISO country code or "ALL"
page_idNoFacebook Page ID
ad_archive_idYesAd Archive ID
is_ad_non_politicalNoFilter non-political ads
is_ad_not_aaa_eligibleNoFilter AAA eligibility

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It mentions return fields but does not cover potential errors, authentication requirements, rate limits, or side effects. As a read operation, it lacks detail on failure modes.

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

Conciseness4/5

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

Single sentence that efficiently conveys the tool's purpose. No unnecessary words, though could be slightly more structured with bullet points. Front-loaded with key information.

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

Completeness2/5

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

No output schema, so description should fully describe return values. Only mentions 'creative, spend, and impressions' but likely returns more fields. Lacks explanation of error handling, response format, or edge cases. Incomplete for a tool with 5 parameters.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are already documented. The description adds no additional meaning to the parameters; it only mentions return fields, which is not parameter semantics. 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?

Clearly states the action ('Get detailed info'), the resource ('specific archived ad'), and the content ('creative, spend, and impressions'). Distinguishes from sibling tools like facebook_ads_search which likely lists ads.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Does not specify prerequisites or exclusions for using this tool over others like facebook_ads_search or facebook_ads_page_details.

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

facebook_ads_countriesA

Get list of supported country codes for Meta Ads Library filtering

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, but description accurately states it returns a list of country codes (read-only). With no parameters, there is little else to disclose. The description is straightforward and not misleading.

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

Conciseness5/5

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

Single, well-formed sentence with no filler. Every word adds value.

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

Completeness5/5

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

For a zero-parameter tool without output schema, the description fully explains what it returns and its purpose. No missing information for an agent to invoke it correctly.

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?

Tool has zero parameters, so baseline score is 4. Description adds no parameter details, but none are needed as schema covers 100% (empty object).

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

Purpose5/5

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

Description uses specific verb 'Get' and resource 'list of supported country codes', clearly distinguishing from sibling tools that search or retrieve other data. The context 'for Meta Ads Library filtering' adds specificity.

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

Usage Guidelines4/5

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

While no explicit when-not or alternatives mentioned, the description implies usage before filtering ads by country. Given the tool's simplicity and zero parameters, the context is clear enough.

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

facebook_ads_keywordsC

Search for ads by keyword with optional country filter

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keyword
countryNoISO country code or "ALL"

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the basic action and optional filter, omitting details like return format, pagination, rate limits, or authentication needs. This is insufficient for an agent to understand side effects or restrictions.

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

Conciseness3/5

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

The description is extremely concise at one sentence, which is efficient but lacks essential behavioral context. It is front-loaded but overly brief for a tool with no annotations, missing important details.

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?

Without an output schema or annotations, the description should explain what the search returns. It does not describe the response structure, any limits, or how the data is presented. This leaves the agent without a complete understanding of the tool's behavior.

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

Parameters3/5

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

Schema coverage is 100%, so the parameters are documented. The description adds minimal value by summarizing the tool's purpose but does not enhance understanding of parameter constraints or formats beyond the schema.

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

Purpose4/5

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

The description clearly states the verb 'Search' and the resource 'ads by keyword' with an optional 'country filter'. However, it does not differentiate from the sibling tool 'facebook_ads_search', which may have similar functionality, leading to potential confusion.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or context for when this tool is appropriate.

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

facebook_ads_page_detailsB

Get detailed info about a specific Facebook page from the Ads Library

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYesFacebook Page ID

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose any behavioral traits such as rate limits, authentication requirements, data freshness, or what constitutes 'detailed info'. For a read tool, this is minimal.

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

Conciseness4/5

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

The description is a single sentence that efficiently conveys the tool's purpose. It is front-loaded and contains no redundant information, though it could include more context without becoming verbose.

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

Completeness3/5

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

Given the tool's low complexity (1 param, no output schema) and the presence of many sibling tools, the description is adequate but leaves gaps. It does not clarify the expected output or how it differs from similar tools like 'facebook_get_page_details'.

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

Parameters3/5

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

The schema already describes page_id as 'Facebook Page ID' (100% coverage). The description adds no additional meaning beyond what the schema provides, so it meets the baseline.

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

Purpose5/5

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

The description clearly states the action ('Get'), the resource ('detailed info about a specific Facebook page'), and the context ('from the Ads Library'). This distinguishes it from the sibling tool 'facebook_get_page_details', which likely provides general page info.

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

Usage Guidelines2/5

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

The description implies the tool is for ad-related page details, but it does not explicitly state when to use it over alternatives like 'facebook_get_page_details' or when not to use it. No exclusion criteria or usage context is provided.

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

facebook_download_mediaC

Download images, videos, and audio from Facebook URLs

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFacebook media URL to download

TDQS

C2.7/5.0
Behavior1/5

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

With no annotations, the description must cover behavioral traits, but it only says 'Download.' It does not disclose whether authentication is needed, what happens on success (returns data or saves file), rate limits, or supported media formats. This lack of transparency could lead to incorrect invocation.

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, short sentence with no filler words. It is front-loaded with the action. However, it could be slightly more structured by including output hints or parameter format, but overall it is concise.

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

Completeness2/5

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

Given the absence of an output schema, the description should at least indicate the return type (e.g., binary file, URL to download). It fails to explain what the agent receives after downloading, making it incomplete for safe usage.

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

Parameters3/5

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

The schema provides 100% description coverage for the single parameter 'url' with a clear description. The tool description adds no extra semantics beyond what the schema already states, so baseline score 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?

Description clearly states the tool downloads images, videos, and audio from Facebook URLs. It specifies the resource (Facebook media) and the verb (download), distinguishing it from sibling tools that retrieve metadata or perform other actions.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like facebook_get_post_attachments or facebook_get_video_details. Missing information about prerequisites (e.g., direct media URL vs post URL) or when not to use it.

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

facebook_get_comment_repliesB

Fetch replies to a specific comment on a Facebook post

ParametersJSON Schema
NameRequiredDescriptionDefault
expansion_tokenYesExpansion token from the comments endpoint with include_reply_info=true
comment_feedback_idYesFeedback ID from the comments endpoint with include_reply_info=true

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose any behavioral traits such as rate limits, required permissions, or error handling. Minimal context for a fetch operation.

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

Conciseness4/5

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

A single, clear sentence. Concise and front-loaded with the main action. Could be slightly more structured but 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?

With 2 required parameters and no output schema, the description is minimally complete. It does not explain return values or behavior, but the tool is simple enough to understand.

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

Parameters3/5

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

The description adds no extra meaning beyond the schema, which already describes both parameters (feedback ID and expansion token). Schema coverage is 100%, so baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb 'Fetch' and clearly identifies the resource: 'replies to a specific comment on a Facebook post'. This distinguishes it from siblings like 'facebook_get_post_comments' which fetches comments.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives. The context implies it's for replies, but lacks instructions about prerequisites or when not to use it.

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

facebook_get_group_detailsB

Get detailed metadata about a Facebook group including member count, description, rules, and activity stats

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook group URL

TDQS

B3.2/5.0
Behavior2/5

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

The description does not disclose any behavioral traits such as authentication requirements, rate limits, data freshness, or potential errors. With no annotations provided, the description fails to inform the agent about important behavioral aspects beyond the basic return content.

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

Conciseness5/5

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

The description is a single sentence that efficiently conveys the tool's purpose and output, with no unnecessary words or repetition.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no output schema), the description adequately outlines the return content. However, some context on possible restrictions or data freshness would improve completeness.

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

Parameters3/5

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

The input schema already describes the sole parameter 'link' as a Facebook group URL with 100% coverage. The description adds no additional meaning or context beyond the schema, so it meets the baseline but provides no extra value.

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

Purpose4/5

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

The description clearly states it retrieves detailed metadata about a Facebook group, listing specific examples like member count and rules. However, it does not explicitly differentiate from the sibling tool 'facebook_get_group_metadata', which might be similar in purpose.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like facebook_get_group_metadata or facebook_get_group_posts. The description only states what the tool does, not the context for its use.

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

facebook_get_group_idA

Get Facebook group ID from a group URL

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook group URL

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as authentication needs, rate limits, or error handling. The description carries the full burden but adds no transparency beyond the basic function.

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

Conciseness5/5

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

The description is a single concise sentence with no unnecessary words, effectively conveying the required information.

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

Completeness4/5

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

For a simple one-parameter tool with no output schema, the description is mostly complete. However, it could optionally mention the return format (e.g., 'returns the group ID as a string') to aid completeness.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'link', described as 'Facebook group URL'. The description adds no additional meaning beyond the schema, resulting in a baseline score of 3.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'Facebook group ID', and the input 'from a group URL'. It effectively distinguishes this tool from sibling tools like facebook_get_group_details.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. It is implied for extracting an ID from a URL, but lacks when-not or alternative tool suggestions.

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

facebook_get_group_metadataC

Get group metadata (name, id, url, cover image)

ParametersJSON Schema
NameRequiredDescriptionDefault
linkNoFacebook group URL
group_idNoFacebook Group ID (alternative to link)

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 burden for behavioral disclosure. It only states what data is returned, with no mention of authentication requirements, rate limits, or that the operation is read-only.

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

Conciseness4/5

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

The description is a single efficient sentence with no filler. It front-loads the core purpose, though it could benefit from brief additional context.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description should explain the return structure and behavior when parameters are omitted or conflicting. It only lists a few fields, leaving significant 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%, meeting the baseline. The description adds no additional meaning about parameters like link vs group_id, such as format preferences or precedence.

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

Purpose4/5

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

The description clearly states the tool retrieves group metadata with specific fields (name, id, url, cover image). However, it does not differentiate from sibling tools like facebook_get_group_details or facebook_get_group_id, which may have overlapping functionality.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as facebook_get_group_details or facebook_get_group_id. There is no mention of prerequisites, context, or exclusions.

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

facebook_get_group_postsB

Fetch recent posts from a Facebook group with pagination and time filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook group URL
timezoneNoTimezone
after_timeNoISO 8601 timestamp
end_cursorNoPagination cursor
before_timeNoISO 8601 timestamp

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 must carry the burden. It mentions pagination and time filtering but fails to disclose key behaviors such as rate limits, authentication requirements, or handling of empty results.

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, well-structured sentence that conveys the core purpose and key features without unnecessary words.

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

Completeness2/5

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

The description lacks details about return format, error handling, and pagination mechanics. Given the complexity of the tool with multiple parameters and no output schema, it is not sufficiently complete.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter is already described. The tool description adds minimal extra meaning beyond what the schema provides, earning a baseline score of 3.

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

Purpose5/5

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

The description clearly states 'Fetch recent posts from a Facebook group with pagination and time filtering', which accurately describes the tool's function and distinguishes it from sibling tools like facebook_get_page_posts or facebook_get_group_videos.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or restrictions. Given many sibling tools, this is a significant gap.

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

facebook_get_group_videosB

Get videos from a Facebook group (up to 6 per request) with pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idNoFacebook Group ID
end_cursorNoPagination cursor

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, description carries full burden. Only discloses the limit of 6 videos per request, but does not mention authentication requirements, error behavior, or whether the tool modifies state.

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

Conciseness5/5

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

Single sentence, front-loaded with purpose, no wasted words. Optimal length for the information conveyed.

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?

No output schema exists; description could hint at return format. Also lacks info on errors, permissions, or rate limits. Adequate for a simple retrieval tool but not comprehensive.

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

Parameters3/5

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

Schema covers both parameters fully (100% coverage). Description adds minor context about pagination via end_cursor and 'up to 6' but does not provide 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.

Purpose5/5

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

Description clearly states the verb 'Get', resource 'videos from a Facebook group', and constraints (up to 6 per request, pagination). Distinguishes from siblings like facebook_get_group_posts and facebook_get_page_videos.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as facebook_search_videos or facebook_get_page_videos. Does not mention prerequisites or exclusions.

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

facebook_get_page_detailsB

Get detailed information about a Facebook page including followers, likes, contact info, and category

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook page URL

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are given. Description implies a read-only operation but does not disclose any behavioral traits such as auth requirements, rate limits, or side effects. Minimal transparency.

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

Conciseness5/5

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

Single sentence, front-loaded with the main action, no redundant words. Efficient for agent scanning.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description gives sufficient overview of return content. Could mention potential errors or data freshness, but acceptable.

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

Parameters3/5

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

Schema covers the lone parameter with a description. The tool description adds examples of returned data but does not elaborate on the 'link' parameter beyond what is in the schema. Baseline 3 due to 100% schema coverage.

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

Purpose4/5

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

Description clearly states the tool retrieves detailed information about a Facebook page, listing example fields like followers and category. It distinguishes from more specific siblings (e.g., facebook_get_page_posts) but could be more precise about uniqueness.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. Context signals show many sibling tools for pages, but no comparative advice is provided.

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

facebook_get_page_idB

Get Facebook page ID from a page URL

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook page URL (e.g., https://facebook.com/nike)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits like authentication requirements, rate limits, or error handling for invalid URLs. As a read operation, minimal disclosure is acceptable but the description adds nothing beyond the basic action.

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

Conciseness5/5

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

Single sentence, front-loaded with the core action and input. No wasted words, appropriate for a simple tool.

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 tool with one parameter and no output schema, the description adequately covers the input requirements. Could mention that the returned ID is numeric, but not strictly necessary for tool usage.

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

Parameters3/5

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

Schema coverage is 100% with a clear description for the 'link' parameter. The description adds no additional meaning beyond what the schema already provides, achieving the baseline score.

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

Purpose5/5

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

Description clearly states the verb (Get), resource (Facebook page ID), and source (page URL), making it unambiguous. It distinguishes from sibling tools like facebook_get_page_details which return full page data, and facebook_search_pages which requires different input.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as searching for a page or using the page details endpoint. An AI agent would not know if this tool is preferred when only the ID is needed from a known URL.

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

facebook_get_page_postsB

Get recent posts from a Facebook page with optional pagination and time filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook page URL
timezoneNoTimezone for timestamps (e.g., UTC, America/New_York)
after_timeNoISO 8601 timestamp - only return posts after this time
end_cursorNoPagination cursor for next page of results
before_timeNoISO 8601 timestamp - only return posts before this time

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not clarify what 'recent' means, how pagination works, potential rate limits, or behavior when a page is inaccessible. Insufficient for safe invocation.

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

Conciseness5/5

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

Single sentence that is front-loaded with the main action. No unnecessary words, highly concise.

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

Completeness2/5

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

With no output schema and no annotations, the description should provide more context about return values, limits, or authentication. It only covers basic purpose and optional parameters, leaving significant 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 all parameters have descriptions. The tool description adds no additional meaning beyond what the schema already provides, so baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb (Get), the resource (recent posts from a Facebook page), and mentions optional features (pagination and time filtering). It distinguishes from siblings like facebook_get_page_details or facebook_get_page_reels.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like facebook_get_page_reels or facebook_get_page_details. No mention of prerequisites or exclusions.

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

facebook_get_page_reelsC

Get reels/short videos from a Facebook page

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook page URL
end_cursorNoPagination cursor

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 burden of disclosing behavioral traits. It does not mention any side effects, rate limits, authorization requirements, or error handling (e.g., what happens if the page does not exist). For a read operation, this is minimal transparency.

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

Conciseness4/5

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

The description is extremely concise at one sentence, which is appropriate for the tool's simplicity. It front-loads the key action and resource. No superfluous information, though it could benefit from a brief usage note.

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

Completeness3/5

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

Given the tool has two parameters, no output schema, and no annotations, the description provides only the minimum. It does not explain how pagination works (despite the 'end_cursor' parameter) or what the output contains (e.g., video metadata). More context would improve completeness for an agent.

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

Parameters3/5

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

The input schema already provides descriptions for both parameters, with 100% coverage. The description adds no additional meaning beyond what is in the schema, so it does not improve parameter understanding. Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool retrieves 'reels/short videos from a Facebook page', specifying both the resource type (reels) and the source (Facebook page). It distinguishes from sibling tools like 'facebook_get_page_videos' by focusing on reels, but does not explicitly contrast them.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'facebook_get_page_videos' or 'instagram_get_profile_reels'. There is no mention of prerequisites, context, or whether it requires authentication. The description provides no usage context beyond the basic action.

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

facebook_get_page_videosA

Get videos from a Facebook page (up to 6 per request) with pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
linkNoFacebook page URL
end_cursorNoPagination cursor
profile_idNoFacebook profile ID (alternative to link)

TDQS

A3.7/5.0
Behavior3/5

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

Discloses the per-request limit of 6 and pagination, but lacks information on authentication requirements, rate limits, or behavior when both link and profile_id are provided. With no annotations, more behavioral context would be beneficial.

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

Conciseness5/5

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

The description is a single, clear sentence with no redundancy. Every word serves a purpose.

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 tool with no output schema, the description omits details on returned video fields (e.g., title, description, metadata) and potential error conditions. It covers the basics but leaves 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 describes the parameters. The description adds 'up to 6 per request' which relates to pagination but does not significantly enhance parameter understanding beyond the schema.

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

Purpose5/5

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

The description clearly states the tool retrieves videos from a Facebook page, specifies a limit of 6 per request, and mentions pagination. This distinguishes it from sibling tools like get_page_posts or get_page_reels.

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 pagination for multiple requests but does not explicitly guide when to use link vs profile_id or when to prefer this tool over alternatives like get_page_reels or search_videos.

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

facebook_get_post_attachmentsB

Get all media attachments (images, videos) from a Facebook post

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesFacebook post ID

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 must fully disclose behavior. It fails to mention authentication requirements, rate limits, what happens if the post has no attachments, response format (e.g., URLs, metadata), or whether only images and videos are returned (as stated) or other media types.

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, clear sentence with no wasted words. The information is front-loaded and direct.

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

Completeness2/5

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

Given no output schema and no annotations, the description should clarify what the tool returns and its limitations. It does not mention return structure, pagination, or error conditions, leaving the agent underinformed.

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% (the single parameter 'post_id' is described), so baseline is 3. The description adds no extra meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the tool retrieves media attachments (images, videos) from a Facebook post. It uses a specific verb ('Get') and identifies the resource ('media attachments from a Facebook post'), effectively distinguishing it from sibling tools that access post details, comments, or other entities.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context where it should be avoided, or how it relates to siblings like facebook_get_post_details.

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

facebook_get_post_commentsC

Retrieve top-level comments from a Facebook post or reel with pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook post or reel URL
end_cursorNoPagination cursor for next page of comments
include_reply_infoNoWhen "true", includes comment_feedback_id and expansion_token for fetching replies

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 burden. It mentions pagination and the optional include_reply_info field but omits key behavioral traits: read-only assumption, authentication needs, error handling, rate limits, or return structure. The description hints at top-level vs replies but lacks explicit disclosure.

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

Conciseness4/5

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

Single sentence of 11 words, no redundancy. For a simple tool with 3 parameters, this is appropriately concise. Could incorporate more context without becoming verbose.

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

Completeness2/5

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

Given no output schema and no annotations, the description should provide more complete context. It omits return format, error scenarios, authentication, and rate limits. For a straightforward tool, it is mildly insufficient.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds context by explaining that include_reply_info provides IDs for fetching replies, but does not elaborate on link format or end_cursor usage beyond the schema.

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

Purpose4/5

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

The description clearly states the action ('Retrieve') and resource ('top-level comments from a Facebook post or reel'), with mention of pagination. It differentiates from sibling tools like facebook_get_comment_replies by specifying 'top-level', though not explicitly naming 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 on when to use this tool versus alternatives, such as facebook_get_comment_replies. No prerequisites, limitations, or recommended contexts are provided.

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

facebook_get_post_detailsC

Get detailed data about a Facebook post including reactions, comments, shares, and media

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook post URL

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 burden. It only states it 'Get detailed data', implying a read operation, but fails to disclose any behavioral traits such as authentication requirements, rate limits, or error cases (e.g., what happens if the post is private or deleted). The description is too minimal for transparency.

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

Conciseness5/5

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

The description is a single sentence of 13 words that efficiently communicates the tool's purpose. It is front-loaded with the action and resource, and every word adds value without redundancy.

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

Completeness2/5

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

Given the large set of sibling tools and lack of output schema, the description is insufficient. It does not specify the output format, whether pagination is involved, or what fields are included beyond examples. An agent would need to guess the response structure, making it incomplete for an informed selection.

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

Parameters3/5

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

The input schema has 100% coverage with a single parameter 'link' described as 'Facebook post URL'. The description adds no additional meaning to the parameter beyond what the schema already provides, resulting in a baseline score of 3.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'detailed data about a Facebook post', listing example components like reactions, comments, shares, and media. This distinguishes it from sibling tools that focus on individual aspects (e.g., facebook_get_post_comments, facebook_get_post_attachments). However, it could be more explicit about its comprehensive nature versus specialized 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 guidelines are provided about when to use this tool versus alternatives. It does not mention when to use this comprehensive tool instead of specific ones like facebook_get_post_comments, nor does it indicate 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.

facebook_get_post_idC

Extract Facebook post ID from a post URL

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesFacebook post URL

TDQS

C2.9/5.0
Behavior1/5

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

With no annotations provided, the description is responsible for behavioral disclosure. It fails to mention authentication, rate limits, error handling, or output format, leaving the agent with minimal understanding of the tool's operation.

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

Conciseness4/5

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

The description is a single, concise sentence without redundancy. However, it could be restructured to front-load key details like the required input format.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description should provide more context about return values, error cases, and usage constraints. It is insufficient for reliable tool invocation.

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

Parameters3/5

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

The sole parameter 'link' has a schema description 'Facebook post URL', and the tool description repeats this. No additional meaning is added, so semantics are adequate but not enhanced.

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

Purpose5/5

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

The description clearly states the verb 'Extract' and the resource 'Facebook post ID' from a 'post URL', distinguishing it from sibling tools like facebook_get_page_id or facebook_get_group_id.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as facebook_get_page_id. The description lacks any comparative context or prerequisites.

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

facebook_get_video_detailsB

Get video metadata, stats, and context for a Facebook video post

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYesFacebook video ID

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action. It does not disclose whether the tool is read-only, requires authentication, or has rate limits. The implied read-only behavior is insufficiently explicit.

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

Conciseness5/5

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

Single sentence, front-loaded with verb and object. No wasted words; every term contributes to meaning.

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

Completeness3/5

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

Adequate for a simple read tool with a single parameter. However, the lack of output schema means the description should clarify what 'metadata, stats, and context' includes, which it does not. Could be more complete given sibling complexity.

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

Parameters3/5

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

Schema has 100% coverage with a single parameter described as 'Facebook video ID'. The tool description adds context that the ID refers to a 'video post', but no additional format or source hints beyond the schema.

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

Purpose5/5

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

Description clearly states the action (Get) and the resource (video metadata, stats, context for a Facebook video post). It is distinct from sibling tools like facebook_get_group_videos (lists videos) and facebook_get_post_details (general post details).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not specify when to prefer this over facebook_search_videos or facebook_get_page_videos, nor does it mention prerequisites like video accessibility.

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

facebook_marketplace_categoriesA

Get all Marketplace categories with SEO URLs and category IDs

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/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 convey behavioral traits. It indicates a read-only operation ('Get'), but lacks details on rate limits, pagination, or potential side effects. Given the simplicity (zero parameters), a score of 3 is minimally acceptable.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no extraneous words. It efficiently conveys the tool's purpose and key output fields.

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?

No output schema exists, so the description should explain return values. It mentions 'SEO URLs and category IDs' but lacks completeness—e.g., format, hierarchy, or count. For a simple list tool, this is adequate but not fully comprehensive.

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

Parameters4/5

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

The input schema has zero parameters, so baseline is 4. The description does not need to add parameter meaning. It correctly implies no inputs are required.

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

Purpose5/5

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

The description clearly states the verb 'Get' and resource 'all Marketplace categories', and specifies the output includes 'SEO URLs and category IDs'. This distinguishes it from sibling tools like facebook_marketplace_search or facebook_marketplace_vehicles.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of prerequisites, context for usage, or when not to use it.

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

facebook_marketplace_city_coordinatesB

Get GPS coordinates for a city to use as Marketplace location filters

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity name
countryNoCountry name or code
exactly_oneNoWhen "true", return exactly one result

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It fails to mention crucial traits such as read-only nature, rate limits, response format (e.g., lat/lng array), behavior when city is not found, or how multiple results are returned. The 'exactly_one' parameter hints at multiplicity but the description does not explain the default 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 sentence of 10 words that conveys the core purpose without any fluff. It is front-loaded with the action and resource. Every word earns its place, achieving maximum conciseness.

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

Completeness3/5

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

For a simple geocoding tool, the description covers the basic intent but lacks details about output format, error handling, or typical result count. Given no output schema and no annotations, the description should provide more context. However, the tool is low complexity, so it meets a minimal standard but is not fully complete.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all three parameters. However, the description adds no extra meaning beyond the minimal schema text. For example, 'Country name or code' could be clarified as ISO code or full name, and 'exactly_one' does not specify what happens when false or missing. Since schema already defines basics, a baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'GPS coordinates for a city', and specifies the purpose 'to use as Marketplace location filters'. This distinguishes it from sibling tools like facebook_marketplace_search or facebook_marketplace_categories, which have different functions.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. It lacks context about prerequisites, limitations, or comparisons to other location-related tools like facebook_search_locations. The agent receives no direction on typical usage scenarios.

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

facebook_marketplace_listingA

Get detailed info about a single Marketplace listing

ParametersJSON Schema
NameRequiredDescriptionDefault
listing_idYesMarketplace Listing ID

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description is sole source for behavioral traits. Description only states what it does, but does not disclose any side effects, authentication requirements, error conditions, or response characteristics. This is insufficient for a tool with no annotations.

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

Conciseness5/5

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

Single concise sentence with no wasted words. Information is front-loaded appropriately.

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 single-resource retrieval with one parameter, the description is adequate but lacks details on return format or typical usage context. Given no output schema, some additional context would be helpful.

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

Parameters3/5

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

Schema has 100% description coverage for the single parameter, so baseline is 3. Description does not add any additional meaning beyond 'Marketplace Listing ID'.

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

Purpose5/5

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

Description uses specific verb 'get' and clearly identifies the resource as 'detailed info about a single Marketplace listing'. It distinguishes from sibling tools like facebook_marketplace_search which lists multiple listings.

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?

Implied usage for retrieving a single listing, but no explicit guidance on when to use this vs alternatives like facebook_marketplace_search or facebook_marketplace_seller. No when-not or context provided.

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

facebook_marketplace_rentalsB

Search Marketplace rental property listings with filters for bedrooms, bathrooms, location, price

ParametersJSON Schema
NameRequiredDescriptionDefault
sort_byNoSort: CREATION_TIME_DESCEND, PRICE_ASCEND, BEST_MATCH
end_cursorNoPagination cursor
filter_radius_kmNoRadius in km
filter_bedrooms_maxNoMax bedrooms
filter_bedrooms_minNoMin bedrooms
filter_bathrooms_maxNoMax bathrooms
filter_bathrooms_minNoMin bathrooms
filter_location_latitudeNoGPS latitude
filter_price_lower_boundNoMinimum price
filter_price_upper_boundNoMaximum price
filter_location_longitudeNoGPS longitude

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so description must fully disclose behavior. It only states 'search' but omits pagination, default sorting, result structure, or API limits. Parameter 'end_cursor' hints at pagination but is unmentioned in description.

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

Conciseness4/5

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

Single sentence, no waste. However, could benefit from brevity with additional structuring details (e.g., list of filter types). Currently concise but borderline under-specified.

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

Completeness2/5

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

11 parameters, no output schema, and many sibling tools require rich context. Description fails to explain pagination, required vs optional filters, or result format. Lacks enough detail for effective use.

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

Parameters3/5

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

Schema covers 100% of parameters with descriptions. Description adds phrase 'with filters for bedrooms, bathrooms, location, price', which groups parameters but does not add meaningful semantics beyond schema.

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

Purpose5/5

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

Description explicitly states 'Search Marketplace rental property listings with filters', clearly indicating the tool's purpose for rental-specific search, distinguishing it from sibling tools like facebook_marketplace_vehicles and facebook_marketplace_search.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives. With many sibling marketplace tools, the description should clarify why to choose rentals over general search or vehicles, but provides no such context.

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

facebook_marketplace_sellerB

Get seller profile, ratings, reviews, and badges

ParametersJSON Schema
NameRequiredDescriptionDefault
seller_idYesSeller ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. Only states 'Get', implying a read operation, but lacks details on authentication, rate limits, or behavior for invalid seller IDs. The description does not add behavioral context beyond the verb.

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

Conciseness5/5

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

Single sentence with no wasted words. Front-loaded with the action verb 'Get' followed by specific resources. Highly concise 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 simple tool with one required parameter and no output schema, the description is adequate. However, it does not explain the return structure or what constitutes a 'seller' (e.g., user vs. page). Lacks optional completeness for a rich understanding.

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

Parameters3/5

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

Schema has 100% coverage with a single parameter seller_id described as 'Seller ID'. The description does not add any additional meaning or constraints beyond what is in the schema, so baseline score of 3 applies.

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

Purpose5/5

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

Description clearly names the resource (seller profile, ratings, reviews, badges) and uses the verb 'Get'. It distinguishes from sibling tools like facebook_marketplace_listing and facebook_marketplace_search by focusing on seller metadata.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives or when not to use it. Missing context about prerequisites or typical use cases beyond the basic action.

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

facebook_marketplace_vehiclesC

Search Marketplace vehicle listings with filters for location, price, mileage, year

ParametersJSON Schema
NameRequiredDescriptionDefault
sort_byNoSort: CREATION_TIME_DESCEND, PRICE_ASCEND, VEHICLE_MILEAGE_ASCEND, etc.
end_cursorNoPagination cursor
filter_radius_kmNoRadius in km
is_c2c_listing_onlyNoIndividual sellers only
filter_location_latitudeNoGPS latitude
filter_price_lower_boundNoMinimum price
filter_price_upper_boundNoMaximum price
filter_location_longitudeNoGPS longitude

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only mentions 'Search' but does not explain pagination (end_cursor), data freshness, or that it is read-only. Minimal behavioral disclosure.

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

Conciseness5/5

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

Single, front-loaded sentence with essential information: verb, resource, and filter types. No wasted words.

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

Completeness2/5

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

For a tool with 8 parameters, no output schema, and no annotations, the description is too brief. It omits pagination behavior, required parameter guidance, and expected output format. Incomplete for effective use.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description mentions filters for location, price, mileage, year, which aligns with schema but adds no additional context about parameter usage or values.

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

Purpose4/5

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

The description clearly identifies the verb 'Search', the resource 'Marketplace vehicle listings', and mentions filters. It distinguishes from sibling tools like facebook_marketplace_rentals and facebook_marketplace_search by specifying 'vehicle listings'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives like facebook_marketplace_search, prerequisites, or when not to use. The description only states what it does without context.

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

facebook_search_locationsA

Search for Facebook locations by keyword. Returns UIDs for geo-filtering other search endpoints.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (city, place, landmark)

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, description carries full burden of disclosing behavioral traits like rate limits, pagination, results limit, or side effects, which are all absent. Only states basic search and return of UIDs.

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

Conciseness5/5

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

Two concise sentences that front-load the action and efficiently convey purpose and output. No superfluous words.

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

Completeness3/5

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

For a simple one-parameter tool with 100% schema coverage but no output schema or annotations, the description covers purpose and output but lacks behavioral details like authentication requirements, result limits, or rate limits.

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

Parameters3/5

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

Schema coverage is 100% and description of the query parameter is already present in the schema. The description adds no new meaning beyond what is in the schema.

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

Purpose5/5

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

Description clearly states the tool searches for Facebook locations by keyword and returns UIDs for geo-filtering. Differentiates from sibling tools that search other entities like pages or people.

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

Usage Guidelines4/5

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

Implicitly guides usage for location-based filtering by stating it returns UIDs for geo-filtering other endpoints. However, no explicit when-not-to-use or alternatives are given.

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

facebook_search_pagesB

Search for Facebook pages by keyword with optional location filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
end_cursorNoPagination cursor
location_uidNoLocation UID for filtering (from search/locations endpoint)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. Only states it searches, lacking details on read-only nature, rate limits, authentication, or what happens with no results.

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

Conciseness5/5

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

Single sentence, 10 words, zero redundancy. Efficiently communicates core functionality.

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?

Lacks details on pagination (end_cursor), return format, and usage context. With no output schema and no annotations, the description leaves gaps for a 3-parameter search tool.

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

Parameters3/5

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

Schema coverage is 100% and already describes all parameters. Description adds only high-level context ('keyword', 'optional location filtering') but no extra meaning beyond schema. end_cursor not explained.

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

Purpose5/5

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

Clear verb 'search', specific resource 'Facebook pages', method 'by keyword', and optional location filtering. Distinguishes from sibling tools that search other resources like people or posts.

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

Usage Guidelines3/5

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

Description states what the tool does but provides no guidance on when to use it vs alternatives, no exclusions or prerequisites. Implicitly for page search, but no explicit context.

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

facebook_search_peopleB

Search for Facebook people/profiles by keyword with optional location filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
end_cursorNoPagination cursor
location_uidNoLocation UID for filtering

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only describes the basic function without disclosing behavioral traits such as rate limits, authentication needs, or pagination behavior (though end_cursor is in the schema). The description adds minimal value beyond the obvious.

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 short sentence, making it concise and front-loaded. However, it could be slightly more structured with bullet points for key details. Overall, it is efficient with 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?

With 3 parameters, no output schema, and no annotations, the description is minimal. It covers the basic purpose but lacks details on return format, error handling, or pagination. For a search tool, this is adequate but could be improved.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description mentions 'optional location filtering,' which is already clear from the schema (location_uid not required). It does not add significant meaning beyond what the schema already 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 name 'facebook_search_people' clearly indicates the resource. The description specifies 'Search for Facebook people/profiles by keyword with optional location filtering,' which is a specific verb+resource combination that distinguishes it from sibling tools like facebook_search_pages, facebook_search_posts, etc.

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 for searching people, but it does not explicitly state when to use it versus alternatives. Given the large number of sibling tools (e.g., facebook_search_pages, facebook_search_posts), additional guidance on when to choose this tool would help the agent.

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

facebook_search_postsB

Search for Facebook posts by keyword with optional location and time filters

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
end_timeNoFilter posts before this date (YYYY-MM-DD)
end_cursorNoPagination cursor
start_timeNoFilter posts after this date (YYYY-MM-DD)
location_uidNoLocation UID for filtering
recent_postsNoWhen "true", shows only recent posts

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description must fully disclose behavior. It mentions optional filters but omits pagination (even though an 'end_cursor' parameter exists), rate limits, authentication needs, or output format. Minimal transparency beyond basic functionality.

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

Conciseness3/5

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

The description is a single 12-word sentence, which is efficient but too brief for a tool with 6 parameters. It lacks structured details such as usage examples or parameter order. Concise but under-specified.

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

Completeness2/5

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

Given the tool's complexity (6 params, no output schema, no annotations), the description is insufficient. It does not explain pagination behavior, the 'recent_posts' parameter meaning, return types, or how this tool differs from related post-fetching tools. Incomplete for effective use.

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

Parameters3/5

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

The input schema covers all 6 parameters with descriptions (100% coverage). The description adds a summary of 'optional location and time filters' but does not enhance or clarify parameter usage beyond what the schema already provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Search', the resource 'Facebook posts', and the optional filters (keyword, location, time). It distinctively positions this tool among siblings like facebook_get_page_posts or facebook_search_people, which serve different purposes.

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 when to use this tool (keyword-based post search) but does not explicitly state when not to use it or mention alternatives among the many sibling tools. No guidance on prerequisites or context is provided.

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

facebook_search_videosA

Search for Facebook videos by keyword with optional recency and live filters

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
fieldsNoComma-separated list of response fields to include
end_cursorNoPagination cursor
most_recentNoWhen "true", shows most recent videos first
videos_liveNoWhen "true", filters for live videos only

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only mentions filters but does not describe side effects, limitations, or response behavior (e.g., pagination semantics with end_cursor). The description adds minimal transparency.

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

Conciseness5/5

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

Single sentence, no unnecessary words. Clearly communicates the core functionality and optional features.

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 parameter count and schema richness, the description covers the essentials. Minor gap: does not mention pagination (end_cursor) or output format, but acceptable for a straightforward search tool with no output schema.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description groups 'optional recency and live filters' but does not add new meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (Search), resource (Facebook videos), and optional filters (recency, live). It is specific and distinguishes from sibling tools like facebook_search_posts or facebook_search_people.

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

Usage Guidelines3/5

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

The description implies usage when searching for videos, but does not explicitly state when to use this tool versus alternatives or provide any exclusions. No guidance on prerequisites or context.

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

instagram_get_highlight_detailsA

Get details of a specific highlight by ID including all stories within the highlight

ParametersJSON Schema
NameRequiredDescriptionDefault
highlight_idYesHighlight ID (from profile highlights endpoint)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided. The description only states it gets details and stories, with no mention of behavioral traits such as authentication requirements, rate limits, or what 'details' entails. The agent lacks context on side effects or constraints.

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

Conciseness5/5

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

The description is a single, front-loaded sentence of 15 words with no redundancy. Every word contributes to understanding the tool's function.

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 one parameter and no output schema, the description is adequate for a straightforward read operation, but it lacks information about the output format or structure of returned data, which is necessary for an agent to process results.

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

Parameters3/5

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

Schema coverage is 100% with a clear parameter description. The tool description does not add any additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get details', the resource 'specific highlight', and the scope 'including all stories within the highlight'. This distinguishes it from sibling tools like 'instagram_get_profile_highlights' which lists highlights.

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

Usage Guidelines3/5

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

The description implies usage when you have a highlight ID and want its details and stories, but it provides no explicit guidance on when to use this tool versus alternatives like 'instagram_get_profile_highlights' or when not to use it.

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

instagram_get_location_postsB

Get Instagram posts from a specific location. Retrieve top/ranked or most recent posts tagged at a place.

ParametersJSON Schema
NameRequiredDescriptionDefault
tabNoFilter: "recent" or "ranked"
end_cursorNoPagination cursor for next page
location_idYesInstagram location ID

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. The description only states the basic operation and filtering options, but omits important behavioral context such as whether the call is read-only, authentication needs, rate limits, or pagination behavior beyond the end_cursor parameter.

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

Conciseness5/5

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

The description is extremely concise at two sentences and 16 words. It front-loads the main action and contains no redundant information.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description is too minimal. It does not explain pagination, the meaning of 'ranked' vs 'recent', or how to obtain a location_id. A tool with three parameters and no output schema requires more context for an agent to use it effectively.

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

Parameters3/5

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

With 100% schema description coverage, the baseline is 3. The description does not add meaning beyond the schema: it mentions 'top/ranked or most recent' which maps to the tab parameter already described. No additional insight on location_id or end_cursor.

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

Purpose5/5

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

The description clearly states the tool gets Instagram posts from a specific location, with options for top/ranked or recent posts. It uses a specific verb and resource, and distinguishes it from sibling tools like instagram_get_profile_posts.

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 for retrieving location-based posts, but it does not specify when to use it versus alternatives like instagram_get_profile_posts or instagram_search_locations. No mention of prerequisites (e.g., needing a location_id) or when not to use the tool.

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

instagram_get_nearby_locationsC

Get nearby places/locations for a specific Instagram location including name, category, coordinates, and post count

ParametersJSON Schema
NameRequiredDescriptionDefault
location_idYesInstagram location ID

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It lists returned fields but omits operational details like read-only nature, authentication, rate limits, or error handling.

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

Conciseness4/5

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

Single sentence with no wasted words. However, the phrase 'nearby' creates ambiguity that could be resolved with clearer structure. Acceptable for a simple tool.

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

Completeness2/5

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

For a one-parameter tool with no output schema, the description is minimal. It does not explain output format, error cases, or use context. More detail on expected output structure would improve completeness.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'location_id' with a brief description. The tool description adds nothing beyond the schema for the parameter itself, only describing output fields. Baseline 3 is appropriate.

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

Purpose3/5

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

The description states 'Get nearby places/locations for a specific Instagram location' but the parameter is a single location_id, suggesting it returns details of that location, not nearby ones. This ambiguity reduces clarity. It does specify returned fields, distinguishing from post-retrieval siblings.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like facebook_search_locations or instagram_get_location_posts. Sibling tools are listed but no differentiation is provided.

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

instagram_get_post_detailsA

Get full details of a specific Instagram post including media, engagement, caption, and owner info

ParametersJSON Schema
NameRequiredDescriptionDefault
shortcodeYesInstagram post shortcode (e.g., DMF-GjGO0-q)

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 must disclose behavioral traits. It only lists output contents but fails to mention authentication requirements, rate limits, error handling (e.g., missing post), or whether it mutates data. This leaves significant gaps for an API tool.

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

Conciseness4/5

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

The description is a single concise sentence that immediately conveys the tool's purpose and key outputs. It front-loads essential information without wasted words, though it could be structured into more detail.

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

Completeness4/5

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

For a simple tool with one parameter, the description adequately covers the purpose and return content (media, engagement, caption, owner info). However, without an output schema, it would benefit from more detail on the structure of these elements or potential edge cases.

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 schema already describes the 'shortcode' parameter with an example. The description does not add further meaning, meeting the baseline but not exceeding it.

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

Purpose5/5

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

The description clearly states the tool gets 'full details of a specific Instagram post' and lists key content areas (media, engagement, caption, owner info). This specifies the verb (Get) and resource (full details of a specific Instagram post), distinguishing it from siblings like 'instagram_get_post_id' or 'instagram_get_profile_posts'.

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

Usage Guidelines3/5

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

The description implies usage when full details of a known post are needed, but it does not explicitly state when to use this tool over alternatives or provide when-not scenarios. With many sibling tools, clearer guidance would be beneficial.

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

instagram_get_post_idA

Extract the post shortcode/ID from any Instagram post URL

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYesInstagram post URL

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, and the description provides no behavioral details beyond the basic operation. It does not disclose error handling (e.g., invalid URLs), return format, or any side effects, leaving the agent with significant unknowns.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core purpose. Every word is meaningful, and no extraneous information is included.

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

Completeness3/5

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

Given the tool's simplicity (1 param, no output schema), the description is adequate as a bare minimum. However, it lacks details about the return value (e.g., string format) or error scenarios, which could be critical for agent reliability.

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

Parameters3/5

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

Schema coverage is 100% with the parameter 'link' described as 'Instagram post URL'. The description reinforces this meaning but adds no additional context about expected URL formats or constraints. Baseline 3 is appropriate as the description does not degrade or enhance the semantic understanding beyond the schema.

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

Purpose5/5

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

The description clearly states the action (extract the post shortcode/ID) and the input (Instagram post URL), making the tool's purpose immediately obvious and distinguishing it from sibling tools like instagram_get_post_details.

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

Usage Guidelines3/5

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

The description implies usage (extract ID from any URL) but does not explicitly state when to use against alternatives, such as whether the tool should be used as a precursor to other tools or any prerequisites (e.g., authentication). No when-not or alternatives are mentioned.

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

instagram_get_profile_detailsB

Get user profile information by username including bio, followers, posts count, verification, and related profiles

ParametersJSON Schema
NameRequiredDescriptionDefault
linkNoInstagram profile URL (alternative to username)
usernameYesInstagram username

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only mentions the data returned. It omits critical behavioral details such as authentication requirements, rate limits, data freshness, or whether 'related profiles' implies similarity or other relation. No side effects are disclosed.

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

Conciseness4/5

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

Single sentence is concise and front-loaded with purpose. It efficiently conveys the tool's action and output without extraneous words, though a bit more structure (e.g., bullet points) could improve readability.

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 tool with 2 simple parameters and no output schema, the description partially compensates by listing included fields. However, it lacks important context such as authentication needs, data format, and clarification of 'related profiles', leaving some ambiguity.

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 parameters are already well-described in the schema. The description adds no additional semantic meaning to 'username' or 'link' beyond what the schema provides, but listing output fields indirectly clarifies parameter purpose. Baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states the tool retrieves user profile information by username, listing specific data points (bio, followers, posts count, verification, related profiles), making it distinct from sibling tools like instagram_get_profile_posts or instagram_get_profile_reels.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives, nor any context on preferred parameter (username vs link). The description only states 'by username' but does not elaborate on scenarios or exclusions.

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

instagram_get_profile_highlightsA

Get all highlights from a user profile including cover images, titles, and permalink URLs

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesInstagram user ID

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, and the description only says 'Get', implying a read-only operation. It does not disclose any behavioral traits such as rate limits, authentication requirements, or potential side effects, leaving the agent with insufficient information.

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

Conciseness5/5

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

The description is a single sentence with no extraneous information, front-loading the core action and result. Every word adds value.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description adequately indicates the return fields (cover images, titles, permalink URLs). However, it lacks details on output structure (e.g., array of objects) and potential pagination, which could help the agent parse results.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter 'user_id' described as 'Instagram user ID'. The description adds no additional context beyond the schema, so baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'highlights from a user profile', and specifies the included fields (cover images, titles, permalink URLs). This distinguishes it from sibling tools like instagram_get_highlight_details, which focuses on a single highlight.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives (e.g., instagram_get_highlight_details). The description implies use for fetching all highlights, but does not mention exclusions or when to choose another tool.

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

instagram_get_profile_postsA

Get posts from a user profile with pagination. Provide username (recommended for more results) or user_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNoInstagram user ID (alternative)
usernameNoInstagram username (recommended — returns more results)
end_cursorNoPagination cursor for next page

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions pagination but does not describe authentication needs, rate limits, or return format. This is insufficient for a tool with no output schema.

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 two concise sentences, front-loading the purpose. No wasted words.

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

Completeness2/5

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

The tool has no output schema and 3 optional parameters. The description does not explain that at least one of username or user_id is needed for meaningful results, nor does it clarify what the paginated response includes. Incomplete for effective use.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds value by recommending username for more results and implicitly connecting end_cursor to pagination. This goes beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states the tool retrieves posts from a user profile with pagination, using a specific verb 'Get' and resource 'posts'. It is distinct from sibling tools like instagram_get_profile_details and instagram_get_profile_highlights.

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

Usage Guidelines4/5

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

The description recommends using username for more results, providing usage guidance. However, it does not explicitly state when to use this tool versus alternatives like other Instagram tools.

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

instagram_get_profile_reelsA

Get reels from a user profile with pagination. Returns video details, play counts, and audio metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesInstagram user ID
end_cursorNoPagination cursor for next page

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 must fully disclose behavior. It mentions pagination and returned data, but omits critical details such as authentication requirements, rate limits, or whether it is read-only. This is insufficient for a tool with no annotation safety net.

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

Conciseness5/5

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

The description is a single sentence of 13 words, front-loading the purpose. Every word is necessary and no redundant information is present.

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 has no output schema, so the description should explain return values—it does mention video details, play counts, and audio metadata. However, it lacks any mention of authentication, error handling, or pagination mechanics. Adequate for a simple tool but incomplete for full context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters (user_id, end_cursor). The description adds 'with pagination' context but does not provide new parameter semantics beyond what the schema offers. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool gets reels from a user profile with pagination, and lists returned data types (video details, play counts, audio metadata). This distinguishes it from siblings like instagram_get_reels_feed (general feed) and instagram_get_reels_by_audio (filtered by audio).

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

Usage Guidelines3/5

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

The description implies use when needing reels from a specific profile, but does not explicitly state when to use this tool versus alternatives like facebook_get_page_reels or instagram_get_reels_feed. No when-not-to-use or alternative references are provided.

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

instagram_get_reels_by_audioA

Get Instagram Reels associated with a specific audio/music ID. Find all reels using a particular sound.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_idNoPagination cursor for next page
audio_idYesAudio cluster ID (music ID)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic functionality. It does not mention authentication needs, rate limits, or any side effects. The description carries the full burden and falls short.

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

Conciseness5/5

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

The description is concise with two sentences, directly stating the purpose without any filler. It is well-structured and front-loaded.

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 adequately explains what the tool does but lacks information about the return value or output format. Since there is no output schema, the description should ideally clarify what is returned. It is minimally complete.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described. The description does not add any extra meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Get'), the resource ('Instagram Reels'), and the specific criterion ('associated with a specific audio/music ID'). It distinguishes itself from sibling tools like 'instagram_get_profile_reels' and 'instagram_get_reels_feed' by specifying the audio-based filtering.

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

Usage Guidelines4/5

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

The description implies usage when an audio ID is available, but does not explicitly state when to use this tool over alternatives. No when-not or exclusions are provided, but the context is clear enough.

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

instagram_get_reels_feedB

Get Instagram Reels feed with recommended, trending, or same-author chained clips

ParametersJSON Schema
NameRequiredDescriptionDefault
clips_media_idNoClip media ID for chaining/pagination (from previous response)

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 must fully disclose behavior. It mentions feed types but doesn't clarify how to select them, pagination behavior beyond chaining, or any side effects. Lack of detail on output format adds uncertainty.

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

Conciseness4/5

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

The description is a single sentence with no wasted words, but it could benefit from slightly more detail without becoming verbose. Still, it is efficiently structured.

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

Completeness2/5

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

With no output schema and a single optional parameter, the description should clarify what the feed contains, default behavior, and response structure. It fails to provide enough context for the agent to use the tool 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 coverage is 100% with the single parameter fully described in the schema. The description does not add new meaning beyond what the schema already provides, so baseline score 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 specifies the tool retrieves Instagram Reels feed, listing types (recommended, trending, same-author chained clips). This clearly distinguishes it from siblings like instagram_get_profile_reels (profile-specific) and instagram_get_reels_by_audio (audio-based).

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus sibling tools. The agent is left to infer context from tool names alone, with no direction on prerequisites or alternatives.

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

instagram_get_user_idA

Get the unique ID of any Instagram profile from a link or username

ParametersJSON Schema
NameRequiredDescriptionDefault
linkNoInstagram profile URL
usernameNoInstagram username

TDQS

A3.9/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 it is a read operation ('get'), but does not mention authentication requirements, error handling for invalid inputs, rate limits, or the format of the returned ID. This is sufficient for a minimal description but lacks depth.

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 14-word sentence that immediately conveys purpose. No superfluous information; every word is necessary.

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 has no output schema, so the description should clarify the return value. It states 'get the unique ID' but does not specify the data type (string, integer) or behavior on failure (e.g., invalid username). Given the low complexity, it meets minimal needs but lacks completeness.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described meaningfully. The description only restates the existence of link and username inputs without adding new details like validation rules or expected format beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the verb ('get'), the resource ('unique ID of any Instagram profile'), and the inputs ('link or username'). It distinguishes this tool from siblings like instagram_get_profile_details or instagram_get_post_id by focusing specifically on ID retrieval.

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

Usage Guidelines4/5

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

The description implies the tool should be used when needing a user ID from a link or username, which is clear context. However, it does not explicitly state when to avoid using it or suggest alternatives, but for a simple lookup tool this is adequate.

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. Dates show when Glama detected each change.

  1. 47 tool updatesv1.0.1
    • First observedfacebook_ads_archive_details
    • First observedfacebook_ads_countries
    • First observedfacebook_ads_keywords
    • First observedfacebook_ads_page_details
    • First observedfacebook_ads_search
    • First observedfacebook_download_media
    • First observedfacebook_get_comment_replies
    • First observedfacebook_get_group_details
    • First observedfacebook_get_group_id
    • First observedfacebook_get_group_metadata
    • First observedfacebook_get_group_posts
    • First observedfacebook_get_group_videos
    • First observedfacebook_get_page_details
    • First observedfacebook_get_page_id
    • First observedfacebook_get_page_posts
    • First observedfacebook_get_page_reels
    • First observedfacebook_get_page_videos
    • First observedfacebook_get_post_attachments
    • First observedfacebook_get_post_comments
    • First observedfacebook_get_post_details
    • First observedfacebook_get_post_id
    • First observedfacebook_get_video_details
    • First observedfacebook_marketplace_categories
    • First observedfacebook_marketplace_city_coordinates
    • First observedfacebook_marketplace_listing
    • First observedfacebook_marketplace_rentals
    • First observedfacebook_marketplace_search
    • First observedfacebook_marketplace_seller
    • First observedfacebook_marketplace_vehicles
    • First observedfacebook_search_locations
    • First observedfacebook_search_pages
    • First observedfacebook_search_people
    • First observedfacebook_search_posts
    • First observedfacebook_search_videos
    • First observedinstagram_get_highlight_details
    • First observedinstagram_get_location_posts
    • First observedinstagram_get_nearby_locations
    • First observedinstagram_get_post_details
    • First observedinstagram_get_post_id
    • First observedinstagram_get_profile_details
    • First observedinstagram_get_profile_highlights
    • First observedinstagram_get_profile_posts
    • First observedinstagram_get_profile_reels
    • First observedinstagram_get_reels_by_audio
    • First observedinstagram_get_reels_feed
    • First observedinstagram_get_user_id
    • First observedinstagram_popular_search

TDQS

B3.2/5.0
Disambiguation3/5

Tools are clearly separated by platform (facebook_ vs instagram_), but within each platform, there are many similar tools (e.g., multiple search tools for Facebook: ads, marketplace, groups, pages). Overlaps exist that could confuse an agent, though descriptions help distinguish them.

Naming Consistency5/5

All tools follow a consistent snake_case pattern with platform prefix and verb_noun structure (e.g., facebook_get_page_details). No mixing of conventions, making it highly predictable.

Tool Count3/5

With 47 tools covering two major platforms, the count is high but not extreme. It feels slightly over-scoped for a single server, as many tools could be consolidated without losing functionality.

Completeness4/5

The tool surface is comprehensive for read/search operations across Facebook and Instagram, covering ads, marketplace, groups, pages, posts, reels, and profiles. Minor gaps exist (e.g., no Instagram stories tool, no write/update operations), but for a data-retrieval server, it is largely complete.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SocialAPIsHub/mcp-server'

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