Zernio
Server Details
Schedule, publish, and analyze social media across 15+ platforms, plus inbox, ads, and analytics.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- zernio-dev/zernio-python
- GitHub Stars
- 6
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.1/5 across 51 of 51 tools scored. Lowest: 1.7/5.
Many tools are clearly separated by domain prefix, but several overlap: posts_publish_now duplicates posts_create's publish_now mode, posts_edit_post vs posts_update is confusing without reading both descriptions, and analytics_get_analytics broadly overlaps the more specific analytics metrics tools. The descriptions do help disambiguate, but the large number of similar post/analytics helpers still creates selection risk.
Most tools follow a readable lower_snake resource_verb format, with domains like accounts_, posts_, profiles_, and queue_. However, there is notable drift: redundant suffixes (queue_create_queue_slot, tracking_tags_get_tracking_tag_stats), singular/plural mismatch (account_groups_ vs accounts_), non-prefixed helpers (call_tool, search_tools, docs_search), and paired verbs that seem arbitrary (posts_edit_post vs posts_update). It is readable but not cleanly consistent.
51 tools is far above the range where an agent can quickly select the right one, and many entries are wrappers or variants: publish_now, edit_post, retry_all_failed, and multiple analytics/queue helpers could be consolidated. The broad domain justifies more tools than a tiny server, but this count is excessive and will add navigation overhead.
The server covers the core social media management lifecycle well: profiles, accounts, posts, scheduling, queueing, analytics, comments, mentions, media uploads, tracking tags, and usage billing are all represented. There are minor gaps—tracking tags are read-only, there is no direct account connection/disconnection flow, and published-post deletion is unsupported—but agents can complete the main workflows with these tools.
Available Tools
52 toolsaccount_groups_list_account_groupsList groupsCRead-onlyInspect
List groups
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish a read-only, non-destructive operation, so the description adds no additional behavioral context. It does not disclose pagination, object scope, ordering, or what the returned groups represent.
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 short, but it is under-specified rather than helpfully concise. The word 'groups' is ambiguous and relies entirely on the tool name to clarify the resource being listed.
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 omits the central semantic point that this refers to account groups, and it offers no context to navigate the large sibling-tool list. The lack of parameters and the output schema aid invocation, but selection and understanding are still poorly supported.
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 the description cannot add meaningful parameter semantics. With zero parameters, the baseline is 4, and there is no parameter-information gap.
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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool versus the many sibling list operations such as accounts_list or profiles_list. The description gives no context, prerequisites, or alternatives for choosing this operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_getGet account details for a specific platformARead-onlyInspect
Get account details for a specific platform.
Returns username and ID for the first account matching the platform.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | Platform name: twitter, instagram, linkedin, tiktok, bluesky, facebook, youtube, pinterest, threads (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish this is read-only, and the description adds useful behavioral context beyond that: it returns only the username and ID for the first matching account, which is a non-obvious selection behavior. It does not contradict 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 short sentences, front-loaded with the main purpose and then the concrete return behavior. Every sentence adds meaningful information with 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?
For a single-parameter protected tool with an output schema and read-only annotations, the description is largely complete. The only minor gap is left unspecified what happens when no account matches the platform, but this is limited and 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 already provides 100% coverage for the platform parameter, listing the allowed platform names. The description does not add additional parameter semantics or examples, so it stays at the baseline while the schema carries the weight.
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 clear verb and resource: retrieving account details for a specific platform, and further specifies the exact return fields (username and ID). It is distinct enough from sibling tools like accounts_list or accounts_get_follower_stats by emphasizing the first matching account, though it doesn't explicitly name a sibling for contrast.
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 need details for an account tied to a specific platform. It does not explicitly state when not to use it or name alternative tools that would be better for listing all accounts or retrieving health metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_get_account_healthCheck account healthCRead-onlyInspect
Check account health
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | The account ID to check (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral detail beyond what readOnlyHint=true and destructiveHint=false already declare. It does not explain what 'health' means, what is checked, or what output to expect from the agent's perspective.
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 short to the point it is under-specified rather than concise. 'Check account health' repeats the title and does not earn its place by adding useful 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?
For a single-parameter tool with a read-only annotation and output schema, the description should at minimum clarify that it targets one account versus all accounts. The sibling accounts_get_all_accounts_health exists, and this description does not resolve the ambiguity.
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%, and account_id is documented as 'The account ID to check'. The description itself adds no parameter context, but the schema already carries the semantic load, 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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool versus accounts_get_all_accounts_health or accounts_get. No alternatives, exclusions, or selection criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_get_all_accounts_healthCheck accounts healthCRead-onlyInspect
Check accounts health
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by health status | |
| platform | No | Filter by platform | |
| profile_id | No | Filter by profile ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, and 'check' correctly aligns with that. However, the description discloses no additional behavioral context, such as what 'health' means, whether results are aggregated, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence is on its face concise, but it merely repeats the already-provided title and does not earn its place. It reads as under-specification rather than efficient communication.
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 schema and annotations provide solid fallback context, and the output schema exists. Still, the description alone does not make clear that this operation covers all accounts nor how it differs from the singular-account health tool, so the surrounding context is only minimally 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?
The input schema has 100% parameter description coverage for status, platform, and profile_id. The description itself adds no further parameter semantics, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool versus the closely related accounts_get_account_health or accounts_list. No context, conditions, or alternative names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_get_follower_statsGet follower statsCRead-onlyInspect
Get follower stats
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | No | End date in YYYY-MM-DD format (defaults to today) | |
| from_date | No | Start date in YYYY-MM-DD format (defaults to 30 days ago) | |
| profile_id | No | Filter by profile ID | |
| account_ids | No | Comma-separated list of account IDs (optional, defaults to all user's accounts) | |
| granularity | No | Data aggregation level | daily |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds no behavioral context beyond a read-only fetch. It does not mention how the stats are computed, whether the date range is inclusive, whether granularity affects defaults, or any other behavior that is not already obvious from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than valuable conciseness. The single sentence repeats the tool's title without adding content, so it does not earn its place in a helpful tool description.
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?
Even though the input schema is well-documented and an output schema exists, the description itself fails to communicate what follower stats measure, how they relate to accounts and profiles, or how the tool differs from sibling analytics tools. An agent relying on this description would not know the intent or boundaries of the tool without additional inference.
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 parameters are already well-documented with their defaults and meanings. The description contributes no extra parameter semantics, but the schema handles the burden fully.
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?
Tautological: description restates name/title.
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?
There is no guidance about when this tool should be used versus alternative analytics or account tools. It also does not mention whether the user must have an account, which account IDs are applicable, or what conditions would make a different sibling tool more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_listList all connected social media accountsARead-onlyInspect
List all connected social media accounts.
Returns the platform, username, and account ID for each connected account. Use this to find account IDs needed for creating posts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint and destructiveHint annotations already cover the safety profile, so the description doesn't need to repeat that. It does add that all accounts are returned rather than one, and identifies the resolution of output fields, but no deeper behavior like pagination or rate limits is discussed. This is acceptable given the zero-parameter and output schema context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: the first states the operation, the second describes the return contents, and the third gives the primary use case. No filler, front-loaded, and appropriately short.
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 a zero-parameter schema, output schema, and clear read-only annotations, this description is complete. It answers what, when, and why to call it, and connects to a real downstream need (creating posts) which helps agents compose workflows.
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?
There are no parameters, so the description has no burden to explain parameter semantics. The 100% schema coverage and empty properties are self-evident; 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 that the tool lists all connected social media accounts, naming the exact resource and scope. It also specifies the fields returned (platform, username, account ID), which differentiates it from account-level sibling tools like accounts_get, accounts_get_follower_stats, and health checks.
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 gives a concrete use case: 'Use this to find account IDs needed for creating posts.' This is clear guidance for when to apply the tool, though it doesn't explicitly state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_move_account_to_profileMove account to another profileCDestructiveInspect
Move account to another profile
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | (required) | |
| profile_id | Yes | Target profile ID (must be a valid ObjectId and owned by the same user as the account). (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, so the description does not contradict them, but it also adds no behavior beyond the word 'move'. It never explains what happens to the original profile association, whether the operation is reversible, or what side effects occur.
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 one short, front-loaded sentence with no filler, repetition, or extra clauses. Every word is necessary to convey the basic action, even though that action is minimal.
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 having annotations and a two-parameter schema, the description leaves the semantics of 'move' entirely to inference. It does not explain the effect on the account's original profile, any permission needs, or whether data is transferred, which is significant for a destructive operation. The presence of an output schema is not enough to compensate for this missing explanatory context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the profile_id parameter includes a meaningful constraint about valid ObjectId and same-user ownership. The description itself contributes nothing to parameter understanding, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tautological: description restates name/title.
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?
There is no guidance about when to use this tool versus siblings like accounts_get, profiles_update, or accounts_list. The description neither states when not to use it nor identifies alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_get_analyticsGet post analyticsCRead-onlyInspect
Get post analytics
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| limit | No | Page size (default 50) | |
| order | No | Sort order | desc |
| source | No | Filter by post source: late (posted via Zernio API), external (synced from platform), all (default) | all |
| post_id | No | Returns analytics for a single post. Accepts both Zernio Post IDs and External Post IDs. Zernio IDs are auto-resolved to External Post analytics. | |
| sort_by | No | Sort by date, engagement, or a specific metric | date |
| to_date | No | Inclusive upper bound (YYYY-MM-DD). Defaults to today if omitted. | |
| platform | No | Filter by platform (default "all") | |
| from_date | No | Inclusive lower bound (YYYY-MM-DD). Defaults to 90 days ago if omitted. Max range is 366 days. | |
| account_id | No | Filter by social account ID | |
| profile_id | No | Filter by profile ID (default "all") |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds no behavioral context beyond that. It does not mention date-range constraints, ID resolution, pagination, or aggregate semantics beyond what the schema already states.
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?
Being one sentence is not a virtue when the sentence is just a tautology. It is under-specified rather than genuinely concise, and no valuable 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?
With 11 optional parameters, multiple sibling analytics tools, and minimal annotations, the description is far from complete. The output schema helps with return-value clarity, but the description supplies no context for filtering, date ranges, or intended use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description itself adds no parameter meaning, but the schema carries the full burden adequately.
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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool versus the several sibling analytics endpoints. No alternatives, exclusions, or context for selection are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_get_best_time_to_postGet best times to postCRead-onlyInspect
Get best times to post
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Filter by post origin. "late" for posts published via Zernio, "external" for posts imported from platforms. | all |
| platform | No | Filter by platform (e.g. "instagram", "tiktok"). Omit for all platforms. | |
| account_id | No | Filter by social account ID. Omit for all accounts. | |
| profile_id | No | Filter by profile ID. Omit for all profiles. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral detail beyond what the annotations already say. readOnlyHint and destructiveHint cover only safety; the description does not explain what 'best times' means, whether any default time range applies, or how the filters influence the computation. No contradiction exists, but the description contributes little to transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no padding and no wasted words. That makes it concise, but it is also just a repetition of the title and lacks informative structure, so it does not earn a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are optional and fully documented, and an output schema exists, so the tool is minimally callable from the provided information. Still, the description leaves an important semantic gap: what data the 'best times' are based on, what period is considered, and why this differs from other analytics queries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all four parameters described in the input schema, including defaults and allowed values. The description adds no parameter information, so the baseline of 3 applies: 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?
Tautological: description restates name/title.
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, what scenario it is for, or which alternative might be preferable. The agent must infer usage entirely from the tool name and prefix, making this dimension largely unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_get_daily_metricsGet daily aggregated metricsARead-onlyInspect
Get daily aggregated metrics
Args:
platform: Filter by platform (e.g. "instagram", "tiktok"). Omit for all platforms.
profile_id: Filter by profile ID. Omit for all profiles.
account_id: Filter by social account ID
from_date: Inclusive start date (ISO 8601). Defaults to 180 days ago.
to_date: Inclusive end date (ISO 8601). Defaults to now.
source: Filter by post origin. "late" for posts published via Zernio, "external" for posts imported from platforms.
attribution: How each post's engagement is attributed to a day.
"publish" (default) sums each post's lifetime total on its publish date. "received" buckets the per-day increase in engagement by the day it actually arrived (engagement-over-time), so engagement on older posts appears on the day it was gained rather than the post's publish date.
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | all | |
| to_date | No | ||
| platform | No | ||
| from_date | No | ||
| account_id | No | ||
| profile_id | No | ||
| attribution | No | publish |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful behavioral context beyond the schema: inclusive ISO dates, the default 180-day lookback, source semantics ('late'/'external'), and the attribution difference between 'publish' and 'received'. It does not describe response shape, 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?
The opening sentence is a clear summary, and the parameter list is compact with each entry adding necessary context. The attribution explanation is longer, but the concept actually requires that level of detail. No filler or redundant restatement of the schema.
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 read-only tool with an output schema, the description fully covers the input parameters, their semantics, and defaults, so an agent can invoke it successfully. It is slightly incomplete on tool selection guidance because it does not say how this relates to analytics_get_analytics, which is a relevant sibling.
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 0%, so the description carries the full burden. It explains every parameter, including default null-to-date behavior, filter omission meaning, source values, and attribution modes. This is strong compensation for a schema with zero descriptions.
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?
States a concrete action and resource: 'Get daily aggregated metrics'. The description also gives the main filter dimensions, so an agent can tell it is a metrics-aggregation tool. However, it does not explicitly distinguish itself from sibling analytics tools such as analytics_get_analytics or analytics_get_post_timeline.
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 intended usage is implied by 'daily aggregated metrics' and by the parameter defaults and filter semantics, but there is no explicit statement about when to choose this tool over the other analytics siblings. It would benefit from saying 'use this for daily aggregate numbers; use analytics_get_analytics for X' or similar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_get_post_timelineGet post analytics timelineARead-onlyInspect
Get post analytics timeline
Args: post_id: The post to fetch timeline for. Accepts an ExternalPost ID, a platformPostId, or a Zernio Post ID. (required) from_date: Start of date range (ISO 8601). Defaults to 90 days ago. to_date: End of date range (ISO 8601). Defaults to now.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | ||
| to_date | No | ||
| from_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate read-only and non-destructive behavior, lowering the burden on the description. The description adds useful details like supported post ID formats and default date range, but it does not disclose any other behavioral traits such as error behavior, timezone handling, or metric aggregation semantics.
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 compact and front-loads the tool's purpose, but the opening line repeats the title verbatim rather than adding new information. After that, it efficiently covers parameters and defaults with 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 read-only post-timeline endpoint, the description provides all critical parameters and defaults needed to invoke it. The output schema likely documents the response shape, so lack of return-value detail is acceptable. It is not quite complete because it does not contextualize the result granularity or clarify how this timeline differs from sibling analytics tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though schema description coverage is 0%, the description fully compensates by explaining all three parameters. It clearly states that post_id accepts three ID formats, that from_date and to_date use ISO 8601, and what those dates default to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets a post analytics timeline, which identifies the resource and action. However, it does not differentiate itself from sibling analytics tools like analytics_get_daily_metrics or analytics_get_best_time_to_post, so it lands below a top score.
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 choose this tool over sibling analytics tools. It does not mention any alternatives, exclusions, or preferred contexts. While it explains date range defaults, that is parameter-level information, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
call_toolCall a tool discovered via searchADestructiveInspect
Call a tool by name with the given arguments.
Use this to execute tools discovered via search_tools.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the tool to call | |
| arguments | No | Arguments to pass to the tool |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already convey the important safety signal with destructiveHint=true, so the description does not need to restate it. The description adds context about search_tools provenance but does not explain that the effects and output depend on the named tool, leaving much of the behavioral burden on 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 with the main action front-loaded. It is concise, relevant, 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?
For a generic dispatcher with a low-complexity schema and strong annotations, the description is nearly complete: it indicates what to call, what to pass, and how candidates are discovered. A minor gap is that it does not explicitly state that the result or side effects depend entirely on the selected target tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description repeats what is already in the schema. It adds no guidance about how to construct the arguments object or where the allowed names come from, but the baseline is adequate because the schema already documents both 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 states a specific verb-resource action: 'Call a tool by name with the given arguments.' It also explicitly connects the tool to search_tools, distinguishing the invocation step from the discovery step.
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 clearly says to use this tool for executing tools discovered via search_tools. It does not name when-not conditions or explicit alternatives beyond the implicit search_tools relationship, so it stops just short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comments_get_inbox_post_commentsGet post commentsCRead-onlyInspect
Get post comments
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of comments to return | |
| cursor | No | Pagination cursor, returned by a previous call as `pagination.cursor`. This is the platform's own opaque paging value passed through verbatim: never construct, decode or validate it client-side. | |
| post_id | Yes | Zernio post ID or platform-specific post ID. Zernio IDs are auto-resolved. LinkedIn third-party posts accept full activity URN or numeric ID. On Facebook and Instagram, a comment ID is also accepted here and returns that comment's replies. (required) | |
| subreddit | No | (Reddit only) Subreddit name | |
| account_id | Yes | (required) | |
| comment_id | No | (Reddit only) Get replies to a specific comment |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is known. However, the description adds no behavioral detail beyond what annotations and schema already supply, such as pagination behavior, platform-specific resolving, or the fact that post_id can sometimes accept a comment ID.
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 short, but it is under-specified rather than meaningfully concise. It restates the title without earning its place as a tool definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the schema and output schema are rich, the description leaves the tool's intended context and relationship to sibling comment tools unexplained. An agent would need to infer core usage distinctions from the tool name alone.
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 every parameter already has semantic documentation in the schema. The description itself adds no parameter-level value, but the schema compensates fully.
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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool versus alternatives or what scenario it is intended for. The sibling list suggests related comment tools, but the description itself gives no explicit decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comments_list_inbox_commentsList commented postsCRead-onlyInspect
List commented posts
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | Posts created after this date | |
| cursor | No | ||
| sort_by | No | Sort field | date |
| platform | No | Filter by platform. `metaads` is a synthetic value meaning the user's ads (boosted/dark posts) only; `facebook`/`instagram` return organic posts only. | |
| account_id | No | Filter by specific social account ID | |
| profile_id | No | Filter by profile ID | |
| sort_order | No | Sort order | desc |
| min_comments | No | Minimum comment count |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already communicate that this is a safe read operation, but the description adds no behavioral detail beyond the bare 'list' action. It does not disclose pagination behavior, what fields are returned, which comment sources are included, or how filters such as min_comments affect results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than effective conciseness. It only restates the title and contributes no meaningful information for an agent selecting or invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and adjacent tools like comments_get_inbox_post_comments, the description is far too thin to provide sufficient context. It fails to define what a 'commented post' is, making it hard for an agent to choose this 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 description coverage is 78%, so the schema itself documents most parameters. The description adds no parameter semantics, but with high schema coverage the baseline is acceptable; it does not need to compensate heavily.
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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool versus alternatives. The description does not mention conditions, exclusions, or subtleties such as inbox filtering, platform/account scope, or relationship to other comment-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comments_reply_to_inbox_postReply to commentCDestructiveInspect
Reply to comment
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | (required) | |
| post_id | Yes | Zernio post ID or platform-specific post ID. LinkedIn third-party posts accept full activity URN or numeric ID. (required) | |
| root_cid | No | (Bluesky only) Root post CID | |
| root_uri | No | (Bluesky only) Root post URI | |
| account_id | Yes | (required) | |
| comment_id | No | Reply to specific comment (optional) | |
| parent_cid | No | (Bluesky only) Parent content identifier | |
| attachment_url | No | (Facebook only) URL of an image to attach, publishing a photo comment alongside the text. The URL must be publicly accessible so Meta can fetch it. Returns 400 for other platforms. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already convey that this is not read-only, likely has open-world effects, and is marked destructive, so the description is not the sole signal. However, the description adds no context beyond annotations—it does not explain what side effects replying to a comment has or why the destructive hint is set.
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 short, but it is under-specified rather than genuinely concise. It spends its single sentence saying exactly what the tool name and title already say, adding no structural or scoped information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has 8 parameters, platform-specific details, and a rich schema, the description should orient the agent to when and why this tool is the right one. The schema covers the parameter details, but the description's failure to provide any kind of behavioral context leaves the overall definition incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the 8 parameters is already individually documented in the input schema. The description adds no further parameter-level meaning, but the schema does the necessary work, keeping this 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?
Tautological: description restates name/title.
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?
There is no explanation of when to use this tool versus alternative comment or reply tools. The intended usage is only implied by the tool name and title, with no mention of exclusions, prerequisites, or alternative choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
docs_searchSearch the Late API documentationARead-onlyInspect
Search across the Late API documentation to find relevant information, code examples, API references, and guides.
Use this tool when you need to answer questions about Late, find specific documentation, understand how features work, or locate implementation details.
The search returns contextual content with section titles and relevant snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (e.g., 'webhooks', 'create post', 'authentication') (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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 value beyond annotations by disclosing what results look like: 'contextual content with section titles and relevant snippets.' This helps set expectations about return structure without contradicting 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?
Three sentences with no filler: the first states the operation, the second gives when to use it, the third describes the output format. It is front-loaded and each sentence 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?
Given the single-parameter schema, full schema coverage, and an output schema present, the description provides all necessary context for a search tool. The return behavior is described, safety is covered by annotations, and nothing an agent needs to invoke it correctly 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 coverage is 100%, including an example query ('webhooks', 'create post', 'authentication'), so the description need not elaborate further. The description adds no parameter-level detail, but the schema already fully documents the single query 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 and resource: 'Search across the Late API documentation.' It also enumerates the content types (code examples, API references, guides), and the named resource 'Late API documentation' distinguishes it from siblings like search_tools, which searches 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 gives explicit when-to-use guidance: answer questions about Late, find specific documentation, understand features, or locate implementation details. It does not explicitly contrast with alternatives like search_tools, but the condition is clear enough for an agent to route to this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_check_upload_statusCheck upload status and get file URLsARead-onlyInspect
Check the status of an upload token and get uploaded file URLs.
Use this after the user has uploaded files through the browser upload page. Returns: pending (waiting for upload), completed (files ready), or expired (token expired).
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | The upload token from media_generate_upload_link (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation as read-only and non-destructive. The description adds meaningful behavioral context by enumerating the possible statuses (pending, completed, expired) and indicating that file URLs are returned once complete.
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 only a few sentences long, front-loads the core purpose, and then provides actionable usage and return-value context without unnecessary detail. Every sentence contributes.
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, has only one required parameter, benefits from an output schema, and carries read-only annotations. The description adds the missing workflow context and status semantics, making it complete for an agent to call 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 token parameter is already fully described in the schema, including its source. The description restates that a token is involved but adds no new structural or format details, so the schema carries the parameter documentation weight.
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 and resource: checking the status of an upload token and retrieving file URLs. It clearly describes the tool's outcome and differentiates it from the related generation flow by mentioning the browser upload stage.
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 explicitly tells when to use the tool: after the user has uploaded files through the browser upload page. It does not name alternatives or state when not to use it, but the usage context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_generate_upload_linkGenerate an upload URL for media filesADestructiveInspect
Generate a unique upload URL for the user to upload files via browser.
Use this when the user wants to include images or videos in their post. The flow is:
Call this tool to get an upload URL
Ask the user to open the URL in their browser
User uploads files through the web interface
Call media_check_upload_status to get the uploaded file URLs
Use those URLs when creating the post with posts_create
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds important behavioral context beyond the annotations: the tool does not upload files itself, the user must open the browser URL, and a subsequent status-check call is needed to get the real uploaded file URLs. It does not expand on what the destructiveHint annotation might be protecting against, but it at least provides a full interactive flow.
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 efficient: a single defining sentence followed by a compact numbered flow. Every sentence earns its place, and the most important purpose ('generate an upload URL') 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 zero-parameter tool with an output schema, the description covers everything an agent needs: the trigger condition, the full upload workflow, the next tool to call, and how the finished URLs fit into post creation. Nothing important for executing the tool correctly 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 input schema is empty, so with zero parameters there is almost no semantic burden on the description. The description correctly avoids claiming any inputs, and the schema itself already provides unambiguous parameter information.
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: generate a unique upload URL for media files. It also gives the exact purpose—letting a user upload files via browser before creating a post—so an agent can distinguish this tool from related media and publishing 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 says 'Use this when the user wants to include images or videos in their post' and provides a numbered flow that explains when to call the tool and what the next steps are. No alternatives are needed here because the workflow is explicit and the progression to media_check_upload_status and posts_create is described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mentions_list_inbox_mentionsList mentionsCRead-onlyInspect
List mentions
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | Cursor for pagination (ID of the last item from the previous page) | |
| account_id | No | Filter by social account ID | |
| profile_id | No | Filter by profile ID | |
| sort_order | No | Sort order by publishedAt | desc |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false. The description adds no behavioral detail beyond that, such as pagination behavior, sorting implications, or which mention states are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three words is not conciseness; it is under-specification. There is no useful content to front-load, and the sentence 'List mentions' does not earn its place because it merely repeats the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with five optional filtering and pagination parameters, the description should explain what populations of mentions are returned, how filters interact, or how pagination works. None of this context exists, despite the schema carrying some parameter details.
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 80%, with cursor, account_id, profile_id, and sort_order already documented in the input schema. The description itself adds no parameter meaning, so it earns the baseline 3 rather than compensation credit.
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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool or when to prefer an alternative. The description does not explain whether this is the standard path for reading inbox mentions or how it relates to the sibling mention-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mentions_reply_to_mentionReply to a mentionCDestructiveInspect
Reply to a mention
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The reply text (required) | |
| media_id | Yes | The ID of the media the account was mentioned in (required) | |
| account_id | Yes | The Instagram social account ID (required) | |
| comment_id | No | The mentioning comment's ID. Omit for a caption mention. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, which the description does not contradict — it is consistent with a write/destructive operation. However, the description adds no behavioral context beyond that, such as the fact that the reply is publicly posted or has side effects on the external Instagram platform. With annotations covering the safety profile, a neutral score is appropriate.
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 maximally short but it spends its 'sentence' as a tautology of the title, so it contributes no information and does not earn its place. It is under-specification rather than disciplined conciseness, especially for a tool with a nuanced omit-for-caption-mention parameter.
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 parameter semantics and the tool's basic action are adequately covered by the schema and the tool name, and an output schema exists, so return-value explanation is not needed. The definition is still incompletely specified: it provides no context about when mentions vs. comments replies apply, why destructiveHint=true matters, or what behavior an agent should expect on the Instagram side. This is the minimum viable level.
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 four parameters (message, media_id, account_id, comment_id) have explicit descriptions, including the subtle caption-vs-comment-mention behavior of comment_id. The description itself adds nothing about parameters, but the schema fully documents them, so the baseline of 3 applies without a need for compensation.
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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool vs. alternatives. Given that the sibling list contains comments_reply_to_inbox_post and mentions_list_inbox_mentions, an agent has no basis for deciding whether to reply via a mention or via an inbox comment, or whether a caption mention should be handled differently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_bulk_upload_postsBulk upload from CSVDDestructiveInspect
Bulk upload from CSV
Args: dry_run
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark readOnlyHint false and destructiveHint true, so the agent knows this is mutating, but the description adds no context about what the destructive behavior is or what side effects occur. The only behavioral clue is the 'dry_run' argument name, but the description never explains that dry_run might prevent actual changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but this is under-specification rather than valuable conciseness. 'Args: dry_run' looks like a placeholder and does not provide meaningful content that helps an agent call the tool correctly.
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 destructive annotation, the massive sibling tool list, and zero parameter schema coverage, the description is severely incomplete. Missing critical information includes how the CSV is supplied, what dry_run actually controls, which post fields are expected, and whether bulk upload is additive or can replace/delete existing posts.
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 0%, and the description merely repeats the parameter name 'dry_run' without explaining what it controls or how it should be used. A parameter named dry_run is far from self-explanatory, and the description must compensate but does not.
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, 'Bulk upload from CSV', exactly matches the tool's title and name, so it is almost a pure tautology rather than a substantive explanation. It identifies a verb and resource, but an agent gets no detail about whether this creates new posts, replaces existing ones, or imports into a queue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use bulk upload versus sibling tools like posts_create or posts_cross_post. The description does not state prerequisites, scenarios, or exclusions, so the agent cannot decide between this tool and alternatives based on the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_createCreate a social media post (draft, scheduled, or immediate)ADestructiveInspect
Create a social media post. Can be saved as DRAFT, SCHEDULED, or PUBLISHED immediately.
⚠️ IMPORTANT - Choose the correct mode based on user intent:
DRAFT MODE (is_draft=True) Use when user says: "draft", "borrador", "save for later", "don't publish", "save it", "guardar" → Post is saved but NOT published and NOT scheduled. User can edit it later.
IMMEDIATE MODE (publish_now=True) Use when user says: "publish now", "post now", "publica ya", "immediately", "right now", "ahora" → Post goes live IMMEDIATELY.
SCHEDULED MODE (default) Use when user says: "schedule", "programar", "in X minutes/hours", "at 3pm", "tomorrow" → Post is scheduled for future publication. Use schedule_minutes to set the delay.
⚠️ MULTI-ACCOUNT USERS (agencies, multi-client setups):
If the user has more than one account on the target platform, you MUST pass
account_id. Call accounts_list (or profiles_list then accounts_list)
first to discover the right ID. If you omit account_id when multiple accounts
exist, the tool returns an error listing the candidates - use it to retry.
Examples:
"Create a draft tweet" → is_draft=True
"Post this to Twitter now" → publish_now=True
"Schedule a LinkedIn post for 2 hours from now" → schedule_minutes=120
"Post this to Acme's Twitter" → call accounts_list, find Acme's twitter ID, pass account_id
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Post title (required for YouTube, recommended for Pinterest) Default: . | |
| content | Yes | The post text/content (required) | |
| is_draft | No | Set to True to save as DRAFT (not published, not scheduled). Use when user wants to save without publishing Default: False. | |
| platform | Yes | Target platform: twitter, instagram, linkedin, tiktok, bluesky, facebook, youtube, pinterest, threads (required) | |
| account_id | No | Specific account ID to post from. REQUIRED when the user has multiple accounts on this platform. Call accounts_list first to find IDs. Leave empty only if there is exactly one account for this platform. Default: . | |
| media_urls | No | Comma-separated URLs of media files to attach (images, videos) Default: . | |
| profile_id | No | Scope account resolution to one profile (e.g. one client in an agency setup). Use when account_id is unknown but the target profile is. Call profiles_list to find IDs. Default: . | |
| publish_now | No | Set to True to publish IMMEDIATELY. Post goes live right now Default: False. | |
| schedule_minutes | No | Minutes from now to schedule. Only used when is_draft=False AND publish_now=False Default: 60. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real behavioral context beyond annotations: draft posts are saved but not published/scheduled, immediate mode goes live right away, scheduled mode publishes later, and omitted account_id triggers a recoverable error listing candidates. This is strong transparency and does not contradict 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 structure is exemplary: a short top-level summary, mode-specific headers, bolded parameter names, explicit Spanish/English usage phrases, and examples with minimal redundancy. It is long, but every block earns its place by resolving a high-stakes ambiguity for a 9-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 9 parameters, a multi-account pitfall, and schema coverage, this description gives enough to avoid the most common failures: mode confusion, missing account_id, and scheduling semantics. It covers recovery from error, and the output schema exists, so the description does not need to explain return values.
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 parameters are already documented in the schema, so the baseline is 3. The description adds extra value by explaining the interplay between is_draft, publish_now, schedule_minutes, account_id, and profile_id via concrete user phrases and examples, therefore lifting it above 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 title and description clearly state the tool creates a social media post and identifies the three possible states (draft, scheduled, immediate). This distinctively differentiates it from sibling tools like posts_publish_now, posts_edit_post, and posts_list by emphasizing the create-and-mode-selection behavior.
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 tool gives explicit, thoughtful usage guidance by tying specific user phrases to each mode and requiring account_id discovery via accounts_list for multi-account users. It lacks an explicit 'not this tool' statement for neighboring create-related siblings like posts_cross_post or posts_publish_now, so it is clear but not fully exclusionary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_cross_postPost the same content to multiple platformsADestructiveInspect
Post the same content to multiple platforms at once.
⚠️ IMPORTANT - Choose the correct mode based on user intent:
DRAFT MODE (is_draft=True) Use when user says: "draft", "borrador", "save for later", "don't publish" → Posts are saved but NOT published. User can edit them later.
IMMEDIATE MODE (publish_now=True) Use when user says: "publish now", "post now", "immediately" → Posts go live IMMEDIATELY on all platforms.
SCHEDULED MODE (default) Use when user says: "schedule", "programar", "in X hours" → Posts are scheduled for 1 hour from now.
⚠️ MULTI-ACCOUNT USERS:
To pick a specific account per platform, pass
account_idsparallel toplatforms(same order, comma-separated). Use empty string for a position to fall back to profile/auto-resolution.To target multiple accounts of the SAME platform in one call, repeat the platform: platforms='twitter,twitter', account_ids='acc_a,acc_b'.
If you omit account_ids and the user has multiple accounts for any of the requested platforms, the tool errors with the candidate list - use it to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The post text/content (required) | |
| is_draft | No | Set to True to save as DRAFT (not published). Use when user wants to save without publishing Default: False. | |
| platforms | Yes | Comma-separated list of platforms (e.g., 'twitter,linkedin,bluesky'). Repeat a platform to target multiple accounts of it: 'twitter,twitter'. (required) | |
| media_urls | No | Comma-separated URLs of media files to attach Default: . | |
| profile_id | No | Scope auto-resolution to one profile when account_ids is empty. Default: . | |
| account_ids | No | Comma-separated account IDs, parallel to `platforms`. Empty positions fall back to profile/auto-resolution. Required for multi-account users to disambiguate. Default: . | |
| publish_now | No | Set to True to publish IMMEDIATELY to all platforms Default: False. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond destructiveHint=true, it explains that drafts stay unpublished, immediate posts go live on all platforms, the default schedule is one hour out, and multi-account resolution can fail with a candidate list. It does not explicitly state irreversibility or rate limits, but annotations already cover the destructive nature.
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 well-structured with scannable mode blocks and multi-account bullets, and the purpose is front-loaded. It is somewhat long, but most sentences carry necessary selection or retry behavior.
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 7-parameter cross-posting tool, the description is largely complete: required params are clear, mode behavior is specified, and multi-account errors are explained. The main caveat is that SCHEDULED MODE says 'in X hours' but actually schedules for 1 hour from now, which can mislead an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds real meaning by tying is_draft and publish_now to mode selection and by explaining account_ids parallel ordering, empty-string fallback, and repeated platform names. It does not address conflicts like both is_draft and publish_now being true, which is a minor gap.
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 opening sentence states a concrete action and scope: 'Post the same content to multiple platforms at once.' This clearly distinguishes the tool from single-platform siblings like posts_create and posts_publish_now.
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 gives explicit intent-based triggers for draft, immediate, and scheduled modes, including user phrases and default behavior. It stops short of a 5 because it does not explicitly name sibling alternatives or state when not to use cross-posting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_deleteDelete a postADestructiveInspect
Delete a post by ID.
Published posts cannot be deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | The post ID to delete (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal that this is destructive and not read-only; the description adds a useful guardrail by stating that published posts cannot be deleted. It doesn't describe side effects, soft-delete behavior, or error handling, but the annotation plus limitation is enough for a modest score.
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 only two sentences, with no filler. The main action is front-loaded, and the crucial constraint about published posts immediately follows.
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 single-parameter destructive operation with an output schema present, the description covers the what, the required parameter, and the primary state restriction. No extra information about return values is necessary because the output schema exists, and the destructive behavior is already annotated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, and the schema already describes post_id as 'The post ID to delete (required).' The description's usage of 'by ID' adds no new semantics, so it rests at baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('delete a post') and the ID-based targeting, which is specific enough to distinguish from post-creation, listing, and editing tools. However, it does not explicitly contrast with the related sibling posts_unpublish_post, so the differentiation is not maximally explicit.
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 conveys an important limitation: 'Published posts cannot be deleted,' which implicitly tells an agent when not to use this tool. It does not identify alternative workflows or sibling tools (e.g., unpublishing first), so usage guidance remains implied rather than fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_edit_postEdit published postCDestructiveInspect
Edit published post
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The new post text content (required) | |
| post_id | Yes | (required) | |
| platform | Yes | The platform to edit the post on. (required) | |
| account_id | No | Which account's copy of the post to edit when the post was published to several accounts on the same platform; defaults to the first. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal destructiveHint=true and readOnlyHint=false, but the description adds no behavioral context of its own. It does not mention immediate effects on the published post, whether the change is reversible, or any platform/account consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief, but brevity here is under-specification rather than effective conciseness. It adds no structure or useful framing beyond the tool title.
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 large sibling toolset for posts, the description is too sparse to help an agent select this tool over posts_update, posts_delete, or posts_publish_now. The schema and annotations support invocation but the description's lack of context leaves the tool's place in the workflow ambiguous.
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 carries the parameter details and the description does not need to repeat them. The description itself contributes no parameter-level meaning, but the baseline 3 applies because properties like account_id are already documented reasonably well.
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?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use context is given. The description does not say to use this for editing already-published posts versus drafts or scheduled posts, and does not mention alternatives such as posts_update or posts_publish_now.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_getGet details of a specific postARead-onlyInspect
Get full details of a specific post including content, status, and scheduling info.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | The post ID to retrieve (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety behavior is covered. The description adds useful context about what is returned (content, status, scheduling info), but it does not disclose operational details such as pagination, authorization, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with a clear verb, object, and scope. Every word carries meaning; there is no repetition of the tool name or generic 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?
This is a simple, read-only getter with one required parameter and an output schema. Together, the description and schema provide enough for an agent to know what the tool does, what input is required, and what to expect, without extra prose.
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: post_id is already documented as the ID to retrieve and is marked required. The description adds no extra parameter-level information beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get'), a clearly scoped resource ('a specific post'), and specific details (content, status, scheduling info). It distinguishes from posts_list by emphasizing 'specific post', though it does not explicitly name sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (retrieving full details for a single post, including status/scheduling info), but it does not explicitly state when to prefer this tool over alternatives like posts_list or when not to use it. No alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_listList posts with optional filteringARead-onlyInspect
List posts with optional filtering by status.
Status options: draft, scheduled, published, failed
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of posts to return Default: 10. | |
| status | No | Filter by status: draft, scheduled, published, failed. Leave empty for all posts Default: . |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already carry readOnlyHint and destructiveHint safety, so the read-only behavior is known. The description adds little beyond that—there is no mention of ordering, pagination, or how the list is scoped, but it does not contradict 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 short, front-loaded with the purpose, and lists status options in an easy-to-scan line. It wastes little space, though the first sentence is largely a restatement of the tool title.
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 list tool with two fully documented parameters, an output schema, and clear annotations, the description is almost complete enough. The remaining gap is mainly the sibling choice between posts_list and posts_list_failed, which belongs more to usage routing than basic invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both limit and status are already fully documented with defaults and value options. The description only repeats the status values from the schema without adding deeper meaning, so it stays at the high-coverage 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 the verb and resource: 'List posts' with optional filtering by status. It gives enough scope to distinguish from post creation, retrieval, and deletion siblings, though it does not explicitly disambiguate from the near name posts_list_failed.
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 intended use is implied: browse posts, optionally narrowed by status, with clear status options listed. However, the description never says when not to use it or which sibling alternative to choose, especially since posts_list_failed also exists and overlaps with the failed status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_list_failedList all failed postsARead-onlyInspect
List all failed posts that can be retried.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of posts to return Default: 10. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read-only nature is covered. The description adds the meaningful 'retry-eligible failed posts' filter, but does not discuss pagination or how 'failed' is defined.
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 short sentence with no filler. It front-loads the action and includes essential scoping information ('failed posts' and 'that can be retried') without 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 read-only list tool with zero required parameters, a documented limit, and an output schema present, this description is sufficient for correct invocation. It does not explain failure status scope or pagination behavior, but those are minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, limit, is already fully documented in the schema with its default value. The description adds no additional meaning about the limit parameter, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('failed posts'), and adds the eligibility qualifier 'that can be retried.' This distinguishes it clearly from broader tools like posts_list and from retry actions like posts_retry or posts_retry_all_failed.
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 'that can be retried' gives useful context about what subset is returned, implying it is useful for inspecting retry candidates. However, it provides no explicit guidance about when to prefer this tool over other list/retry sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_publish_nowPublish a post immediatelyADestructiveInspect
Publish a post immediately to a platform. The post goes live right away.
Use this when user explicitly wants to publish NOW, not schedule for later. This is a convenience wrapper around posts_create with publish_now=True.
⚠️ MULTI-ACCOUNT USERS: pass account_id when the user has more than one
account on this platform. Call accounts_list first to find the right ID.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The post text/content (required) | |
| platform | Yes | Target platform: twitter, instagram, linkedin, tiktok, bluesky, etc. (required) | |
| account_id | No | Specific account ID. REQUIRED when the user has multiple accounts on this platform. Leave empty only if there is exactly one. Default: . | |
| media_urls | No | Comma-separated URLs of media files to attach Default: . | |
| profile_id | No | Scope auto-resolution to a single profile when account_id is unknown. Default: . |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readHint=false and destructiveHint=true. The description adds that the post 'goes live right away', identifies the wrapper relationship to posts_update, and warns about multi-account behavior with a clear list lookup step. It doesn't fully discuss reversibility or failure handling, but the destructive annotation covers the core risk.
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 paragraphs front-load the core action, then add usage context and a warning. Every sentence earns its place, and the warning is appropriately emphasized with a bullet and icon. No unnecessary 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 full input schema, output schema, and annotations, the description adds the key missing decision criteria: when to use it, how to handle multiple accounts, and how to resolve the account via the accounts_list call. Nothing essential is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented. The description reinforces 'account_id' for multi-account scenarios, but the schema already states the same requirement; it adds little beyond what's structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states a specific action: 'Publish a post immediately to a platform' and reinforces the result ('The post goes live right away'). It distinguishes itself as 'a convenience wrapper around posts_create with publish_now=True', which differentiates it from siblings like posts_create and posts_cross_post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly defines when to use: 'Use this when user explicitly wants an immediate post NOW, not schedule for a later time.' It also provides a clear prerequisite for multi-account users: 'pass account_id' and 'Call accounts_list first.' Alternatives are implied through the wrapper reference, and the condition is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_retryRetry a failed postADestructiveInspect
Retry publishing a failed post. Only works on posts with 'failed' status.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | The ID of the failed post to retry (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark this as non-read-only and destructive, so the description does not need to restate those traits. It adds useful behavioral context by noting the failed-status requirement and clarifying that the tool triggers a publishing retry rather than a generic update.
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 minimal, clear, and front-loads the core action in the first sentence. The additional sentence earns its place by stating the only-supported status, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter, full schema coverage, an output schema, and annotations that already disclose side effects, the description is complete enough for effective use. The missing detail about all-failed retries is not essential because sibling names communicate that distinction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents post_id with 100% description coverage. The tool description adds no additional parameter-level detail beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: retry publishing a failed post. It also narrows the scope to posts with 'failed' status, which distinguishes this tool from similar publishing/retry-related siblings like posts_publish_now and posts_retry_all_failed.
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 gives a clear precondition: only use this tool on posts with 'failed' status. It does not explicitly name an alternative for retrying all failed posts, but the scope is specific enough to guide basic tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_retry_all_failedRetry all failed postsBDestructiveInspect
Retry all failed posts at once.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey the non-read-only and destructive nature, and the description adds a meaningful behavioral nuance: it acts on all failed posts in a single operation. However, it does not disclose potential side effects such as re-publishing content, creating duplicate activities, or whether the retry is immediate and irreversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise single sentence and is front-loaded with the key action. It loses one point because it mostly restates the title with only 'at once' adding new information, making it slightly redundant rather than truly additive.
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 output schema exists and annotations cover the destructive profile, the description is minimally adequate. Still, for a zero-parameter bulk action, an agent would benefit from more context about the scope of 'all failed posts' and what a retry entails, so the description leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters and the input schema already reflects that fully, so there is no gap to compensate for. Baseline 4 is appropriate since the description is not required to explain any 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 action (retry) and resource (all failed posts), and 'all ... at once' semantically distinguishes it from the single-action sibling posts_retry. However, it does not explicitly name or contrast itself with that sibling, so the differentiation is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like posts_retry or posts_list_failed. The intended context is only implied by the wording 'all failed posts,' and no exclusions or preconditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_unpublish_postUnpublish postCDestructiveInspect
Unpublish post
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | (required) | |
| platform | Yes | The platform to delete the post from (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral context beyond the annotations. The destructiveHint annotation already signals mutation/deletion risk, and the description merely repeats 'Unpublish post' without explaining side effects, reversibility, permission needs, or impact on the post.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but this reads as under-specification rather than effective conciseness. A useful description would briefly explain the unpublish action and its scope while remaining succinct.
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 this is a destructive, platform-scoped tool with meaningful sibling tools, the description is not complete enough. It does not clarify what 'unpublish' does, contrast with related posts tools, or explain what happens to the post.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema carries most of the parameter meaning. However, post_id is only described as '(required)', and the tool description adds no further semantic value to either 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?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus siblings like posts_delete, posts_publish_now, or posts_retry. The agent is left to infer use cases and exclusions entirely from the tool name and parameter hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
posts_updateUpdate an existing postADestructiveInspect
Update an existing post.
Only draft, scheduled, and failed posts can be updated. Published posts cannot be modified.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | New title (leave empty to keep current) Default: . | |
| content | No | New content (leave empty to keep current) Default: . | |
| post_id | Yes | The post ID to update (required) | |
| scheduled_for | No | New schedule time as ISO string (leave empty to keep current) Default: . |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=false and destructiveHint=true, so the mutation nature is attested. The description adds the status restriction, which is useful behavioral context, but it does not describe side effects such as overwriting fields or whether updates are partial.
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 compact and front-loaded: the first sentence names the action, and the following sentences sharpen the intended use. Every sentence earns its place without filler or 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?
For a four-parameter tool with a required post_id, full schema coverage, an output schema, and annotations, the description covers core behavior and usage restrictions. It is slightly incomplete because it does not clarify how `posts_update` differs from the sibling `posts_edit_post`.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters. The description adds no parameter-level meaning beyond what the input schema provides, so the 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?
Description clearly states the verb 'Update' and the resource 'an existing post', and the status restrictions add scope. It does not adequately distinguish itself from the sibling tool `posts_edit_post`, since both appear to target existing posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says draft, scheduled, and failed posts can be updated and that published posts cannot. This gives clear when-to-use and when-not-to-use context, though it does not explicitly name alternative tools or workflows for published posts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_createCreate a new profileADestructiveInspect
Create a new profile for grouping social accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Profile name (required) | |
| color | No | Optional hex color (e.g., '#4CAF50') Default: . | |
| description | No | Optional description Default: . |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal the mutation/destructive behavior (readOnlyHint=false, destructiveHint=true), so the description does not need to repeat that. It adds the contextual detail 'for grouping social accounts' but does not disclose any further side effects, prerequisites, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise, front-loaded sentence. It clearly states the action and purpose with zero 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?
The tool is straightforward, the schema documents all parameters, and an output schema exists. The description plus schema provide enough information for an agent to create a profile correctly, though a bit more detail about naming rules or side effects would push it higher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are fully documented in the schema itself. The description adds no additional parameter semantics beyond naming the purpose, which is acceptable given the baseline of 3 for complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('create') and resource ('profile'), and explains the purpose ('grouping social accounts'). This clearly distinguishes it from sibling operations like profiles_update, profiles_delete, and profiles_list.
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 creating a new profile), but it does not explicitly state when not to use it or mention alternative tools such as profiles_update for modifying existing profiles. Some guidance is left to inference from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_deleteDelete a profileADestructiveInspect
Delete a profile. The profile must have no connected accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | The profile ID to delete (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide destructiveHint=true and readOnlyHint=false, so the description is not required to repeat that behavior. The description adds the precondition about connected accounts, which is useful, but it does not disclose what happens if the precondition is violated or whether the deletion is permanent. The behavior is adequately covered by 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 short sentences with no unnecessary words. The core action is front-loaded, and the precondition is presented cleanly. Every sentence contributes meaningful 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?
For a simple delete operation with one parameter, an output schema, and strong annotations, the description is complete enough. It states the critical precondition, which is the main contextual risk. A slightly fuller note on consequences of the preconditions would be ideal, but the current level is 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?
The schema has full description coverage for the single profile_id parameter, including a handy statement that it is required. The description does not add extra meaning beyond the schema, so the baseline score of 3 is used.
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 as 'Delete a profile', specifying both the resource and the operation. It distinguishes itself from sibling tools like profiles_get and profiles_update by explicitly identifying the deletion lifecycle action. The added precondition about connected accounts further sharpens the 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 only usage guidance is the precondition 'The profile must have no connected accounts', which implicitly tells the agent when deletion is valid. However, it does not explicitly name alternative tools or describe when not to use this tool beyond the precondition. This is clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_getGet details of a specific profileARead-onlyInspect
Get details of a specific profile including name, description, and color.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | The profile ID (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description's 'Get details' is consistent with that. The description adds minor context by naming returned fields, but does not disclose additional behavior such as permissions, results, error cases, or pagination.
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 one concise sentence that states the purpose and a few representative fields. It is front-loaded and there is no significant waste, though it is close to the title in 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?
For a simple single-parameter get tool with readOnlyHint=true, destructiveHint=false, and an output schema present, the description is sufficient for invocation. It could add more sibling-comparison guidance, but none is strictly necessary for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers the single profile_id parameter 100% and marks it required, so the schema carries the parameter documentation burden. The description adds little beyond implying that the target is a profile, which is appropriate given coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Get') and resource ('details of a specific profile') and lists example fields. It is easy to distinguish from profiles_list, profiles_create, and profiles_update because it focuses on retrieving a single profile, though it does not explicitly call out a sibling.
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 the use case: retrieve details of one profile. However, it does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention an alternative like profiles_list for enumerating profiles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_listList all profilesARead-onlyInspect
List all profiles.
Profiles group multiple social accounts together for easier management.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the readOnlyHint and destructiveHint annotations, and adds the conceptual detail that profiles group social accounts. It does not describe pagination, ordering, or response shape, but for a read-only list tool the annotations carry much of the burden.
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 short and front-loaded with the core behavior. The second sentence provides helpful domain context without adding unnecessary length, though it is not strictly required to invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only list tool with an output schema, the description is sufficient for selecting and invoking the tool. The only missing contextual detail is possible behavior such as pagination or ordering, which is not essential here.
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 there is no parameter-usage burden for the description to carry. The empty schema is consistent with the stated behavior of listing all profiles without filters.
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 and resource: 'List all profiles.' The second sentence adds useful conceptual context by explaining that profiles group multiple social accounts together. It does not explicitly differentiate from sibling tools like profiles_get or account_groups_list_account_groups, but the intent 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 use case is implied: an agent needing the full set of profiles should call this tool. However, there is no explicit guidance about when to prefer this over similar list tools such as accounts_list or account_groups_list_account_groups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_updateUpdate an existing profileADestructiveInspect
Update an existing profile. Only provided fields will be changed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name (leave empty to keep current) Default: . | |
| color | No | New hex color (leave empty to keep current) Default: . | |
| is_default | No | Set as default profile Default: False. | |
| profile_id | Yes | The profile ID to update (required) | |
| description | No | New description (leave empty to keep current) Default: . |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase 'Only provided fields will be changed.' adds important partial-update semantics that the annotations (destructiveHint) do not convey. It clearly communicates that omitted fields are preserved, which is valuable for correct invocation, though it does not detail other side effects such as validation 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 two short sentences with no fluff or repetition. The key semantic rule is stated in the second sentence, making the description easy to skim while still being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a defined output schema and 100% schema parameter coverage, the description is sufficient for an agent to invoke it correctly. It covers the crucial partial-update behavior and clarifies scoped the invocation; a missing guidance on profile lifecycle context is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds a cross-parameter rule: only provided fields are changed. This clarifies that omitted parameters are not reset, which is especially useful for fields like is_default with a schema default of false. This goes beyond the per-field schema notes.
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 precise verb-resource pair, 'Update an existing profile', making the operation unambiguous. It also differentiates itself from siblings like profiles_create, profiles_delete, and profiles_get by using the word 'existing' and the update verb.
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 word 'existing' implies the profile must already be there, but there is no explicit guidance about when to choose this over profiles_create or when not to use it. The context of updating is clear, but no alternatives or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queue_create_queue_slotCreate scheduleCDestructiveInspect
Create schedule
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Queue name (e.g., Evening Posts) (required) | |
| slots | Yes | (required) | |
| active | No | ||
| timezone | Yes | IANA timezone (required) | |
| profile_id | Yes | Profile ID (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already show destructiveHint=true and readOnlyHint=false, so the agent knows this is a mutating operation. The description adds no additional behavioral context—nothing about side effects, idempotency, required permissions, or what the mutation does to existing schedules. It does not contradict the annotations, but it also does not go beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence is concise, but it is under-specified to the point of being tautological. It has no useful content beyond repeating the tool title, so the sentence does not actually earn its place in the definition.
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 destructive create operation with 5 parameters, an output schema, and many sibling queue tools, this description is completely inadequate. It omits what name, timezone, profile_id, and slots are used for, how they relate, and what effect creating a queue slot has. The annotations tip off destructiveness, but the description leaves the agent unable to build a correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80% (4 of 5 params have descriptions), so the schema itself provides most of the meaning. The description adds no parameter detail, but with high schema coverage the baseline of 3 is appropriate. The 'slots' parameter is only marked '(required)', so some ambiguity remains, but the tool description could have compensated for that gap and does not.
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?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No context is provided about when to use this tool versus alternatives such as queue_update_queue_slot or queue_list_queue_slots. The description implies a creation action, but gives no prerequisites, no conditions, and no guidance on choosing this over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queue_delete_queue_slotDelete scheduleCDestructiveInspect
Delete schedule
| Name | Required | Description | Default |
|---|---|---|---|
| queue_id | No | Queue ID to delete. Omit to delete all queues for the profile | |
| profile_id | Yes | (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already communicate destructiveHint=true and readOnlyHint=false, so the description adds no new behavioral information. It fails to disclose the scope of destruction, particularly that an omitted queue_id results in deleting all queues for the profile. With no extra behavioral context beyond what annotations provide, this is a minimal score.
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?
'Delete schedule' is not merely concise; it is under-specified. It provides no usable structure or front-loaded decision cues. A two-word phrase that repeats the title is closer to missing content than to effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation, the description fails to convey the resource being affected (queue slot, schedule, or all queues) or the implications of optional queue_id. Although the output schema exists, the description leaves critical operational semantics to the agent to infer from the name and 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?
The input schema provides full documentation for both parameters, including the critical rule that omitting queue_id deletes all queues for the profile. With 100% schema description coverage, the description does not need to add parameter details, meeting 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?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to select this tool over alternatives such as queue_update_queue_slot or queue_list_queue_slots. There is no mention of the critical behavior that omitting queue_id deletes all queues for a profile, which is essential for safe usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queue_get_next_queue_slotGet next available slotCRead-onlyInspect
Get next available slot
| Name | Required | Description | Default |
|---|---|---|---|
| queue_id | No | Specific queue ID (optional, defaults to profile's default queue) | |
| profile_id | Yes | (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false) already disclose the safety profile, but the description adds no behavioral context on top of that — it does not say whether the slot is reserved, whether the result is stable across calls, or how it behaves when no slot exists. The description is not contradictory to the annotations, but its contribution beyond them is effectively zero.
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 five-word sentence with no wasted words, so it is appropriately short. However, this counts as under-specification rather than genuine economy — the sentence conveys no information beyond the title, so brevity is achieved by saying almost nothing.
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 output schema exists, so the return shape does not need to be described, but the description omits the one thing that would make the tool actionable: what 'next available' actually means (i.e., how the slot is determined relative to the queue and current time). Neither does it clarify how this relates to profile_id vs queue_id selection, leaving agents to guess the tool's semantics even when they know how to pass the arguments.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even though the description text adds nothing about the parameters. queue_id is adequately described in the schema ('Specific queue ID (optional, defaults to profile's default queue)'), but the profile_id description is the tautology '(required)' — the description itself does not compensate for that weakness.
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?
Tautological: description restates name/title.
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 contains zero guidance about when to call this tool versus the five other queue_* siblings (queue_create_queue_slot, queue_delete_queue_slot, queue_list_queue_slots, queue_preview_queue, queue_update_queue_slot). It does not state when this tool is appropriate, nor does it exclude alternatives (e.g., noting it does not reserve/consume the slot).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queue_list_queue_slotsList schedulesCRead-onlyInspect
List schedules
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | Set to 'true' to list all queues for the profile | |
| queue_id | No | Specific queue ID to retrieve (optional) | |
| profile_id | Yes | Profile ID to get queues for (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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 this is a safe read operation. The description adds no further behavioral context, such as whether 'all' returns all queues or whether queue_id scopes the result, but it doesn't contradict 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 words is under-specification, not effective conciseness. 'List schedules' repeats the title without earning its place; a useful description should at least mention queue slot listing or the profile scope and key optional flags.
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?
Though the schema covers parameters and the output schema exists, the description is too terse to be fully self-contained. An agent has to rely on the renovation tool name and parameter docs to reconstruct intent, making this minimally viable but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage on all three parameters, including the meaning of profile_id, all, and queue_id. The description adds no parameter-level information, which is acceptable given the schema-level completeness; 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?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. There is no mention of filtering by all vs queue_id, when to prefer this over queue_preview_queue, or what prerequisites exist (such as a valid profile_id). The agent is left to infer usage from the schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queue_preview_queuePreview upcoming slotsCRead-onlyInspect
Preview upcoming slots
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| queue_id | No | Filter by specific queue ID. Omit to use the default queue. | |
| profile_id | Yes | (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint and destructiveHint, but the description adds no behavioral context beyond the word 'preview'. It does not explain ordering, what 'upcoming' means, whether the default queue is always used, or how the count affects the result.
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 short but not effective: it merely restates the title and provides no front-loaded distinguishing information. Under-specification should not be mistaken for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of several queue-related sibling tools, this description is too sparse to allow reliable selection and invocation. The output schema exists, but an agent still cannot tell how preview relates to list, get_next, create, or update, or what behavior to expect.
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 documents queue_id and indicates defaults, and the description adds no parameter-level meaning. Since schema coverage is 67% and the count parameter lacks a real description, the tool description would need to compensate, but it does not.
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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool versus the many queue-related siblings. The description does not mention alternatives, prerequisites, or a scenario where previewing is preferable to listing or fetching the next slot.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queue_update_queue_slotUpdate scheduleCDestructiveInspect
Update schedule
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Queue name | |
| slots | Yes | (required) | |
| active | No | ||
| queue_id | No | Queue ID to update (optional) | |
| timezone | Yes | (required) | |
| profile_id | Yes | (required) | |
| set_as_default | No | Make this queue the default | |
| reshuffle_existing | No | Whether to reschedule existing queued posts to match new slots |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate destructiveHint=true and readOnlyHint=false, but the description adds no behavioral context beyond the actions already implied by the name. It does not mention side effects, replanning behavior, or what happens to existing scheduling data when the update is applied.
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 only two words, which is short but not usefully concise. It repeats the title instead of describing behavior, parameters, or intended usage in a structured or informative way. This is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having annotations and an output schema, the context is still incomplete for a destructive 8-parameter update operation. The description does not communicate the semantics of the schedule slot update, what the 'slots' represent, or how this relates to the queue lifecycle. An agent would need extra inference to safely and correctly use this 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?
With schema description coverage around 88%, the schema carries most of the parameter meaning, so the baseline is 3. The description itself provides no parameter guidance, but most parameters have at least minimal schema descriptions such as 'Make this queue the default' and 'Whether to reschedule existing queued posts to match new slots.'
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?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives like queue_create_queue_slot, queue_delete_queue_slot, or queue_preview_queue. There are no exclusions, no scenario descriptions, and no hint about which conditions would make this tool the favored choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsSearch available toolsARead-onlyInspect
Search for tools using natural language.
Returns matching tool definitions ranked by relevance, in the same format as list_tools.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language query to search for tools |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so no safety risk is hidden. The description adds that results are 'ranked by relevance' and returned 'in the same format as list_tools,' which gives useful context beyond the annotation, but it does not describe edge cases or query limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences deliver the action, input, and return behavior with no filler. 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 one-parameter search tool with an output schema and annotations, the description is sufficiently complete. Mentioning that results match list_tools' format covers expectations, though it could have named a couple of query examples.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the query parameter is described as a 'natural language query to search for tools.' The tool description adds no additional parameter semantics, so the schema is doing all the work. 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 states a clear action ('Search for tools') and resource ('tool definitions'), with natural language as the input method. It distinguishes itself from list-like tools by emphasizing 'matching' and 'ranked by relevance', though it does not explicitly name a comparable alternative.
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 this tool is for natural-language discovery when you need a subset of relevant tools, but it never states when to use list_tools instead or why search_tools should be preferred over simple listings. This is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tracking_tags_get_tracking_tag_statsGet aggregated event statsCRead-onlyInspect
Get aggregated event stats
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | Pixel id. (required) | |
| end_time | No | Unix seconds upper bound. | |
| account_id | Yes | (required) | |
| start_time | No | Unix seconds lower bound. | |
| aggregation | No | Aggregation dimension. Defaults to `event`. | event |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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. However, the description adds no behavioral context beyond the annotations—no mention of time-bound behavior, aggregation effects, or scoping semantics. It contributes nothing extra.
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 one short sentence, but it is uninformative and simply mirrors the title. This is under-specification rather than effective conciseness; the sentence does not earn 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?
Though the schema and output schema provide structural richness, the description does not clarify what 'aggregated event stats' actually represents, when to use this tool, nor how it relates to sibling analytics tools. The lack of descriptive context leaves the agent to guess at the tool's intent and 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?
Schema description coverage is 100%, with all 5 parameters documented including types, defaults, and required status. The description adds no additional parameter semantics, 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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool instead of the many sibling analytics and tracking tools. No exclusions, alternatives, or context are provided. An agent would have to infer usage entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tracking_tags_list_tracking_tagsList tracking tagsCRead-onlyInspect
List tracking tags
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | Ads SocialAccount id (platform `metaads` or `openaiads`). (required) | |
| ad_account_id | No | Optional, Meta only. Scope to one ad account, e.g. `act_123456789`. Ignored for OpenAI Ads. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only and non-destructive behavior, and the description adds nothing beyond that. It does not disclose that `ad_account_id` is ignored for OpenAI Ads, does not mention any platform-specific behavior, and does not describe the response shape. The description does not contradict 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 extremely short, front-loaded with the action, and contains no filler. However, this conciseness borrows heavily from the title rather than adding new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a complete input schema and an output schema available, the tool is technically invokable when following the structured fields. However, the description leaves out the business context of tracking tags, the relevance of the platform (`metaads` vs `openaiads`), and how this list relates to other tools, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema thoroughly explains `account_id` and `ad_account_id`, including the optional Meta-only scope. The description itself adds no parameter-level meaning, so the schema correctly carries the burden.
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?
Tautological: description restates name/title.
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?
There is no guidance on when to use this tool versus `tracking_tags_get_tracking_tag_stats` or when the optional `ad_account_id` should be provided. The description does not mention Meta vs OpenAI Ads behavior, so an agent must infer usage entirely from parameter names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usage_get_usageUsage snapshot (default) or billed-spend metering (with params)ARead-onlyInspect
Usage snapshot (default) or billed-spend metering (with params)
Args:
reconcile: Snapshot mode only. For Stripe subscription users, `true` forces a
subscription reconciliation pass even when cached plan data looks
complete.
range: Window to report. cycle / prev-cycle resolve to the customer's
real billing-period bounds (falling back to a trailing 30 days when
no invoice exists yet); 7d…12mo are trailing windows; custom
uses from / to.
from_: Inclusive start (UTC date). Required when range=custom.
to: Inclusive end (UTC date). Required when range=custom. Max span 366 days.
granularity: Bucketing of the days series: day (one row per UTC day),
month (one row per calendar month, dated to the 1st), or total
(no series — read totals). Does not affect totals.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from_ | No | ||
| range | No | cycle | |
| reconcile | No | ||
| granularity | No | day |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint; the description adds substantial behavior beyond that: reconciliation can force a subscription pass even with cached data, range resolution falls back to 30 days when no invoice exists, custom ranges are inclusive with a 366-day cap, and granularity does not affect totals. These details meaningfully shape the tool's runtime 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 content is well-organized by parameter and each item adds direct functional meaning. The opening line repeats the title rather than introducing the tool with a clear verb, but the rest is tight and waste-free.
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 all parameters, optional paths, edge cases like billing-cycle fallback, and output-related nuances such as the days series and totals. Since an output schema is available, the description does not need to document return shapes, making this complete for invoking and reasoning about the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but every parameter is thoroughly explained in the description: reconcile, range, from_, to, and granularity all have explicit meanings, defaults, constraints, and interactions. This fully compensates for the absent schema descriptions.
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 communicates that this tool returns a usage snapshot by default or billed-spend metering when additional params are supplied. The parameter breakdown makes it clear that the tool is for retrieving usage/spend data, but the opening phrase is a noun phrase rather than an explicit verb+resource statement and does not differentiate from siblings like analytics_get_analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is essentially no when-to-use guidance or reference to alternatives. The distinction in the title only says mode depends on params, not when to choose this over sibling tools. An agent must infer the appropriate use case from the parameter descriptions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_mediaValidate media URLCDestructiveInspect
Validate media URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public media URL to validate (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reads as a harmless checking operation while annotations set readOnlyHint to false and destructiveHint to true, which is an annotation contradiction. It does not disclose what destructive behavior may occur, what side effects accompany validation, or when the tool might mutate or remove data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At three words, this is under-specification rather than effective conciseness. The description repeats the tool title exactly and offers no meaningful guidance for an agent selecting or invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema is simple and an output schema exists, but the description still lacks critical context: when to use this tool, what side effects it may have, and why the annotation labels it destructive. That ambiguity is risky for an agent invocation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes the required url parameter as 'Public media URL to validate (required)'. The description itself adds no extra meaning beyond the schema, but the baseline for full schema coverage 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?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context or exclusions are provided. The description gives an agent no reason to choose this over the validation-related sibling tools, so the only signal is the tool's name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_postValidate post contentDDestructiveInspect
Validate post content
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | Post text content | |
| platforms | Yes | Target platforms (same format as POST /v1/posts) (required) | |
| media_items | No | Root media items shared across platforms |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses no behavioral details such as whether validation is local, calls platform APIs, publishes, or modifies anything. Annotations already mark readOnlyHint=false and destructiveHint=true, so the description needed to clarify side effects but does not. There is no direct contradiction, but the description adds zero behavioral transparency beyond what structured annotations already suggest.
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 short and front-loaded, but it is under-specified rather than genuinely concise. Every word is redundant with the tool name, and no sentence 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 has a full output schema and 100% parameter description coverage, which helps, but the overall intent is too vague. An agent cannot determine what validation is actually performed, what makes validation pass or fail, or how this relates to the sibling validation tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all parameters at 100% coverage, so the description does not need to repeat them. However, the description adds no nuance about how parameters are used during validation, keeping this at 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?
Tautological: description restates name/title.
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?
There is no guidance about when to use this tool instead of the closely related validate_media and validate_post_length siblings. The description implies it is for validating post content but provides no context, criteria, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_post_lengthValidate character countCDestructiveInspect
Validate character count
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The post text to check (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=true, implying possible side effects, but the description says only 'Validate character count' and reveals nothing about side effects, failure behavior, or destructive potential. This could mislead an agent into assuming a pure validation/read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but not meaningfully concise in the right way; it repeats the title without adding value. Every sentence should earn its place, and this one does not provide any additional 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?
For a validation tool with a destructiveHint, the description is too thin. It doesn't define what a valid character count is, what the tool returns, whether it can mutate or delete content, or how it differs from sibling validation tools. The presence of an output schema does not fully compensate for the missing behavioral and selection context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single 'text' parameter with a clear description. The description adds no further detail, but the schema carries the semantic burden adequately.
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?
Tautological: description restates name/title.
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 about when to use this tool instead of validate_post, validate_media, or other validation-related siblings. There is no mention of context, prerequisites, or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zernio_overviewZernio server overviewARead-onlyInspect
Show an overview of what this Zernio MCP server can do (accounts, posts, analytics, ads, inbox) and how to find the right tool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this by saying 'Show an overview'. It adds useful behavioral context by enumerating the covered areas (accounts, posts, analytics, ads, inbox) and by indicating the tool also guides tool selection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the main purpose and its key value-add ('how to find the right tool') immediately.
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 the tool has no parameters, is marked read-only and non-destructive, and has an output schema to define its response, the description provides all necessary context 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 tool has zero parameters and schema coverage is 100%, so there is no parameter burden for the description to carry. A baseline of 4 is appropriate because parameter documentation is unnecessary here.
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 ('Show') and names the resource ('overview of what this Zernio MCP server can do') plus the topic categories. It is clear about what the tool does, though it does not explicitly differentiate itself from sibling tools like search_tools or docs_search.
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 'how to find the right tool' implies this is an orientation/starting-point tool, but there is no explicit statement about when to use it instead of alternatives such as search_tools or docs_search. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables posting and managing content across 13+ social media platforms with scheduling, analytics, AI generation, and approval workflows through natural language.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables finding trending content across social networks and scheduling/publishing posts with full lifecycle management.47MIT
- AlicenseAqualityDmaintenanceAI-powered social media posting across 14 platforms. Post to Twitter, Instagram, TikTok, Facebook, LinkedIn, YouTube and more with one command. AI adapts content per platform, schedules posts, and generates 30-day content calendars.6MIT
- AlicenseNot gradedqualityBmaintenancePublish, schedule and read analytics across every major social network from one MCP server. 15+ tools covering publishing, scheduling, validation, media upload and normalised cross-platform analytics.MIT