Influencers Club MCP Server
OfficialThe Influencers Club MCP Server provides tools to discover, enrich, and analyze social media creators, manage batch operations, and access reference data, with costs per API call.
Creator Discovery: Search creators via AI semantic search with rich filters, export results to CSV (local), find similar creators, and analyze audience overlap between 2-10 creators.
Creator Enrichment: Get full profiles (with email, audience data) or basic profiles by handle, look up by email, and discover linked social accounts.
Content Data: Fetch recent posts with metrics, and get detailed post info (comments, transcript, audio).
Batch Enrichment (local only): Upload CSV of up to 10,000 handles/emails, monitor job status, download results, and resume paused batches.
File Management (local only): Obtain upload URLs, wait for uploads, list import/export files, and set local export path.
Reference Data (free): Retrieve lists of languages, locations, brands, YouTube topics, games, and audience filters.
Account: Check credit balance.
Allows discovery, enrichment, and content analysis of Instagram creators, including profile data, audience demographics, recent posts, and audience overlap.
Allows discovery and enrichment of OnlyFans creators, including profile data and audience demographics.
Allows discovery, enrichment, and content analysis of TikTok creators, including profile data, audience demographics, recent posts, and audience overlap.
Allows discovery and enrichment of Twitch creators, including profile data and audience demographics.
Allows discovery, enrichment, and content analysis of YouTube creators, including profile data, audience demographics, recent posts, and audience overlap.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Influencers Club MCP Serverdiscover creators in tech with 10k+ followers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Influencers Club MCP Server
Beta — This project is under active development. It works and can be tested, but expect changes before the stable release.
MCP server for the Influencers Club API — creator enrichment, discovery, audience analysis, content data, batch operations, and account management.
Two ways to use it:
Best for | |
No install — connect once with your Influencers Club account | |
Claude Desktop / Claude Code / IDEs, plus local file tools (CSV export, batch upload) |
Use with claude.ai (Hosted Connector)
The hosted server runs at https://mcp-dashboard.influencers.club/mcp and signs you in with OAuth — no API key to copy around.
In Claude, open Settings → Connectors → Add custom connector (or find Influencers Club in the connectors directory).
Enter the URL:
https://mcp-dashboard.influencers.club/mcpClick Connect — you'll be redirected to the Influencers Club dashboard to sign in and approve access.
Done. Ask Claude things like "Find 5 Instagram creators in fitness with 50k-500k followers."
Requirements: an Influencers Club account with API credits. Discovery and enrichment tools consume credits (costs are listed on every tool and in the tables below); dictionary/lookup tools are free.
Notes:
The hosted connector exposes the 19 API tools. File and batch tools (CSV export, bulk CSV enrichment) need a local filesystem and are available only in the local install.
Connection expired / 401 errors: disconnect and reconnect the connector to re-authenticate.
"Insufficient credits" errors: top up in the dashboard; calls keep failing until the balance is positive.
Related MCP server: datalikers-mcp
Use with ChatGPT (Developer Mode)
The same hosted server works as a ChatGPT connector:
In ChatGPT, enable Settings → Apps → Advanced settings → Developer mode (available on Plus, Pro, Business, Enterprise, and Edu plans).
Add a new connector with the URL:
https://mcp-dashboard.influencers.club/mcpClick Connect — you'll be redirected to the Influencers Club dashboard to sign in and approve access.
Done. The same 19 API tools are available; the credit requirements and notes from the claude.ai section apply unchanged.
Local Install (stdio)
Prerequisites
Python 3.10+ or Docker Desktop
Quick Start (pip)
pip install influencers-club-mcpOr install from source:
git clone https://github.com/Influencers-Club/influencers-club-mcp.git
cd influencers-club-mcp
pip install -e .Then add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"influencers-club": {
"command": "influencers-club-mcp",
"env": {
"INFLUENCERS_CLUB_API_KEY": "your_api_key_here"
}
}
}
}Restart Claude Desktop — the server will appear as "influencers-club". That's it.
Where do files go? By default, exported CSVs and uploads are saved to
exports/andimports/inside the cloned repo folder. No extra configuration needed.To use a custom location, add these env vars:
"EXPORT_HOST_DIR": "/your/custom/exports", "IMPORT_HOST_DIR": "/your/custom/imports", "OUTPUT_DIR": "/your/custom/exports", "IMPORTS_DIR": "/your/custom/imports"
Claude Code
Add to your project's .mcp.json or global ~/.claude/settings.json:
{
"mcpServers": {
"influencers-club": {
"command": "influencers-club-mcp",
"env": {
"INFLUENCERS_CLUB_API_KEY": "your_api_key_here"
}
}
}
}VS Code / Cursor
Add to .vscode/mcp.json in your project:
{
"servers": {
"influencers-club": {
"command": "influencers-club-mcp",
"env": {
"INFLUENCERS_CLUB_API_KEY": "your_api_key_here"
}
}
}
}Docker (Advanced)
Use Docker if you want filesystem isolation or prefer containerized deployments.
git clone https://github.com/Influencers-Club/influencers-club-mcp.git
cd influencers-club-mcp
docker build -t influencers-club-mcp .Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"influencers-club": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-p", "127.0.0.1:8090:8090",
"-e", "INFLUENCERS_CLUB_API_KEY=your_api_key_here",
"-e", "UPLOAD_PORT=8090",
"-e", "UPLOAD_BIND=0.0.0.0",
"-v", "/path/to/exports:/exports",
"-v", "/path/to/imports:/imports",
"-e", "EXPORT_HOST_DIR=/path/to/exports",
"-e", "IMPORT_HOST_DIR=/path/to/imports",
"influencers-club-mcp"
]
}
}
}Note: Replace
/path/to/exportsand/path/to/importswith actual paths on your machine. The path appears 4 times — update all of them.Examples by OS:
macOS/Linux:
/Users/john/influencers-club-mcp/exportsWindows:
C:\\Users\\John\\Desktop\\influencers-club-mcp\\exports(use double backslashes)
After configuring, restart your client. The server will appear as "influencers-club".
Available Tools (29)
19 API tools are available everywhere (hosted connector and local). Tools marked local only need the local filesystem, so they exist only in stdio installs.
Creator Discovery
Tool | Description | Cost |
| AI semantic search with filters (followers, engagement, location, etc.) | 0.01/creator |
| Multi-page discovery with CSV export to disk | 0.01/creator |
| Find creators similar to a seed creator | 0.01/creator |
| Compare audience overlap between 2-10 creators | 1 credit |
Enrichment
Tool | Description | Cost |
| Full enriched profile: email, demographics, audience, income, brand deals | 1 credit |
| Basic profile data: bio, followers, verification status | 0.03 credits |
| Find creator profiles from an email | 0.05 credits |
| Discover all linked social accounts for a creator | 0.5 credits |
Content Data
Tool | Description | Cost |
| Fetch recent posts with engagement metrics (IG, TikTok, YouTube) | 0.15 credits |
| Deep content analysis (comments, transcript, audio) | 0.03 credits |
Batch Enrichment (local only)
Tool | Description | Cost |
| Upload CSV of up to 10,000 handles/emails for bulk processing | varies |
| Check batch job progress (auto-polls every 35s) | free |
| Download completed batch results as CSV | free |
| Resume a paused batch after adding credits | free |
File Management (local only)
Tool | Description | Cost |
| Get the browser upload page URL for batch CSV files | free |
| Auto-detect when a file has been uploaded | free |
| List uploaded CSV files ready for enrichment | free |
| List exported result files | free |
| Configure where exported files are saved | free |
Discovery Reference Data
Tool | Description | Cost |
| Available languages for filtering | free |
| Available locations per platform | free |
| Available brand identifiers | free |
| Available YouTube topics | free |
| Available Twitch games | free |
| Audience brand categories | free |
| Audience brand names | free |
| Audience interest categories | free |
| Audience geographic locations | free |
Account
Tool | Description | Cost |
| Check account credits balance | free |
Usage Examples
Find fitness influencers on Instagram:
"Find 5 Instagram creators with 50k-500k followers who post about fitness and have an engagement rate above 3%."
Enrich a creator profile by handle:
"Get me the full profile for @cristiano on Instagram, including audience demographics."
Find similar creators for campaign scaling:
"I like the creator @MrBeast on YouTube. Find 10 similar creators with at least 100k followers."
Compare audience overlap:
"Compare the audience overlap between @nike, @adidas, and @puma on Instagram."
Get a creator's recent posts:
"Show me the latest posts from @garyvee on TikTok with engagement metrics."
Find all connected social accounts:
"What other social media accounts does @cristiano have linked to their Instagram?"
Check your remaining API credits:
"How many credits do I have left?"
Supported Platforms
Capability | Platforms |
Enrichment | Instagram, TikTok, YouTube, OnlyFans, X/Twitter, Twitch, LinkedIn (raw mode only) |
Discovery | Instagram, TikTok, YouTube, OnlyFans, X/Twitter, Twitch |
Content Data | Instagram, TikTok, YouTube |
Audience Overlap | Instagram, TikTok, YouTube |
Environment Variables (local install)
Variable | Required | Default | Description |
| Yes | — | Your Influencers Club API key |
| No | 8090 | Port for the browser upload page |
| No | 127.0.0.1 | Bind address. Set to |
| No | localhost | Hostname for the upload URL. Set to your IP if Docker runs remotely. |
| No | — | Host path for exported files |
| No | — | Host path for uploaded files |
| No | 300 | Client-side rate limit |
Troubleshooting
Hosted connector shows "disconnected" or tools return 401 — remove and re-add the connector (or click Reconnect) to refresh the OAuth session.
Errors mentioning credits or limits — check your balance with
check_creditsor in the dashboard; calls fail until the limit resets or credits are added.Local: server doesn't appear in Claude Desktop — verify the config JSON is valid and restart the app; check that
influencers-club-mcpruns from a terminal.Local: upload page unreachable — another process may hold port 8090; set
UPLOAD_PORTto a free port.Anything else: open an issue or email gjorgji.p@influencers.club.
Privacy Policy
This MCP server is a thin client between the connected AI assistant (e.g. Claude or ChatGPT) and the Influencers Club API. The sections below describe what the server itself does with your data; the Influencers Club platform's full data practices are governed by the Influencers Club Privacy Policy.
Data we collect. None. The server does not collect, persist, or transmit personally identifiable information about the human using the AI assistant. The only inputs it receives are the tool arguments the assistant sends (e.g. a creator handle or a CSV path) and the bearer token used to authenticate against the Influencers Club API.
How data is used. Tool arguments are forwarded directly to the Influencers Club API to fulfill the requested operation (discovery, enrichment, batch processing, etc.). Responses are returned to the assistant. The server performs no analytics, profiling, or model training on this data.
Storage. The server keeps no database. The only data written to disk are: (a) CSV exports/imports the user explicitly creates via the file tools, written to local directories the user controls (exports/, imports/, or paths set by EXPORT_HOST_DIR / IMPORT_HOST_DIR); (b) a small .ic_config.json file storing the chosen export path. No conversation content, API responses, or credentials are persisted.
Third-party sharing. The server communicates with exactly one third party: the Influencers Club API. No data is sent to any other endpoint, analytics service, or telemetry provider. The bearer token is transmitted only to the Influencers Club API over HTTPS and is redacted from any error messages returned to the assistant.
Retention. The server retains nothing in-process beyond the lifetime of a single tool call, with the exception of the user-controlled CSV files described above, which the user can delete at any time. Bearer tokens are read from environment variables (or, in hosted/HTTP mode, from the authenticated request) and are never written to disk.
Contact. Privacy questions and data-deletion requests: gjorgji.p@influencers.club. Security disclosures may also be filed via GitHub Issues.
Support
Email: gjorgji.p@influencers.club
GitHub Issues: github.com/Influencers-Club/influencers-club-mcp/issues
License
MIT
Available Tools
22 toolsaudience_overlapARead-only
Analyze audience overlap between 2-10 creators on the same platform. Shows total followers, unique followers, and overlap percentages. Costs 1 credit per request.
The result suits a visual summary: a Venn diagram for 2-3 creators (one circle per creator's audience, with overlap counts in the intersections), or a heatmap or bar chart for 4-10 (pairwise overlap percentages, or shared-vs-unique segments per creator).
| Name | Required | Description | Default |
|---|---|---|---|
| creators | Yes | List of 2-10 creator usernames or profile URLs | |
| platform | Yes | Platform (instagram, tiktok, or youtube only) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already indicating readOnlyHint=true and destructiveHint=false, the description adds valuable behavioral details: the 1-credit cost per request and the output format suited for visual summaries. It does not contradict the annotations. The addition of cost and visualization behavior goes beyond the structured annotations, though it stops short of explaining pagination 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, front-loading the core purpose in the first sentence, then adding output details, cost, and visualization guidance. Every sentence earns its place, and the content is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists and the tool has only two well-documented parameters, the description is remarkably complete. It covers the operation, constraints, cost, and provides guidance on how to interpret and visualize results, which is especially helpful for an analytical tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% description coverage, with clear descriptions for both 'platform' and 'creators'. The description also reinforces the 2-10 creator limit and same-platform constraint, but does not add new semantic details beyond what the schema has. Given the complete schema, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Analyze') and resource ('audience overlap'), along with the scope ('between 2-10 creators on the same platform'). It also lists the output metrics (total followers, unique followers, overlap percentages). This distinguishes it from sibling tools focused on discovery, enrichment, or other audience metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool: for analyzing overlap between 2-10 creators on the same platform. It also notes the credit cost and suggests visualization types based on creator count. However, it does not explicitly mention alternatives or when not to use it, such as for single-creator analysis or cross-platform comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_creditsARead-only
Check your Influencers.club account credit balance and usage. Free (0 credits). Use this to verify you have enough credits before expensive operations.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true and destructiveHint false, which the description does not contradict. The description adds useful context: 'Free (0 credits)' and that it shows both balance and usage. This goes beyond the annotations by clarifying cost and informational scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The first sentence states the function, the second gives usage guidance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with an output schema, the description covers everything needed: what it checks, that it's free, and when to use it. No additional behavioral or return-value details are necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter meaning; the schema confirms no inputs. It appropriately focuses on the tool's purpose instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Check' with the resource 'your Influencers.club account credit balance and usage.' It clearly states what the tool does and is distinct from sibling tools like discover_creators or enrich_by_handle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides a use case: 'Use this to verify you have enough credits before expensive operations.' This tells the agent when to invoke this tool, which is particularly helpful for cost management.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connected_socialsBRead-only
Find all social media profiles connected to a creator. Returns linked accounts across platforms. Costs 0.5 credits per successful request.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Creator's username, profile URL, or YouTube channel ID | |
| platform | Yes | Platform of the known handle |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims to find 'all' connected profiles, which conflicts with the openWorldHint annotation indicating the result set may be incomplete. It also adds cost information (0.5 credits per request), but the contradiction is severe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core purpose and adding the cost in the second sentence. It contains no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the schema and output schema cover the parameters and return structure, the description does not qualify the 'all' claim to align with openWorldHint, making it incomplete for an agent to understand potential incomplete results. The lack of a when-not-to-use also contributes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters (handle and platform) with clear descriptions, and coverage is 100%. The description adds no additional parameter meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Find' with the resource 'all social media profiles connected to a creator' and returns linked accounts across platforms. This clearly distinguishes it from sibling tools like discover_creators or enrich_by_handle, which focus on discovery or enrichment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a known creator handle and want to see their linked accounts across platforms, but it does not explicitly state when not to use it or name alternative tools. It provides clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_creatorsARead-only
Search the Influencers.club database to discover creators/influencers. Returns profiles with basic stats. Costs 0.01 credits per creator returned. Results are returned in the API's ranking order, which is meaningful (relevance/sort position).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (0-indexed, first page = 0) | |
| limit | No | Results per page (1-50) | |
| filters | No | Structured filters — every legal filter is a property of this object. Some fields apply only to certain platforms. | |
| sort_by | No | Sort field: relevancy, engagement_rate, number_of_followers, growth_rate. Can be combined with ai_search. growth_rate only on instagram/tiktok/youtube. number_of_followers not on onlyfans. relevancy only supports desc | relevancy |
| platform | Yes | Social media platform to search (instagram, youtube, tiktok, twitch, twitter, onlyfans) | |
| ai_search | No | AI-powered semantic search for niche/topic queries (3-150 chars). Short queries work best (e.g., 'fitness', 'retro gaming'). For topical searches keep sort_by=relevancy and constrain size with the number_of_followers filter — sorting by followers ranks the biggest matches, not the most relevant. | |
| sort_order | No | Sort direction: asc or desc (relevancy only supports desc) | desc |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read operation. The description adds important behavioral context: it costs 0.01 credits per creator returned, and results are returned in a meaningful API ranking order. This goes beyond the annotations and helps the agent plan behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the main purpose, followed by cost and ranking behavior. Every sentence earns its place with no redundant phrasing or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the complex schema (especially the large DiscoveryFilters object), the description covers the essential action, cost, and ranking behavior. The output schema handles return values, and the input schema already documents filters and pagination, so the description is adequate. It could mention that filters are available, but the schema compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – all 7 parameters (platform, page, limit, filters, sort_by, ai_search, sort_order) already have descriptive text in the schema. The description doesn't add parameter-specific meaning; it only mentions the overall cost and ranking, which are not tied to individual parameters. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search the Influencers.club database to discover creators/influencers') and the return value ('Returns profiles with basic stats'). It uses a specific verb and resource, but doesn't explicitly differentiate from sibling tools like discover_creators_to_file or find_similar_creators, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as discover_creators_to_file, find_similar_creators, or enrich_by_handle. It doesn't mention exclusions or context like 'use this for quick discovery' or 'use discover_creators_to_file for exporting results.' The cost and ranking notes are behavioral, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_creators_to_fileA
Search creators and save results directly to a CSV file on disk. Fetches multiple pages automatically (up to 10 pages / 500 creators). Returns the file path and summary stats instead of raw data. Costs 0.01 credits per creator returned. Use this when the user wants to save, export, or download a list of creators.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | Number of pages to fetch (1-10, 50 creators per page) | |
| filters | No | Structured filters (same schema as discover_creators) | |
| sort_by | No | Sort field: relevancy, engagement_rate, number_of_followers, growth_rate. Can be combined with ai_search | relevancy |
| filename | No | Optional custom filename (without extension). Defaults to auto-generated. | |
| platform | Yes | Social media platform to search | |
| ai_search | No | AI-powered semantic search (3-150 chars). Can be combined with any sort_by. | |
| sort_order | No | Sort direction: asc or desc (relevancy only supports desc) | desc |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behaviors not covered by annotations: automatic pagination up to 10 pages/500 creators, return of file path and summary stats instead of raw data, and credit cost of 0.01 per creator. These provide useful decision-making context beyond the annotations, which only set readOnlyHint=false, openWorldHint=true, destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, each serving a purpose: main action, pagination detail, return format, cost, and usage context. It is front-loaded with the action and free of repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key aspects for a file-export tool: action, file format, pagination limits, return format, cost, and when to use. It doesn't mention prerequisites like setup_export_path, but given the existing annotations and output schema, the description is largely complete for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with each parameter already documented (e.g., pages range, filters structure, sort options). The tool description adds no additional parameter-level meaning, so baseline score 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'Search creators and save results directly to a CSV file on disk.' It clearly distinguishes from sibling tools by noting it returns file path and summary stats 'instead of raw data' and by specifying 'when the user wants to save, export, or download a list of creators.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'Use this when the user wants to save, export, or download a list of creators.' It also implies that raw data is not returned, suggesting alternative usage when raw data is needed, but does not explicitly name sibling tools or provide when-not-to-use conditions, so a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrich_by_emailARead-only
Enrich ONE email. Costs 0.05 credits. For bulk (more than ~10 emails), use create_batch_enrichment.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address to look up |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds context about the cost (0.05 credits) and the one-at-a-time behavior. This goes beyond annotations, though it does not detail the exact data returned (but an output schema exists).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and cost, with the bulk alternative clearly stated. Every word earns its place; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with a rich output schema and clear annotations, the description covers cost, scope, and bulk alternative. It is fully sufficient for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is 100% covered; the email parameter is described as 'Email address to look up'. The description adds no extra semantic detail about the parameter, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool enriches exactly one email, using a specific verb ('Enrich') and resource ('email'), and contrasts with bulk enrichment via 'ONE' and the mention of create_batch_enrichment. This distinguishes it clearly from siblings like enrich_by_handle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: it is for single email enrichment, and for bulk (>10 emails) it directs to an alternative tool (`create_batch_enrichment`). This gives a clear when-to-use vs when-not-to-use rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrich_by_handleARead-only
Enrich ONE creator by handle (full data: email, demographics, audience, income, brand deals). Costs 1 credit. For bulk (more than ~10 handles), use create_batch_enrichment. For basic profile data only, enrich_by_handle_raw returns a smaller result at 0.03 credits.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Creator's username, profile URL, or YouTube channel ID | |
| platform | Yes | Primary platform of the creator (NOT linkedin — use enrich_by_handle_raw for linkedin) | |
| email_required | No | "must_have" returns only if email found; "preferred" returns data even without email | preferred |
| include_lookalikes | No | Include similar creator suggestions | |
| include_audience_data | No | Include audience demographics (IG, TT, YT only) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and destructiveHint=false. The description adds the cost of 1 credit, the data scope, and the existence of a cheaper raw variant, which is useful operational context. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose, followed by cost and alternatives. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a complete input schema, output schema, and strong annotations, the description covers the key decision factors (cost, single vs bulk, full vs raw). It leaves out error-handling details, but these are not required given the rich structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All five parameters have schema descriptions, so the schema carries the parameter-semantics load. The description mentions data categories that loosely relate to include_audience_data but does not add new parameter-level detail beyond what is already present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Enrich ONE creator by handle') and lists the data domains (email, demographics, audience, income, brand deals). It distinguishes from sibling tools by explicitly naming create_batch_enrichment for bulk and enrich_by_handle_raw for basic data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit when-to-use guidance: use create_batch_enrichment for bulk (>10 handles) and enrich_by_handle_raw for basic profile data. It also signals the cost trade-off (1 credit vs 0.03), helping the agent choose the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrich_by_handle_rawARead-only
Enrich ONE creator by handle (basic). Costs 0.03 credits. Supports linkedin. For bulk (more than ~10 handles), use create_batch_enrichment.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Creator's username, profile URL, or YouTube channel ID | |
| platform | Yes | Platform to look up |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and non-destructive behavior. The description adds value by disclosing the cost per call and the supported platform, which are not in annotations. No contradictions. It does not mention rate limits or data scope, but annotations cover the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: three short sentences covering purpose, cost, platform, and bulk alternative. No filler, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and annotations cover read-only behavior, the description provides sufficient context: single-creator scope, cost, and when to switch to batch. It is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for handle and platform. The description adds no extra param-level details beyond noting LinkedIn support, which is already implied by the platform parameter. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool enriches one creator by handle, with 'basic' and 'raw' implying a simpler variant. It distinguishes from bulk enrichment but does not explicitly differentiate from the sibling 'enrich_by_handle', which may confuse agents about when to choose one over the other.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent to use create_batch_enrichment for bulk (>10 handles), provides the cost (0.03 credits), and indicates platform support (LinkedIn). This gives clear when-to-use and when-not-to-use guidance with a named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similar_creatorsARead-only
Find creators similar to a specified creator. Always sorted by relevancy (no custom sort). Costs 0.01 credits per creator returned. Results are returned in relevance order, which is meaningful. No CSV export exists for similar creators.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (0-indexed, first page = 0) | |
| limit | No | Results per page (1-50) | |
| filters | No | Structured filters (same schema as discover_creators) | |
| platform | Yes | Platform of the reference creator (instagram, youtube, tiktok, twitch, onlyfans). The same username can exist on several platforms, so this must match the platform the user means. | |
| filter_key | No | How to identify the creator: "url", "username", or "id" | username |
| filter_value | No | The creator's URL, username, or platform ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral details beyond the annotations: 'Costs 0.01 credits per creator returned' (cost transparency), 'Always sorted by relevancy (no custom sort)' (sorting behavior), and 'No CSV export exists' (limitation). These are not present in the annotations (readOnlyHint, openWorldHint, destructiveHint) and help the agent set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is not overly long but contains redundancy: 'Always sorted by relevancy (no custom sort)' and 'Results are returned in relevance order, which is meaningful' convey largely the same information. The third sentence could be removed, making the description less efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers key non-obvious behaviors (cost, fixed sort, no CSV export) that are not evident from the schema or annotations. The schema itself handles parameter details and includes a note about platform-specific filters, so the description does not need to repeat those. However, it does not mention pagination or how to specify the reference creator, though those are covered by schema descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with every parameter (page, limit, filters, platform, filter_key, filter_value) having a description. The tool description adds no additional parameter-level detail, which is acceptable given high schema coverage, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Find creators similar to a specified creator.' This is a specific verb and resource, and it differentiates from sibling tools like discover_creators by emphasizing the 'similar to a specified creator' aspect. Additional traits like fixed relevancy sorting further clarify its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you have a specific creator and want similar ones) but does not explicitly mention when not to use it or name alternatives like discover_creators. There is no exclusion or comparison to sibling tools, so usage guidance is only implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audience_brand_categoriesARead-only
Search audience brand categories for Instagram audience filters. Supports pagination. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | Pagination offset | |
| search | No | Search term to filter categories |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by noting pagination support and that the tool costs 0 credits, which goes beyond the annotations and helps with operational expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first identifies the tool's action and context, and the second adds pagination and cost details. No fluff—every word earns its place and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only search tool with two optional parameters and an output schema available, the description covers the essential aspects: purpose, pagination, and cost. It doesn't explain the shape of return values, but the output schema handles that. A minor gap is not explaining what 'brand categories' encompasses versus 'brand names', but this is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions for offset ('Pagination offset') and search ('Search term to filter categories'). The description's mention of pagination reinforces the offset parameter's purpose but does not add substantial new 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Search' with the resource 'audience brand categories' and clarifies the purpose 'for Instagram audience filters'. This clearly distinguishes it from siblings like get_audience_brand_names by focusing on categories rather than individual brand names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for Instagram audience filters' provides a clear use case, and the note about being free (0 credits) offers a practical consideration. However, it does not explicitly indicate when to choose this over similar lookup tools like get_audience_brand_names or get_audience_interests, nor does it mention 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.
get_audience_brand_namesARead-only
Search audience brand names for Instagram audience filters. Supports pagination. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | Pagination offset | |
| search | No | Search term to filter brand names |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral context: "Supports pagination" and "Free (0 credits)". This goes beyond the annotations by disclosing pagination and cost behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core purpose, and includes two additional useful facts (pagination and cost) in short, clear sentences. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with only 2 optional parameters, an output schema, and annotations, the description covers the essential context: purpose, pagination, and cost. It does not describe the return format, but the output schema handles that. Missing maybe an explicit note on typical use cases, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'search' and 'offset' parameters having descriptions. The tool description's phrase "Search audience brand names" aligns with the 'search' parameter description but does not add new meaning beyond the schema. The mention of pagination complements the 'offset' parameter but is not a parameter-specific semantic addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: "Search audience brand names for Instagram audience filters." This uses a specific verb (search) and resource (audience brand names), but does not explicitly differentiate from similar sibling tools like get_brands or get_audience_brand_categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "for Instagram audience filters" provides clear context for when this tool would be used. However, there is no explicit mention of alternatives or when not to use it, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audience_interestsARead-only
Search audience interest categories for Instagram audience filters. Supports pagination. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | Pagination offset | |
| search | No | Search term to filter interests |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond the annotations: it mentions pagination support and that the tool is free (0 credits). The annotations already declare readOnlyHint=true and destructiveHint=false, so the additional cost and pagination context are valuable. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, each providing distinct information: purpose, pagination, and cost. It is front-loaded with the core purpose and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a simple lookup tool, full schema coverage, and an output schema present, the description is sufficiently complete. It covers purpose, pagination, and cost. It does not delve into integration nuances, but those are not essential for this tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (offset and search), so the schema already explains their meaning. The description only mentions pagination and search without adding syntax or format details beyond the schema. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search audience interest categories for Instagram audience filters' uses a specific verb ('Search') and clearly identifies the resource ('audience interest categories') and the context (Instagram audience filters). This distinguishes it from sibling tools like get_languages or get_brands, which target other category types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for Instagram audience filters' provides clear usage context, indicating when this tool is relevant. However, it does not explicitly mention alternatives or when not to use this tool, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audience_locationsARead-only
Search audience locations for Instagram audience filters. Supports pagination. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | Pagination offset | |
| search | No | Search term to filter locations |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds useful behavioral context: supports pagination and is free (0 credits). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with an additional short note about credits. It is front-loaded with the primary action and resource, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (two optional parameters, no required fields) and the output schema is present, so the description doesn't need to detail return values. It covers purpose, pagination, and cost, making it complete for this scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters (search and offset), so the schema already explains their meaning. The description adds no additional parameter semantics beyond mentioning pagination, which aligns with the offset parameter but doesn't go further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('search'), a clear resource ('audience locations'), and the context ('for Instagram audience filters'). This distinguishes it from sibling tools like get_locations, which likely handles general location searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (when you need audience locations for Instagram filters) and mentions pagination and zero cost. It does not explicitly exclude alternatives or state when not to use it, but the context is clear enough for most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brandsARead-only
Get available brand names for discovery filters (Instagram brand deal detection). Supports search and pagination. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | Pagination offset | |
| search | No | Search term to filter brand names |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral details: supports search and pagination, and is free (0 credits), which are useful beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the purpose and immediately provide key behavioral and cost details. No filler; every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool, strong annotations, and an existing output schema, the description covers the purpose, usage context, behavioral traits, and cost. It is complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (offset as pagination offset, search as filter term) with 100% coverage. The description only reiterates 'search and pagination' without adding new meaning, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves available brand names for discovery filters, specifically in the context of Instagram brand deal detection. This distinguishes it from sibling tools like get_audience_brand_names by tying it to the discovery filter use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use the tool: when needing brand names for discovery filters in Instagram brand deal detection. It does not explicitly exclude alternatives or mention when not to use it, but the use case is specific enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creator_postsARead-only
Get recent posts/content from a creator. Supports Instagram (12/page), TikTok (max 35), YouTube (max 50). Uses cursor-based pagination. Costs 0.15 credits per request.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of posts to retrieve (platform limits apply) | |
| handle | Yes | Creator's username or handle | |
| platform | Yes | Platform (instagram, tiktok, or youtube) | |
| pagination_token | No | Pass the 'next_token' value from the previous response to fetch the next page |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds valuable behavioral context: platform-specific page limits (Instagram 12/page, TikTok max 35, YouTube max 50), cursor-based pagination, and cost per request. No contradiction with annotations, and it provides useful operational details beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, front-loaded with the primary action. Every sentence adds meaningful information without filler, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, annotations, and 100% schema coverage, the description sufficiently covers the remaining contextual aspects: platform variance, pagination behavior, and cost. It is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema coverage is 100%, the baseline is 3. The description adds meaning by specifying exact platform limits (which the schema only vaguely references as 'platform limits apply') and explicitly mentioning cursor-based pagination, enriching the semantics of count and pagination_token.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves recent posts/content from a creator, with a specific verb and resource. It further distinguishes itself by mentioning per-platform limits, which separates it from sibling tools like get_post_details and discovery tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a creator's recent posts are needed, but it does not explicitly name alternatives or when-not-to-use scenarios. Sibling tool names suggest alternatives, but the description doesn't reference them, leaving usage guidance implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gamesARead-only
Get available game names for Twitch discovery filters. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable context beyond that: 'Free (0 credits)' informs the agent of cost implications, which is useful operational knowledge not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence plus a cost note. Every word earns its place, no redundancy, and the most important information (what it gets and its purpose) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, a clear purpose, an output schema available, and annotations covering safety, the description is complete. It also includes cost information, which is relevant for an agent deciding whether to use the tool. No further details are necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty, so there are no parameter semantics to explain. The baseline for zero parameters is 4, and the description appropriately focuses on the tool's purpose and cost rather than nonexistent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get available game names for Twitch discovery filters.' It uses a specific verb ('Get') and resource ('game names'), and the mention of 'Twitch discovery filters' distinguishes it from sibling tools like get_locations and get_languages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for Twitch discovery filters' provides clear context for when to use this tool, implying it is for populating game filter options. It does not explicitly state when not to use it, but its purpose is self-evident given the sibling tools are all discovery filters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_languagesARead-only
Get the list of supported language codes for discovery filters. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds limited extra behavioral context: it notes the operation is free with 0 credits and returns codes. This is useful but minimal; no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences provide exactly the required information: what is returned, for what purpose, and the cost. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool with an output schema, the description fully covers purpose, usage context, and cost. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter detail to add. The input schema is empty and fully covered; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Get') and resource ('list of supported language codes') plus context ('for discovery filters'). It distinguishes this from sibling lookup tools like get_locations or get_brands by naming the exact data returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for discovery filters' gives a clear use case, implying when this tool should be selected. It does not explicitly name alternatives or exclusion scenarios, but the domain-specific resource makes the intended context obvious among similar list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_locationsARead-only
Get available location codes for a specific platform's discovery filters. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | Platform to get locations for |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value beyond annotations by disclosing that the tool is free (0 credits), which is a behavioral cost detail. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the primary purpose and followed by a cost note. Every word earns its place, with no waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter, full schema coverage, an output schema, and annotations covering safety. The description sufficiently conveys purpose, cost, and usage context, leaving no critical gaps 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the platform parameter with its own description. The tool description adds context about 'discovery filters' but does not explain parameter values or format beyond what the schema provides. Baseline 3 is appropriate since schema already documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), resource ('location codes'), and scope ('for a specific platform's discovery filters'). It clearly distinguishes from sibling tools like get_languages and get_brands by specifying 'location codes'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: this tool is for fetching location codes to be used in discovery filters for a specific platform. It implicitly tells the agent when to use it (when location codes are needed for filters), but does not explicitly mention alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_post_detailsARead-only
Get detailed information about a specific post. Can retrieve post data, comments, transcript, or audio. Costs 0.03 credits per request.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Platform-specific post/video ID (NOT a URL) | |
| platform | Yes | Platform (instagram, tiktok, or youtube) | |
| content_type | No | Type of content: data (post info), comments, transcript, audio (no audio for YouTube) | data |
| pagination_token | No | Pass the 'next_token' value from the previous response to page through comments |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and non-destructive. The description adds the credit cost per request and the range of retrievable content types, providing useful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core function and content types, and includes the cost. Every word contributes value with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential purpose and cost, while the schema documents all parameters and the output schema exists. It is complete enough for selection and invocation, though pagination specifics are left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are fully described in the schema (100% coverage), so the description does not need to add parameter-level detail. It adds no extra meaning beyond the schema, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed information about a specific post and enumerates the supported content types (data, comments, transcript, audio). This differentiates it from sibling tools like get_creator_posts, which operate at the creator level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when a specific post ID is known and detailed information is needed. It clearly indicates the context but does not explicitly mention alternatives or when not to use the tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_youtube_topicsARead-only
Get available YouTube topic categories for discovery filters. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds value by noting 'Free (0 credits)', a behavioral trait not captured in annotations. This gives useful cost-related context beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences that convey purpose and cost without any fluff. Every word earns its place, and the structure front-loads the main function. It is appropriately sized for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, read-only), the description is complete. It states what the tool returns (topic categories), its purpose (discovery filters), and its cost. An output schema exists, so return structure is covered elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is trivially 100% and the baseline score is 4. The description does not need to explain parameter semantics because none exist, and it correctly focuses on the tool's output domain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and clearly states the resource 'available YouTube topic categories for discovery filters'. This distinguishes it from sibling tools like get_languages or get_games, which focus on other category types. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for discovery filters' provides clear context on when to use this tool, and the cost note 'Free (0 credits)' adds practical guidance. However, it does not explicitly mention when not to use it or cite alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_export_filesARead-only
List result/output CSV files (batch results, discovery exports). Shows 10 most recent. Free (0 credits).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds valuable behavioral context: it is free (0 credits) and returns only the 10 most recent files. This goes beyond the annotations and helps the agent understand cost and result limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core action and resource, and includes essential details (limit and cost) without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params), the presence of an output schema, and clear annotation coverage, the description fully covers purpose, limit, and cost. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is 100% (trivially, an empty properties object). The description does not need to explain parameters, and the baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists result/output CSV files (batch results, discovery exports), distinguishing it from sibling discovery/enrichment tools. The verb 'List' and specific resource 'export files' make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to view recent export CSV files) and notes the limitation of showing only the 10 most recent. While it doesn't explicitly mention alternatives, none of the sibling tools serve the same purpose, so the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_export_pathA
Set the folder path where exported CSV files will be saved on the user's machine. Ask the user where they want exports saved, then call this tool with their answer. This only needs to be done once — the setting persists across sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| export_path | Yes | Full path on the user's machine where exported files should be saved. Example: C:\Users\John\Desktop\influencer-exports |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations by disclosing that the setting persists across sessions, a side effect not captured by readOnlyHint or destructiveHint. It also implies a state-changing operation, consistent with readOnlyHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: purpose, usage instruction, and persistence note. Information is front-loaded and there is no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, output schema present), the description covers what the tool does, when to invoke it, and the persistence behavior. No critical context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents the export_path parameter. The description reinforces that the value comes from the user's answer but adds little semantic detail beyond the schema's example and explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Set' and the resource 'folder path where exported CSV files will be saved', making the tool's purpose unmistakable. It also distinguishes itself from the data-retrieval siblings by being a configuration/setup tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is given: 'Ask the user where they want exports saved, then call this tool with their answer.' It also clarifies frequency with 'only needs to be done once — the setting persists across sessions', which is strong usage context.
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.
22 tool updates
v0.2.0- First observed
audience_overlap - First observed
check_credits - First observed
connected_socials - First observed
discover_creators - First observed
discover_creators_to_file - First observed
enrich_by_email - First observed
enrich_by_handle - First observed
enrich_by_handle_raw - First observed
find_similar_creators - First observed
get_audience_brand_categories - First observed
get_audience_brand_names - First observed
get_audience_interests - First observed
get_audience_locations - First observed
get_brands - First observed
get_creator_posts - First observed
get_games - First observed
get_languages - First observed
get_locations - First observed
get_post_details - First observed
get_youtube_topics - First observed
list_export_files - First observed
setup_export_path
TDQS
Scored across 22 tools
Most tools target distinct resources (locations, languages, brands, etc.). The only potential confusion is between discover_creators and discover_creators_to_file, and between enrich_by_handle and enrich_by_handle_raw, but descriptions explicitly clarify the difference with cost and output format.
The set mixes get_*, discover_*, enrich_*, audience_*, and standalone nouns like connected_socials and check_credits. While each subgroup is internally consistent, the overall pattern is inconsistent, making it harder to predict tool names.
22 tools is on the heavy side for the domain, though many are simple filter getters (9 of them) that could be consolidated. The breadth of discovery, enrichment, and export operations justifies the count, but it feels somewhat bloated.
Core workflows (discover, enrich, posts, overlap, exports) are covered. However, the descriptions reference create_batch_enrichment for bulk enrichment, which is not included in the toolset, creating a clear gap that could cause agent failures.
Maintenance
Related MCP Connectors
The official MCP Server for the Mux API
MCP server for Tomba email finder, verification, and contact enrichment API
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
Read-only access to InfluSense influencer discovery, ratings, watchlists, and reports via MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Instagram Graph API, Threads API & Meta platform — posting, insights, comments, messaging5730724MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for DataLikers — 29 hand-built tools for Instagram & TikTok data: user search by demographics (gender/age/race/country), profiles, engagement, hashtags, locations, business accounts, top-users. Local stdio via npx -y datalikers-mcp, requires only DATALIKERS_KEY.168MIT
- AlicenseAqualityFmaintenanceMCP server for Clay.com API providing people and company enrichment, and Clay table operations.74MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for organic Instagram analytics via the Meta Graph API, providing read-only tools for profiles, media, insights, audience, and optional publishing.GPL 3.0