Skip to main content
Glama

PersonaXpand

Server Details

Post, schedule, answer comments and DMs in your voice, and check analytics across 8 social networks.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 36 tools

Disambiguation4/5

Most tools target a distinct resource+action pair and the descriptions clearly differentiate close ones (send_reply vs schedule_reply vs approve_reply_draft; get_analytics_summary vs refresh_analytics; pause_post vs resume_post vs reschedule_post). The weakest boundaries are set_auto_reply vs set_account_auto_reply (global settings vs per-account toggle) and the auto-reply rule tools vs the settings tools, which an agent could easily pick incorrectly without reading carefully.

Naming Consistency5/5

Every tool follows a strict snake_case verb_noun pattern (create_post, list_media, update_auto_reply_rule, get_analytics_summary, publish_post_now), with a small vocabulary of consistent verbs: create/get/list/update/delete/set/schedule/reschedule/pause/resume/send/approve/reject. No camelCase or naming outliers.

Tool Count2/5

36 tools is well past the comfortable range for a single MCP server, and the surface spans five loosely related domains (posts, media, inbox, auto-reply, analytics/account). Several clusters could be consolidated (e.g. the four post-timing tools pause/resume/reschedule/schedule, and the six auto-reply settings/rule tools), though most individual tools do have a real function.

Completeness4/5

Coverage is strong across the lifecycle: post CRUD plus draft/schedule/pause/resume/publish, media listing/import/upload, inbox read/reply/schedule/handle, draft approve/reject, auto-reply rules CRUD plus settings, and analytics/profile/plan/voice reads. Minor gaps and one inconsistency: create_post references a get_image_result tool that does not exist in this set, and there is no way to delete media or cancel/list scheduled replies.

Available Tools

36 tools
approve_reply_draftApprove and send a reply draftA
Destructive
Inspect

Sends one waiting draft (draft_id from list_reply_drafts) from the person's account, as it is or with changed text. Counts toward the reply allowance like any automatic reply.

NameRequiredDescriptionDefault
textNoChanged reply text. Without it the draft is sent as it is.
draft_idYesThe draft_id from list_reply_drafts.
same_reply_to_many_confirmedNotrue means the person confirmed sending this same reply to many people (see same_reply_to_many).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructive=true, openWorld=true and non-idempotent, so the safety bar is partly met. The description adds real value beyond them: the send happens from the person's own account and consumes reply allowance like an automatic reply – quota impact an agent would not otherwise know.

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

Conciseness5/5

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

Two sentences, action and quota consequence front-loaded, and no redundant restatement of the tool name. Every clause carries information.

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

Completeness4/5

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

For a destructive, non-idempotent send with no output schema, the description covers the account context, the quota cost, and the source of draft_id. It does not say what happens on failure or whether the draft is removed afterward, which would complete the picture.

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

Parameters3/5

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

Schema coverage is 100%, so all three parameters are already documented in the schema, including the text-omission behavior. The description restates the 'as it is or with changed text' semantics without adding format rules or syntax beyond the schema, which is the baseline-3 case.

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

Purpose4/5

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

States a specific verb and resource ('Sends one waiting draft') and pins the draft_id source to list_reply_drafts, so an agent can tell this apart from most siblings. It stops short of explicitly contrasting with send_reply or reject_reply_draft, which are the closest alternatives.

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

Usage Guidelines4/5

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

Clearly implies it is the approval step in a draft workflow by naming list_reply_drafts as the prerequisite and explaining the optional-text mode. No explicit exclusions ('do not use for direct replies – use send_reply'), so it falls short of a 5.

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

create_auto_reply_ruleAdd an auto-reply ruleAInspect

Adds a keyword rule for one account: when a DM, comment or mention matches, reply with a fixed text or with an AI reply in the person's voice.

NameRequiredDescriptionDefault
nameYesA short name for the rule.
whenYesany (every message), keyword (contains the keyword) or exact (the whole message equals the keyword).
keywordNoThe keyword, for keyword or exact.
priorityNoHigher runs first when several rules match.
account_idYesThe account_id from get_auto_reply_settings.
applies_toYesdm, comment or mention.
reply_textNoThe reply to send, for fixed.
reply_withYesai (reply written in the person's voice) or fixed (send reply_text).
skip_approvalNoSend without waiting for approval.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare a non-read-only, non-destructive, non-idempotent write with no open-world access, and the description adds the meaningful fact that the rule triggers on inbound DMs/comments/mentions and can generate AI replies in the person's voice. It omits important behavior: that rules act on future matching messages automatically, how priority arbitration plays out at runtime, and whether replies go through the approval queue that skip_approval bypasses. No contradiction with 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.

Conciseness4/5

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

A single well-formed sentence that front-loads the action and the trigger/response model with no filler. Minor deduction because 'keyword rule' is a slightly inaccurate shorthand for a tool that also supports match-any rules.

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

Completeness4/5

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

No output schema exists, so the description can't be faulted for not describing returns, and for a create tool with full schema coverage the essentials are present. The remaining gap is the approval-workflow context (skip_approval semantics) and activation timing, which an agent would want before wiring up automated replies.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains name, when, keyword, priority, applies_to, reply_text, reply_with and skip_approval. The description adds only the account-scoping notion ('for one account') and the fixed-vs-AI reply distinction; it does not clarify that keyword is irrelevant when `when=any` or that reply_text is required when reply_with=fixed.

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

Purpose4/5

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

States a specific verb and resource ('Adds a keyword rule for one account') and immediately explains the trigger/reply mechanic, so an agent knows this creates an auto-reply rule rather than updating or deleting one. The only slip is calling it a 'keyword rule' when the schema's `when` also supports 'any' (every message), which slightly narrows the described scope.

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

Usage Guidelines3/5

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

The verb 'Adds' implies creation rather than modification, which implicitly routes the agent away from update_auto_reply_rule and delete_auto_reply_rule. However, nothing is said about the genuinely confusing siblings set_auto_reply and set_account_auto_reply, nor about prerequisites such as needing an account_id from get_auto_reply_settings.

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

create_postCreate a post (draft)AInspect

Saves a new post as a draft in PersonaXpand. networks ["all"] means every connected network that can take it; any left out come back in skipped with the reason. Nothing goes out until schedule_post or publish_post_now. Media is accepted only from the person's own library: links from list_media, get_image_result, or the import tools.

NameRequiredDescriptionDefault
textYesThe main post text.
networksYes["all"] for every connected network, or specific ones, e.g. ["instagram","linkedin"].
alt_textsNoOptional alt text for each image, in the same order as media_urls.
media_urlsNoOptional media links (images, or one video).
per_networkNoOptional per-network versions (caption, hashtags, YouTube title and settings, Pinterest board).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, but the description adds the non-obvious behavior that "all" expands to every eligible network and that omitted or unsupported networks return in a skipped list with a reason. That partial-success semantics is real behavioral context beyond the annotations; it stops short of covering permissions or duplicate handling.

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

Conciseness4/5

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

Three compact sentences, each carrying a distinct fact: drafting behavior, the "all" expansion and skip semantics, and the publishing gate. The media-sourcing sentence is slightly tacked on but still earns its place by preventing invalid media URLs.

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

Completeness4/5

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

For a 5-parameter mutation tool with a fully documented schema and no output schema, the description covers the state change (draft, not published), the fan-out behavior, and the media source restriction. The skipped-result detail is the only return-value information given and it is the critical one.

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

Parameters3/5

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

Schema coverage is 100% and the schema already documents each field, including per-network sub-properties. The description only adds meaning for the "networks" value "all" and for the skipped return, which is marginal added value over the schema baseline.

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

Purpose5/5

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

The description states a specific verb and resource ("Saves a new post as a draft") and names the product, PersonaXpand. It distinguishes itself from the publishing siblings by explicitly saying nothing goes out until schedule_post or publish_post_now.

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

Usage Guidelines5/5

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

It explicitly names the alternatives (schedule_post, publish_post_now) and the condition that selects them, plus a constraint on media sourcing that points to list_media, get_image_result and the import tools. An agent knows when to call this tool versus its siblings.

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

delete_auto_reply_ruleDelete an auto-reply ruleA
DestructiveIdempotent
Inspect

Deletes one auto-reply rule (rule_id from get_auto_reply_settings).

NameRequiredDescriptionDefault
rule_idYesThe rule_id.
many_deletes_confirmedNotrue means the person confirmed deleting many items (see many_deletes).

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered structurally. The description adds only the single-rule scope and the rule_id source; it says nothing about consequences of deletion, whether the change is reversible, or the many_deletes/many_deletes_confirmed confirmation flow referenced by the second parameter.

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

Conciseness5/5

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

A single short sentence with the operation and the key prerequisite front-loaded; there is no filler or redundancy.

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

Completeness3/5

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

For a destructive mutation with no output schema, this is adequate but thin: it does not say what the caller receives on success, whether errors occur for unknown or last-remaining rules, or how the bulk-deletion confirmation interplays with deleting 'one' rule. Annotations carry the destructive/idempotent profile, which keeps it at a minimum-viable 3 rather than lower.

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

Parameters3/5

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

With 100% schema coverage the baseline is 3, and the schema's own text for rule_id ('The rule_id.') is essentially tautological, so the description's 'from get_auto_reply_settings' does add genuine provenance value. But it says nothing about many_deletes_confirmed, leaving that parameter's purpose entirely to the schema's cross-reference to an unexplained 'many_deletes' concept.

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

Purpose4/5

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

States a specific verb (Deletes) and resource (one auto-reply rule), and the word 'one' scopes the operation. It is distinguishable from create_auto_reply_rule and update_auto_reply_rule by verb alone, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

The parenthetical telling the agent to obtain rule_id from get_auto_reply_settings is a useful prerequisite and a real cross-tool pointer. However, there is no guidance on when not to delete (e.g., preferring update_auto_reply_rule to amend a rule) or on any confirmation step.

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

delete_postDelete a postA
DestructiveIdempotent
Inspect

Deletes a post from PersonaXpand (a draft, or a scheduled post before it goes out). It does not remove anything already published on a network.

NameRequiredDescriptionDefault
post_idYesThe post id.
many_deletes_confirmedNotrue means the person confirmed deleting many items (see many_deletes).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered structurally. The description adds genuinely useful scope information beyond that: the deletion is limited to unpublished drafts/scheduled posts and is not a network-level takedown. It omits whether the deletion is permanent or recoverable, which is the remaining behavioral question for a destructive tool.

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

Conciseness5/5

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

Two short sentences with zero padding: the action and its scope come first, the boundary condition second. Every clause carries information an agent needs.

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

Completeness4/5

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

For a two-parameter destructive tool with rich annotations and no output schema, the description covers the crucial ambiguity (draft/scheduled vs. published) that could otherwise cause a wrong call. Minor gaps remain around irreversibility and the bulk-delete confirmation requirement.

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

Parameters3/5

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

Schema coverage is 100%, so both post_id and many_deletes_confirmed are documented in the schema itself, and the description adds no further meaning for either. The multi-delete confirmation gate — the riskiest parameter here — is left entirely to the schema's terse reference to 'many_deletes', which the description could have clarified.

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

Purpose5/5

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

States a specific verb (deletes) and resource (a post), and narrows scope to drafts or scheduled posts before publishing. The second sentence explicitly contrasts with published content, so an agent can distinguish this from publish_post_now, pause_post, or reschedule_post without opening any schema.

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

Usage Guidelines4/5

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

Clearly implies when to use it — a draft or a not-yet-published scheduled post — and rules out published posts via the negative clause. It stops short of naming what an agent should do instead for a published post, and says nothing about the bulk-delete confirmation flow implied by many_deletes_confirmed.

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

get_analytics_summaryGet my analytics summaryA
Read-onlyIdempotent
Inspect

Followers and growth per network, posts published, engagement totals, the best posts, and messages received and answered (reply rate, median reply time) for the last 7, 30 or 90 days. Uses only numbers the networks reported, as stored at their last refresh (numbers_as_of); refresh_analytics pulls newer ones.

NameRequiredDescriptionDefault
daysNo7, 30 or 90 (days). Default 30.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds genuinely new behavioral context: the numbers are network-reported and reflect their last refresh (numbers_as_of), which tells the agent results may be stale and how to remediate. It does not describe response shape or latency, keeping it below a 5.

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

Conciseness4/5

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

The metric inventory is front-loaded in the first sentence and the freshness caveat plus sibling pointer follow immediately. It is dense but every clause carries information; the only cost is a long opening sentence that is slightly list-heavy.

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

Completeness4/5

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

With no output schema, the description correctly compensates by enumerating the returned fields, and the freshness note covers the main ambiguity for a read-only analytics tool. Nothing essential for correct invocation is missing, though it could note whether per-network breakdowns are always present.

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

Parameters3/5

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

Schema coverage is 100% and the single 'days' parameter is fully documented with its default and allowed values, so the schema does the heavy lifting. The description restates the 7/30/90 window but adds no format or edge-case meaning beyond that, which is the expected baseline.

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

Purpose5/5

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

The description names a specific verb+resource and enumerates the exact metrics returned (followers/growth per network, posts published, engagement totals, best posts, messages received/answered with reply rate and median reply time). It is clearly distinguishable from siblings like refresh_analytics and get_best_times.

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

Usage Guidelines4/5

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

It explicitly routes the agent to refresh_analytics when fresher numbers are needed, and the 'last 7, 30 or 90 days' framing sets the reporting context. It stops short of stating when to prefer this over other analytics-adjacent siblings, but the alternative it does name is the one that matters.

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

get_auto_reply_settingsGet my auto-reply settingsA
Read-onlyIdempotent
Inspect

Whether auto-replies are on, for which accounts and message types, approval and timing settings, the reply voice, the keyword rules, and today's activity (replies sent against the daily limit, messages held because the allowance ran out, drafts waiting for approval).

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

The annotations already establish a safe, read-only operation, while the description adds meaningful operational context: a daily allowance, messages held when that allowance is exhausted, and drafts awaiting approval. Specifying that the activity is for today further clarifies the snapshot's scope.

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

Conciseness5/5

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

The single sentence is dense but economical, placing configuration first and today's operational activity second. The parenthetical efficiently explains the activity metrics without filler or repetition of the annotations.

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

Completeness5/5

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

For a zero-parameter read with clear safety annotations, the description supplies enough scope to invoke the tool correctly and enough return-content detail to compensate for the absent output schema. Explicit sibling routing would improve selection, but no essential input or calling prerequisite is omitted.

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

Parameters4/5

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

The tool takes no parameters, so there are no argument meanings for the description to document and the zero-parameter baseline applies. Its references to accounts and message types describe returned scope rather than implying unsupported filters.

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

Purpose4/5

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

The description clearly identifies the resource and returned scope: enablement, accounts and message types, approval and timing, voice, keyword rules, and current activity. It does not explicitly contrast this consolidated view with narrower siblings such as get_voice, get_plan_usage, or list_reply_drafts.

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

Usage Guidelines3/5

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

The enumerated contents imply using the tool when an agent needs a consolidated view of auto-reply configuration and today's status. It provides no explicit when-not guidance or routing to siblings for changing settings, inspecting drafts alone, or retrieving voice or plan details.

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

get_best_timesGet my best times to postA
Read-onlyIdempotent
Inspect

The best times to post on each network in the coming week, in the person's time zone, with the reason for each: from their own results of the last 90 days, or from published research while they have too few posts. Any of these times can be passed to schedule_post.

NameRequiredDescriptionDefault
networksNoNetworks to check, e.g. ["instagram","linkedin"]. Leave empty for every connected network.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavior beyond that: the fallback to published research when post volume is low, per-time justification, and time-zone normalization — details an agent could not infer from annotations or schema.

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

Conciseness4/5

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

A single dense sentence that front-loads the resource and scope before the provenance and chaining details; no filler. It is slightly overloaded with clauses, but every clause carries information.

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

Completeness4/5

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

There is no output schema, and the description compensates by describing what each result contains (a time per network plus a reason) and how it is derived. For a one-optional-parameter read tool with full annotations, this is nearly complete; only the response shape specifics remain unspecified.

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

Parameters3/5

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

Schema description coverage is 100% and the single optional 'networks' parameter is fully documented in the schema, including the empty-means-all default. The phrase 'on each network' is consistent but adds no format or syntax detail beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb+resource ('best times to post on each network') with explicit scope ('in the coming week, in the person's time zone'), which distinguishes it from get_analytics_summary and the posting tools. An agent can identify what this returns without opening the schema.

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

Usage Guidelines4/5

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

Makes the intended downstream use explicit by stating the returned times 'can be passed to schedule_post', which routes the agent to the correct follow-up sibling. It also clarifies the data-source condition (own last-90-days results vs published research when data is thin), but offers no explicit when-not guidance.

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

get_conversationGet a conversationA
Read-onlyIdempotent
Inspect

One inbox item with what was said before and every reply already sent to it. For a DM, includes the recent messages from the same person.

NameRequiredDescriptionDefault
message_idYesThe inbox item id from list_inbox.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuine value beyond them by disclosing what content comes back — prior messages, all sent replies, and recent same-person messages for DMs — which is important since there is no output schema. It does not mention truncation, message limits, or ordering, so it is not fully transparent.

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

Conciseness4/5

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

Two short sentences with no filler, and the core content (item plus surrounding thread) is front-loaded. The phrasing 'what was said before' is slightly colloquial where 'prior messages in the thread' would be more precise, but nothing is wasted.

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

Completeness4/5

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

For a low-complexity single-item fetch with one fully documented parameter and complete safety annotations, the description covers what an agent needs: the returned scope (thread context, all replies, DM history). Return structure and any limits on how much history is included remain unstated, which is the main residual gap.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage; the schema already states it is 'the inbox item id from list_inbox'. The description adds no additional meaning about the id, its format, or behavior for invalid/unknown ids, so the baseline of 3 applies.

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

Purpose4/5

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

The description conveys a single-resource fetch of an inbox item plus its surrounding conversation ('what was said before and every reply already sent to it'), which distinguishes it from the sibling list_inbox. The verb 'get' is only implied by the title rather than stated in the description, and the phrasing is roundabout, but the resource and its scope are clear.

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

Usage Guidelines3/5

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

Usage is only implied: the description's emphasis on thread context suggests it is the detail view to use after list_inbox, and the schema parameter points back to list_inbox. There is no explicit when-to-use statement, no statement of what it does not cover, and no named alternative such as list_inbox for browsing.

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

get_notificationsGet my notificationsA
Read-onlyIdempotent
Inspect

The person's PersonaXpand notifications, newest first: weekly growth tips from the Growth Coach, finished posts, messages that need them, and plan alerts.

NameRequiredDescriptionDefault
limitNoHow many to return, 1-30 (default 15).
only_unreadNotrue for unread only.
only_growth_tipsNotrue for Growth Coach tips only.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so safety and determinism are covered. The description usefully adds the sort order (newest first) and the categories that appear in the result, which is genuine value beyond the annotations, though it says nothing about pagination or empty states.

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

Conciseness5/5

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

A single front-loaded sentence that identifies the resource, the ordering, and the contents without a wasted word. Nothing is repeated and nothing important is buried.

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

Completeness4/5

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

This is a simple, annotation-covered read tool with three optional parameters and no output schema, and the description compensates for the missing output schema by listing what a notification can be. Only a brief note on result shape or unread counting would make it fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, so limit, only_unread and only_growth_tips are already documented in the schema. The description's mention of growth tips loosely connects to only_growth_tips but adds no syntax, defaults, or interaction detail beyond what the schema states; baseline 3 applies.

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

Purpose4/5

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

Names a specific resource (the person's PersonaXpand notifications) and enumerates the item types returned: Growth Coach tips, finished posts, messages needing attention, plan alerts. It also states ordering (newest first). It doesn't name a sibling it is not, but the resource is distinctive enough against list_inbox or get_analytics_summary.

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

Usage Guidelines3/5

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

Usage is only implied by the enumeration of notification types; there is no explicit statement of when to call this instead of list_inbox or get_plan_usage, nor any exclusions. An agent can infer intent but not routing rules.

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

get_plan_usageGet my plan and usageA
Read-onlyIdempotent
Inspect

The person's plan, how many posts, auto-replies and AI images are used and left in this period, extra packs, and when the allowance resets.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that: the scope is implicit to 'the person' (no account parameter needed), the output is quota-oriented (used vs. left), and it discloses that extra packs and a reset timestamp 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.

Conciseness4/5

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

A single fragment sentence with the core resource front-loaded and no wasted clauses; the enumerated fields are informative rather than padding. It would be marginally stronger with a leading verb, but it is efficient as written.

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

Completeness4/5

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

With no parameters and no output schema, the description has to carry the return-value burden and largely does, covering used/remaining counts per content type, extra packs, and reset timing. Minor gaps remain (whether plan tier, limits, or per-account breakdowns are returned), but an agent can call it correctly from this text.

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

Parameters4/5

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

The tool takes zero parameters and the schema is an empty object, so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly implies no arguments are needed to scope the call.

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

Purpose4/5

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

The description names a distinct resource (the person's plan and per-period usage of posts, auto-replies, AI images, extra packs, reset timing) and thereby separates it from content-centric siblings like get_analytics_summary or list_posts. It lacks an explicit verb (the action is carried by the name/title) and never names a sibling it is not, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no explicit when-to-use, when-not-to-use, or alternative routing. A reader can infer it is for checking remaining quota within a billing period, but nothing tells the agent to prefer it over get_analytics_summary when the intent is performance rather than allowance.

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

get_postGet one postA
Read-onlyIdempotent
Inspect

The full text, media and per-network versions (caption, hashtags, YouTube title, status, link, error) of one post, with each network's latest likes, comments, shares, views and reach once it is published.

NameRequiredDescriptionDefault
post_idYesThe post id from list_posts.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds useful behavioral context by specifying that per-network versions include caption, hashtags, YouTube title, status, link, and error, and that engagement metrics are latest and available once published. It does not cover not-found/error behavior, but beyond annotations this is solid.

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

Conciseness5/5

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

Single sentence, front-loaded with the returned data and no filler. The parenthetical list is dense but each item contributes to what the agent will receive.

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

Completeness4/5

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

With no output schema, the description carries the return-value burden and does a good job enumerating text, media, per-network variants, and metrics. For a simple one-param read tool with safety annotations, this is complete enough; only error/empty-state behavior is unmentioned.

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

Parameters3/5

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

Only post_id exists; schema coverage is 100% and its description already says 'The post id from list_posts.' The tool description adds no further parameter meaning, so baseline 3 applies.

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

Purpose4/5

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

The description names the resource and scope ('one post') and enumerates the returned content: full text, media, per-network versions, and engagement metrics. It never uses a retrieval verb or names list_posts as the source/alternative, so it is clear but not fully sibling-differentiating.

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

Usage Guidelines3/5

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

It implies use for fetching a single post by describing single-post data, and 'once it is published' hints at the metrics precondition. But it gives no explicit when-to-use, when-not, or alternative such as list_posts, so guidance is only implied.

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

get_profileGet my profileA
Read-onlyIdempotent
Inspect

The signed-in person's name, language, time zone, weekly posting goal, and what this connection is allowed to do.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful context beyond that: the data is always the caller's own identity with no target parameter, and it includes the connection's permission scope, which is behaviorally relevant for deciding whether other mutations are permitted.

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

Conciseness5/5

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

One sentence, front-loaded with the subject (the signed-in person), listing exactly what comes back. No filler, no restatement of the title, nothing to trim.

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

Completeness4/5

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

There is no output schema, so the description must convey return contents, and it does list the main fields. The phrase 'what this connection is allowed to do' is vague about whether this is a scope list, booleans, or role names, and the list may not be exhaustive, leaving a small gap for a zero-parameter read.

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

Parameters4/5

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

The tool takes zero parameters, so no parameter semantics are needed and the baseline is 4 by default. The field list in the description concerns return values, not inputs, and is complementary rather than redundant.

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

Purpose4/5

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

The description names a specific resource (the signed-in person's profile) and enumerates the fields returned: name, language, time zone, weekly posting goal, and connection permissions. This is clearly distinct from siblings like get_plan_usage or list_connected_accounts, though the verb is only implied by the tool name rather than stated outright.

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

Usage Guidelines3/5

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

There is no explicit when-to-use guidance and no named alternative or exclusion. Usage is strongly implied by the self-scoped, zero-parameter nature of the tool, but an agent gets no statement like 'call this first to resolve the current account' or 'do not use this to inspect other accounts.'

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

get_upload_resultCheck an upload linkA
Read-onlyIdempotent
Inspect

Whether the person has sent a file through an upload link, and if so its media_url and preview link.

NameRequiredDescriptionDefault
upload_idYesThe upload_id from create_upload_link.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, and non-destructive behavior, so the safety profile is covered. The description adds genuine value by disclosing the conditional outcome and the return payload (media_url and preview link), which matters because there is no output schema. It does not say what is returned when nothing has been uploaded, which keeps it short of a 5.

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

Conciseness4/5

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

A single front-loaded sentence with no filler, communicating both the boolean outcome and the success payload. The sentence fragment style is slightly informal but costs no clarity.

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

Completeness4/5

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

For a one-parameter read tool with full schema coverage and read-only annotations, the description covers the essential question it answers and what comes back on success. The remaining gap is behavioral: no guidance on polling cadence or on the empty-result case.

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

Parameters3/5

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

With one parameter at 100% schema description coverage, the schema fully documents upload_id and even its origin. The description adds no further semantics about the identifier or its format, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a concrete query over a specific resource: it reports whether a file was sent through an upload link and, if so, returns its media_url and preview link. The upload-link scoping distinguishes it from generic media or post tools, though it never names create_upload_link as its counterpart.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use guidance, no mention of polling after create_upload_link, and no guidance on how to interpret the not-yet-uploaded case. The only workflow hint lives in the parameter schema ("upload_id from create_upload_link"), not in the description itself.

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

get_voiceGet my voice (AI Twin)A
Read-onlyIdempotent
Inspect

How the person writes, learned by their AI Twin: voice print (overall and per network), rules to follow (never say, always mention, opinions, length per network), confirmed FAQ answers, and real reply examples, for writing captions and replies that sound like them.

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuine value by disclosing what is actually returned — per-network voice print, rule categories (never say, always mention, opinions, length), confirmed FAQ answers, and real examples — which goes beyond what the annotations say. It does not mention what happens when the voice profile is empty or not yet learned.

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

Conciseness4/5

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

A single sentence with a clear lead ('How the person writes') followed by an enumerated payload. The nested parentheticals ('overall and per network', the rule list) are dense but every item carries meaning for an agent deciding whether the returned data suffices. Slightly heavy nesting keeps it from a 5.

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

Completeness4/5

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

With no output schema, the description must convey the return contents, and it does so in detail, which is sufficient for a no-param read tool. Missing only edge-case behavior (empty/uninitialized voice profile) and rough return shape, which are minor for this complexity level.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for a 0-param tool is 4. The description correctly avoids inventing filtering options and simply defines the payload.

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

Purpose4/5

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

The description names the resource precisely — the person's writing voice, including voice print (overall and per network), rules, confirmed FAQ answers, and real reply examples — which distinguishes it from siblings like get_profile or get_analytics_summary that never return voice data. The verb is implicit (the title supplies 'Get'), so it is a content inventory rather than a stated action, keeping it just short of a 5.

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

Usage Guidelines4/5

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

It gives a clear use context: 'for writing captions and replies that sound like them', which tells the agent to consult this before composing content via create_post or send_reply. It does not explicitly name those alternative tools or state when not to call it (e.g., when no voice has been learned), so it stops short of full when/when-not guidance.

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

list_connected_accountsList my connected accountsB
Read-onlyIdempotent
Inspect

The social accounts connected to PersonaXpand, whether each one works, needs a reconnect, or has part of its inbox off, and whether posting there is possible.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is fully covered. The description's contribution is telling the agent what per-account health states appear in the result, which is genuinely additive. It stops short of describing pagination, account identity fields, or what a 'part of its inbox off' state means operationally.

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

Conciseness4/5

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

One tight sentence with the resource front-loaded and the status enumeration following. No filler or repetition. It is a grammatical fragment rather than a complete sentence, which slightly hurts readability but not economy.

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

Completeness4/5

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

With no input schema, no output schema and simple read-only behavior, the description needs to carry the return semantics — and it does, enumerating the health/status dimensions per account. It would be complete with a brief note on what identifies each account (platform, handle) since no output schema exists to reveal that.

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

Parameters4/5

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

The tool takes no parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly avoids inventing inputs and instead spends its words on output meaning.

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

Purpose4/5

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

The description identifies the resource precisely — social accounts connected to PersonaXpand — and adds what each entry conveys (working, needs reconnect, inbox partially off, posting possible). It lacks an explicit verb ('list'), relying on the name to supply it, but an agent can still tell instantly what this returns. No sibling tool competes for this resource, so the absence of differentiation costs little.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus alternatives, no prerequisite, and no exclusion. An agent must infer that it is the pre-flight check before posting or before diagnosing why a channel is failing. Usage is implied by the content, not guided.

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

list_inboxList my inboxA
Read-onlyIdempotent
Inspect

Recent DMs, comments and mentions from the person's connected accounts (last 30 days, newest first), with whether each was already answered and whether it needs the person themself.

NameRequiredDescriptionDefault
typeNodm, comment or mention. Leave empty for all.
limitNoHow many to return, 1-50 (default 20).
networkNoOnly this network, e.g. instagram, facebook, twitter, youtube, threads, bluesky, linkedin.
only_needs_youNotrue to show only messages the automation left for the person (questions, complaints, possible clients).
only_unansweredNotrue to show only messages nobody has answered yet.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuine context the annotations cannot: a 30-day lookback window, newest-first ordering, and the fact that each item carries answered/needs-you flags. It stops short of describing volume, pagination, or empty-inbox behavior.

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

Conciseness5/5

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

A single front-loaded sentence packs the resource, time window, sort order and return semantics with no filler. Nothing is redundant with the title or restated needlessly.

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

Completeness3/5

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

With no output schema, the description must carry return-value meaning; it partially does by naming the answered and needs-you flags, but not the item shape or ordering guarantees per type. For a five-parameter read tool with no output schema, that leaves a modest gap.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description reinforces the meaning of 'needs the person themself', which corresponds to only_needs_you, but it adds no syntax or interaction detail (e.g. how only_needs_you and only_unanswered combine) beyond what the schema states.

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

Purpose4/5

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

The description gives a specific verb+resource ('Recent DMs, comments and mentions') plus scope (last 30 days, newest first) and per-item attributes. It does not name how it differs from siblings like get_notifications or get_conversation, so an agent must infer the split.

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

Usage Guidelines3/5

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

Usage is implied by the inbox framing and by the clarification that some items 'need the person themself', but there is no explicit when-to-use vs. get_notifications/get_conversation guidance and no statement of when not to call it. The filters are left to the schema to discover.

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

list_mediaList my mediaA
Read-onlyIdempotent
Inspect

The person's media, newest first: images their assistant made or brought in that aren't posted yet, then images and videos from their posts. create_post accepts each media_url; preview_url links work for 1 hour.

NameRequiredDescriptionDefault
limitNoHow many to return, 1-50 (default 20).

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, closed-world behavior, so the description's job is additive — and it delivers: result ordering, the two-part composition of the list, and the critically important fact that preview_url links expire after 1 hour. It doesn't discuss pagination behavior beyond the limit parameter or whether media_url is permanent.

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

Conciseness5/5

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

Two dense sentences with no filler; the result composition and ordering come first, followed by the actionable handoff and the URL-expiry caveat. Nothing is repeated from the schema or annotations.

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

Completeness4/5

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

With no output schema, the description carries the burden of describing returns and does so usefully — list ordering, the two segments, and two named fields (media_url, preview_url) with an expiry caveat. It leaves unclear whether there is pagination/cursor support or whether media_url persists, minor gaps for a one-parameter list tool.

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

Parameters3/5

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

Schema description coverage is 100%, and the single limit parameter is already documented with range and default. The description adds nothing about limit, which is acceptable given the schema does the work, so the baseline 3 applies.

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

Purpose4/5

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

The description enumerates exactly what the resource contains: unpublished images created/imported by the assistant, then images and videos from the person's posts, ordered newest first. That content scope implicitly separates it from list_posts or get_upload_result. It stops short of naming a sibling, so it lands at 4 rather than 5.

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

Usage Guidelines4/5

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

"create_post accepts each media_url" gives a clear downstream use case that tells the agent why and when to call this. There is no explicit when-not guidance or pointer to the sibling that adds media (import_media_from_link) or fetches upload results, so the routing picture is only half complete.

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

list_postsList my postsA
Read-onlyIdempotent
Inspect

Posts in PersonaXpand: drafts, scheduled, published or failed, newest first, with each network's status. get_post has the full text of one post.

NameRequiredDescriptionDefault
toNoOnly posts on or before this date (YYYY-MM-DD, the person's time zone).
fromNoOnly posts on or after this date (YYYY-MM-DD, the person's time zone).
limitNoHow many to return, 1-50 (default 20).
statusNodraft, scheduled, published, failed, or all (default all).

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, non-open-world behavior, so the description only needs to add context. It does so usefully: newest-first ordering, inclusion of per-network status, and the implicit note that the body text is not returned here. Return-shape detail (fields, paging behavior) is only partly covered.

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

Conciseness5/5

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

Two compact sentences with zero filler. The scope and ordering are front-loaded, and the get_post routing hint is placed where it is immediately actionable.

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

Completeness4/5

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

For a purely read-only, four-optional-parameter list tool with no output schema, the description gives enough to call it correctly: what it returns (posts with per-network status), ordering, and where to go for full content. Pagination is handled by the documented limit parameter; only explicit return-field enumeration is absent.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (from, to, limit, status) is already documented with format and defaults in the schema. The description's mention of the four statuses largely restates the status enum rather than adding new semantics. Baseline 3 applies.

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

Purpose4/5

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

Names the resource (posts in PersonaXpand) and enumerates the states covered (drafts, scheduled, published, failed) plus ordering (newest first). It also explicitly separates itself from get_post, which returns the full text of a single post. The only weakness is that the listing verb is implied by the name rather than stated outright.

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

Usage Guidelines4/5

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

The closing clause about get_post gives an explicit alternative and the condition that selects it (need the full text of one post, not a list). It does not cover other adjacent siblings such as get_analytics_summary or list_reply_drafts, but the core routing decision is clear.

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

list_reply_draftsList reply drafts waiting for meA
Read-onlyIdempotent
Inspect

Replies the automation drafted in the person's voice and is holding for their approval, soonest-expiring first: the message, the conversation, the draft, and when the network stops taking a reply. Listing sends nothing.

NameRequiredDescriptionDefault
limitNoHow many to return, 1-50 (default 20).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. Beyond that, the description adds ordering ('soonest-expiring first'), identifies the fields returned, and clarifies 'Listing sends nothing,' which is useful behavioral context for an approval queue.

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

Conciseness4/5

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

One front-loaded sentence communicates the purpose, ordering, returned fields, and side-effect status without waste. The phrasing around 'Replies the automation drafted' is slightly compressed but still understandable.

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

Completeness4/5

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

For a simple read-only list with one optional parameter and no output schema, the description supplies the essential context: what is listed, ordering, returned fields, and confirmation that listing does not send. It does not enumerate sibling alternatives, but nothing critical for invoking the tool is missing.

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

Parameters3/5

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

Schema description coverage is 100%, and the single limit parameter is fully documented in the schema. The description does not add meaning about the limit or its default range, so baseline 3 applies.

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

Purpose4/5

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

The description clearly states the resource—reply drafts awaiting the person's approval—and the listing verb. It does not explicitly distinguish itself from siblings like approve_reply_draft or reject_reply_draft, so it falls short of a full 5, but the pending-draft scope is clear.

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

Usage Guidelines3/5

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

Use is implied: the agent should call this to see drafts held for approval. There is no explicit when-to-use or when-not guidance, and no routing to approve_reply_draft, reject_reply_draft, or other alternatives.

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

mark_handledMark a message as handledA
Idempotent
Inspect

Clears one message the automation left for the person (needs_you in list_inbox) once they dealt with it themself, like the Done button in Global Inbox. Sends nothing.

NameRequiredDescriptionDefault
message_idYesThe message id from list_inbox.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare non-readonly, idempotent and non-destructive, so the main added value is 'Sends nothing' and the Done-button analogy, which clarify there is no outbound side effect. The description does not say whether the clear is reversible, whether the item disappears from list_inbox permanently, or what permissions are needed.

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

Conciseness4/5

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

Two compact sentences that lead with the action and then qualify it with the Done-button analogy; no wasted clauses. The analogy, while useful, is slightly informal but earns its place by fixing expectations.

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

Completeness4/5

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

For a one-parameter, no-output-schema tool this covers what an agent needs: what it acts on, where the id comes from, and that nothing is sent. Only the post-clear state (reversibility, inbox effect) is left implicit.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter is already documented as 'The message id from list_inbox.' The description corroborates that linkage via needs_you but adds no format or edge-case guidance beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb and resource ('Clears one message') and scopes it to the automation's needs_you items surfaced by list_inbox, which separates it from siblings like send_reply or approve_reply_draft. It stops short of stating unambiguously whether 'clears' means removal or just state change, leaving a sliver of doubt.

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

Usage Guidelines4/5

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

It gives a clear trigger: use this 'once they dealt with it themself', tying usage to human follow-up rather than automation. The closing 'Sends nothing' implicitly tells the agent not to reach for it when an outbound reply is needed, though no sibling is named explicitly.

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

pause_postPause a scheduled postA
Idempotent
Inspect

Holds a scheduled post so it doesn't go out, keeping it and its times. resume_post puts it back on the schedule.

NameRequiredDescriptionDefault
post_idYesThe post id.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds meaningful state context beyond that: the post and its times are preserved rather than deleted, so the agent knows pausing is reversible and non-destructive of metadata.

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

Conciseness5/5

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

Two short sentences, effect first, alternative second — nothing redundant and no restating of the title verbatim.

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

Completeness4/5

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

For a one-parameter mutation with full annotation coverage and no output schema, this is nearly complete: effect, reversibility, and sibling routing are all present. A note on error behavior for non-scheduled posts would close the remaining gap.

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

Parameters3/5

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

Schema coverage is 100% with a single required post_id, so the schema carries the parameter burden and the baseline is 3. The description adds no format hints (e.g. where post_id comes from or whether it accepts a list) beyond what the schema already states.

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

Purpose5/5

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

Specific verb+resource ("Holds a scheduled post") plus the effect stated in plain terms ("so it doesn't go out"), and it explicitly names resume_post as the counterpart so the agent can separate pausing from resuming without opening either schema.

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

Usage Guidelines4/5

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

The second sentence explicitly routes to resume_post as the reverse operation, and "scheduled post" scopes which posts this applies to. What's missing is an exclusion: it doesn't say what happens if the post is already published or in draft, or whether reschedule_post should be used instead when only timing changes.

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

publish_post_nowPublish a post nowA
Destructive
Inspect

Publishes a saved post to its networks right away. A network that can't take it (connection broken, or a check it fails, like YouTube without a video) is left out and listed in skipped; the rest still go. Counts toward the plan's post allowance (one per network). Publishing takes about a minute; get_post shows each network's result.

NameRequiredDescriptionDefault
post_idYesThe post id.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, but the description adds genuinely non-obvious behavior: per-network partial failure with failures returned in a "skipped" list while the rest still publish. It also discloses that the call consumes one post from the plan allowance per network and takes roughly a minute, which an agent needs to avoid treating a failure as total or retrying blindly.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the action, then partial-failure behavior, then cost and result-retrieval. No filler and nothing repeated from the title.

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

Completeness5/5

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

For a one-parameter, non-idempotent mutation with no output schema, the description covers everything material: what happens on partial failure, that skipped networks are reported, the allowance cost, the latency, and where to check per-network results via get_post.

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

Parameters3/5

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

Schema coverage is 100% for the single post_id parameter, so the baseline applies. The description adds only the mild constraint that the post must already be "saved" rather than newly composed; it gives no format or validity details beyond the schema.

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

Purpose4/5

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

"Publishes a saved post to its networks right away" gives a specific verb (publishes), resource (a saved post), and scope (all its networks). "Right away" implicitly separates it from schedule_post and create_post, but no sibling is named outright, so the differentiation is inferred rather than stated.

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

Usage Guidelines3/5

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

Usage is implied: this is the immediate-publish path for an already-saved post, versus scheduling or creating. There is no explicit when-to-use/when-not statement and no named alternative for deferring publication, leaving the agent to match it against schedule_post on its own.

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

refresh_analyticsRefresh my analyticsA
Read-onlyIdempotent
Inspect

Pulls fresh followers and engagement from the connected networks, exactly like the refresh button on the Analytics page, and returns them with when each was fetched. get_analytics_summary reads the stored history, which this refresh updates.

NameRequiredDescriptionDefault
daysNo7, 30 or 90 (days) for the totals. Default 30.
networkNoOnly this network, e.g. instagram, facebook, twitter, linkedin, youtube, threads, bluesky. Leave empty for all connected.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint=false), but the description adds real context: the call hits external networks live and writes back to the stored analytics history that get_analytics_summary reads, and the response includes per-item fetch timestamps. Worth noting there is a mild tension between 'this refresh updates' the stored history and readOnlyHint=true; the effect is confined to local cache rather than remote data, so this is not a hard contradiction, but the description could have made that boundary explicit.

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

Conciseness5/5

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

Two tight sentences: the first defines the action and return shape, the second routes to or away from the sibling. Nothing redundant, and the core behavior is front-loaded.

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

Completeness4/5

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

With only two optional parameters, no output schema, and full annotation coverage, the description is nearly complete, and it usefully describes the return shape ('with when each was fetched'). It doesn't say what happens when a network is not connected or a refresh fails, which matters given the multi-network scope, so it stops short of 5.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are already documented, including the 7/30/90 day options and the enumerated network examples. The description adds no syntax, default, or interaction guidance for 'days' or 'network' beyond what the schema provides, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('pulls fresh followers and engagement from the connected networks') plus scope ('returns them with when each was fetched'), and explicitly distinguishes itself from get_analytics_summary as the write-through refresh versus the stored-history read. An agent can differentiate it from all 35 siblings without opening the schema.

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

Usage Guidelines4/5

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

Names the relevant alternative (get_analytics_summary) and the condition that separates them: this one fetches live data and updates stored history, the sibling reads that history. It gives no explicit when-not guidance (e.g. cost/rate implications of refreshing repeatedly) and doesn't mention the related list_connected_accounts dependency, so it falls short of a full 5.

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

reject_reply_draftTurn down a reply draftA
DestructiveIdempotent
Inspect

Turns down one waiting draft (draft_id from list_reply_drafts): nothing is sent, and the automation won't answer that message.

NameRequiredDescriptionDefault
reasonNoWhy, in a few words (optional).
draft_idYesThe draft_id from list_reply_drafts.

TDQS

A4/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, and the description usefully disambiguates what that means here: 'nothing is sent, and the automation won't answer that message'. That is real added value beyond the annotations, since it tells the agent the destructive effect is limited to the draft itself. It doesn't say whether the rejection is reversible or whether the draft record persists.

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

Conciseness5/5

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

A single front-loaded sentence with the primary effect first ('turns down one waiting draft') and the consequence second. Every clause carries information; no filler.

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

Completeness4/5

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

For a two-parameter state-change tool with no output schema, the description covers the key questions: which draft, where the ID comes from, and what actually happens downstream. The one meaningful gap is whether the draft is permanently discarded or can be restored, which matters given destructiveHint=true.

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

Parameters3/5

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

Schema coverage is 100% and both parameters already carry descriptions, so the schema does the heavy lifting. The description reinforces the provenance of draft_id but says nothing about the optional 'reason' field and adds no format or constraint detail beyond the schema.

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

Purpose4/5

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

The description names a specific verb ('turns down') and resource ('one waiting draft'), and the parenthetical anchors it to list_reply_drafts. An agent can tell it apart from approve_reply_draft and send_reply without opening any schema, though the contrast with approve_reply_draft is only implicit.

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

Usage Guidelines4/5

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

It tells the agent the draft must be in the 'waiting' state and where to obtain draft_id (list_reply_drafts), which is clear operational context. It stops short of explicitly naming alternatives or stating when-not to use it (e.g., use send_reply or schedule_reply to actually respond).

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

reschedule_postMove a scheduled postA
Idempotent
Inspect

Moves a scheduled (or paused) post. With when, every network goes out at that time. To give networks different times, use per_network_times (it can be combined with when for the rest). "best" picks each network's best time. A paused post stays paused.

NameRequiredDescriptionDefault
whenNoNew time for the post: ISO 8601 (read in the person's time zone without an offset) or "best".
post_idYesThe post id.
per_network_timesNoNew times for some networks; each when is ISO 8601 or "best".

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint=false, destructiveHint=false, idempotentHint=true), so the description's job is to add nuance; 'A paused post stays paused' does exactly that by disclosing that rescheduling does not resume or change publication state. It still does not say whether already-published posts are rejected or what errors occur, keeping it below a 5.

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

Conciseness4/5

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

Short, front-loaded, and every sentence carries information about scope or parameter combination. The quoted 'best' token and slightly clipped phrasing are minor readability costs but not waste.

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

Completeness4/5

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

For a three-parameter mutation with no output schema, the description covers the crucial interaction between 'when' and per_network_times and the paused-state behavior. It omits error conditions and what the post's resulting status is, so it is not fully complete.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description does add some meaning beyond the schema — that 'when' applies to every network and that per_network_times can be combined with 'when' for the remaining networks — but the ISO/timezone semantics and the 'best' value are already documented in the schema.

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

Purpose4/5

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

The description opens with a concrete verb and resource ('Moves a scheduled (or paused) post'), which clearly separates it from pause_post, resume_post, and delete_post. It does not explicitly name update_post or schedule_post as alternatives, so it falls short of full sibling differentiation.

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

Usage Guidelines4/5

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

It clearly explains when to use 'when' (all networks at one time) versus 'per_network_times' (different times per network) and how they combine, and explains that 'best' selects each network's best time. It never states when to use this tool instead of update_post or schedule_post, which is the main gap.

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

resume_postResume a paused postA
Destructive
Inspect

Puts a paused post back on the schedule. A post whose time has already passed needs a new time (when, ISO 8601 or "best"); it never goes out late by surprise.

NameRequiredDescriptionDefault
whenNoOptional new time: ISO 8601 or "best". Needed when the old time has passed.
post_idYesThe post id.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false. The description adds real context beyond that: it explains that a post whose time has passed needs a new time and will not silently publish late. That is valuable behavioral disclosure. It does not explain why the operation is marked destructive, which is the one remaining gap.

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

Conciseness4/5

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

Two sentences, front-loaded with the core action and followed by the conditional constraint. No filler. The colloquial phrasing 'never goes out late by surprise' is slightly informal but conveys the guarantee efficiently.

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

Completeness4/5

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

This is a simple two-parameter mutation with annotations and no output schema, so the description covers what an agent needs: what it does, the past-time condition, and that a new time may be required. It omits the failure case where the post is not paused, which would be a useful addition.

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

Parameters3/5

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

Schema coverage is 100%: both parameters are documented, including the ISO 8601 or 'best' options for 'when'. The description reinforces the conditional requirement for 'when', which is useful but largely repeats the schema. A baseline 3 is appropriate.

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

Purpose4/5

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

The description gives a specific verb and resource: it puts a paused post back on the schedule. That is clearly distinct from create_post, schedule_post, and pause_post. It does not explicitly name reschedule_post, the closest sibling, but the 'paused' qualifier narrows the purpose effectively.

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

Usage Guidelines3/5

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

The phrase 'paused post' implies the precondition for use, but the description never states the inverse relationship with pause_post, nor when to prefer reschedule_post over this tool. The condition for supplying 'when' is clear, so the gaps are moderate rather than severe.

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

schedule_postSchedule a postA
Destructive
Inspect

Schedules a saved post. Give one time for all networks, separate times per network, "best" for each network's best time (from the person's own results, else research), or use_queue to take the next open place in the person's posting queue. Times without an offset are read in the person's time zone; the result says which zone. Networks that can't take the post are left out and listed in skipped. Counts toward the plan's post allowance (one per network).

NameRequiredDescriptionDefault
whenNoWhen to post: ISO 8601 (e.g. 2026-11-02T09:00, read in the person's time zone) or "best".
post_idYesThe post id.
use_queueNotrue to use the person's posting queue instead of a time.
per_network_timesNoDifferent times for some networks; each when is ISO 8601 or "best".

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare this is non-read-only, non-idempotent, open-world, and destructive. Beyond that, the description adds valuable behavior: timezone interpretation, skipped networks being listed, and allowance consumption one per network. It does not, however, explain idempotency or what happens on repeated scheduling beyond what annotations imply.

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

Conciseness5/5

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

The description is front-loaded with the core action and then enumerates scheduling modes tightly. Every sentence carries useful operational detail, with no filler or repetitive restatement of the title.

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

Completeness4/5

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

For a scheduling mutation with no output schema, the description covers the key operational facts: timezone handling, skipped networks, and allowance impact. It is nearly complete, though it could clarify how this differs from reschedule_post and whether repeated calls alter an existing schedule.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents the parameters. The description still adds meaningful semantics beyond the schema by explaining 'best' timing, use_queue behavior, timezone interpretation, and per-network scheduling, though it does not detail every parameter interaction.

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

Purpose4/5

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

The description states a specific verb and resource: 'Schedules a saved post.' It is clear what the tool does, but it does not explicitly differentiate it from siblings like reschedule_post or publish_post_now, leaving sibling selection to inference.

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

Usage Guidelines3/5

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

The description explains scheduling modes (single time, per-network times, 'best', or use_queue), which is useful usage context. However, it gives no explicit guidance on when to choose this tool over reschedule_post, publish_post_now, or pause_post, so alternative selection remains implied.

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

schedule_replySchedule a replyA
Destructive
Inspect

Queues a reply to one inbox message for a later time (1 minute to 30 days ahead). It is sent only if nobody has answered the message by then, and counts toward the reply allowance when it goes out.

NameRequiredDescriptionDefault
textYesThe reply text.
whenYesWhen to send, ISO 8601. Without an offset it is read in the person's time zone.
message_idYesThe message id from list_inbox.
same_reply_to_many_confirmedNotrue means the person confirmed sending this same reply to many people (see same_reply_to_many).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, idempotentHint=false, and openWorldHint=true, but the description adds substantive behavior the annotations cannot convey: the send is conditional on no one answering first, it consumes the reply allowance, and the delay is bounded to 1 minute–30 days. It does not explain whether a scheduled reply can be cancelled or what happens if the window passes without the condition being met.

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

Conciseness5/5

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

Two sentences, no filler, with the core action and its time window up front and the conditional-send caveat immediately after. Every clause carries information.

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

Completeness4/5

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

For a destructive, non-idempotent write with a referenced confirmation flag (same_reply_to_many_confirmed) and no output schema, the description covers the main risks: delayed execution, conditional delivery, and quota consumption. The gaps are secondary — no guidance on cancellation or on what invalid/past timestamps do.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3, but the description contributes a real constraint the schema lacks: the allowed horizon for `when` (1 minute to 30 days). It also reinforces the single-message scope of message_id rather than a list.

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

Purpose4/5

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

The description names a specific verb and resource ('Queues a reply'), scopes it to 'one inbox message' and a bounded future window, which separates it in practice from send_reply and schedule_post. It stops short of naming those siblings explicitly, so the differentiation is inferred from scope rather than stated.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the 'reply later' option versus send_reply for immediate sends, but the description never states when to prefer it or when not to. There is no mention of the draft/approval flow siblings (list_reply_drafts, approve_reply_draft) that an agent might otherwise confuse with this tool.

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

send_replySend a replyA
Destructive
Inspect

Sends a reply to one inbox message (DM, comment or mention) from the person's account. A message is only ever answered once. Counts toward the reply allowance like an automatic reply.

NameRequiredDescriptionDefault
textYesThe reply text.
message_idYesThe message id from list_inbox.
same_reply_to_many_confirmedNotrue means the person confirmed sending this same reply to many people (see same_reply_to_many).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuine context beyond that: the write counts against the reply allowance like an automatic reply (a quota effect) and a message is only ever answered once (an irreversible, one-shot state change). It still does not explain what happens to the inbox item afterward or what the confirmation flag guards against.

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

Conciseness4/5

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

Three short sentences, led by the core action and scope so the essential information is front-loaded. The 'Counts toward the reply allowance like an automatic reply' sentence is compact but slightly cryptic without knowing what an automatic reply is. No filler or repetition overall.

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

Completeness4/5

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

There is no output schema, so the description needn't describe return values, and annotations cover the safety profile. The remaining essentials — scope, one-shot nature, quota impact — are present. A slightly fuller note on confirmation behavior for bulk sends and on the post-send inbox state would make it fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters — text, message_id and same_reply_to_many_confirmed — are already documented in the schema. The description does not elaborate on any parameter's format, provenance or semantics beyond what the schema states. With the schema carrying the full burden, a baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Sends a reply to one inbox message (DM, comment or mention)' from the person's account. It is distinguishable from draft-related siblings such as approve_reply_draft, list_reply_drafts and schedule_reply, though it never explicitly names those alternatives. The parenthetical enumerating message types adds useful scope detail.

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

Usage Guidelines3/5

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

The phrase 'A message is only ever answered once' implies this is the immediate-send path and warns of a one-shot constraint, which helps an agent decide. However, it never states when to prefer schedule_reply or approve_reply_draft over this tool, nor what prerequisite steps (e.g. fetching message_id via list_inbox) are required. Usage is implied rather than spelled out.

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

set_account_auto_replyTurn auto-replies on or off for one accountA
Idempotent
Inspect

Turns automatic replies on or off for one connected account (account_id from get_auto_reply_settings). YouTube needs the person's own agreement in the app the first time.

NameRequiredDescriptionDefault
onYestrue to turn on, false to turn off.
account_idYesThe account_id from get_auto_reply_settings.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare non-read-only, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds a genuine prerequisite the annotations cannot express – YouTube requires the person's own in-app consent the first time – which is exactly the kind of auth/permission context that earns credit. What happens when that consent is missing (error vs. silent no-op) is left unstated.

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

Conciseness4/5

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

Two sentences, front-loaded with the core action and followed by the account source and the one caveat. The parenthetical is slightly clunky but nothing is wasted.

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

Completeness4/5

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

For a two-parameter toggle with full schema coverage and no output schema, the definition gives enough to invoke it correctly, including the id source and the YouTube consent caveat. The one real gap is sibling disambiguation against set_auto_reply, which is not addressed.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are documented with clear meanings, including the boolean polarity. The description's note that account_id comes from get_auto_reply_settings merely repeats the schema's own parameter text, adding no new semantics; baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('turns automatic replies on or off') and scopes it to one connected account, so the effect is unambiguous. It does not differentiate itself from the sibling set_auto_reply, which reads as a near-identical operation, leaving the agent to guess between them.

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

Usage Guidelines3/5

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

It tells the agent where account_id comes from ('from get_auto_reply_settings'), which implies the natural read-then-write sequence. But there is no explicit when-to-use versus set_auto_reply, create_auto_reply_rule, or the draft-approval siblings, and no stated prerequisites or exclusions.

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

set_auto_replyChange auto-reply settingsA
Idempotent
Inspect

Turns automatic replies on or off overall, chooses which message types get them (DMs, comments, mentions), whether each type waits for the person's approval first, the daily reply limit, the hours replies go out, and a wait before each reply. Fields left out stay the same.

NameRequiredDescriptionDefault
onNoAuto-replies on (true) or off (false).
always_onNotrue = reply at any hour; false = only between active_hours_start and active_hours_end.
reply_to_dmsNoReply to direct messages.
delay_minutesNoWait before each reply goes out: 0, 5, 10 or 30 minutes.
active_hours_endNoWhen replies stop each day, HH:mm, e.g. 18:00.
ask_me_first_dmsNoDM replies wait for the person's approval.
daily_reply_limitNoMost replies per day; 0 = the plan's full daily amount.
reply_to_commentsNoReply to comments.
reply_to_mentionsNoReply to mentions.
active_hours_startNoWhen replies start each day, HH:mm in the person's time zone, e.g. 09:00.
ask_me_first_commentsNoComment replies wait for the person's approval.
ask_me_first_mentionsNoMention replies wait for the person's approval.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds a genuinely non-structured behavioral fact — omitted fields are preserved rather than reset, making the call a safe partial update. It does not disclose permission requirements or whether turning replies off affects queued drafts.

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

Conciseness4/5

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

The purpose and partial-update rule are front-loaded in two sentences with no filler, and the closing clause is the highest-value line. It is a dense run-on list that largely mirrors the schema's enumeration, so it is efficient but not maximally economical.

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

Completeness4/5

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

For a 12-parameter mutation with no output schema, the description covers the essential pieces: what it toggles, what it configures, and that unset fields persist. The main remaining gap is scope — whether this is account-wide and how it interacts with the account-specific sibling — which an agent must resolve before calling.

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

Parameters3/5

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

Schema description coverage is 100% and every one of the 12 fields carries its own explanation, including allowed delay values and HH:mm formatting, so the schema does the heavy lifting. The description only groups the fields by theme (message types, approvals, limit, hours, delay) without adding constraints beyond what the schema states — the 3 baseline is appropriate.

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

Purpose4/5

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

The description opens with a specific verb+resource ('Turns automatic replies on or off overall') and enumerates the settings it governs, so an agent can tell it apart from read-side siblings like get_auto_reply_settings or rule-level tools like create_auto_reply_rule. It stops short of naming which account/scope the 'overall' toggle applies to, leaving ambiguity with set_account_auto_reply.

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

Usage Guidelines3/5

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

'Fields left out stay the same' strongly implies this is the partial-update path rather than a create or per-account override, which is useful implied guidance. However, no explicit when-to-use vs set_account_auto_reply, create_auto_reply_rule, or update_auto_reply_rule is given, so the agent must infer routing from names.

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

update_auto_reply_ruleChange an auto-reply ruleA
DestructiveIdempotent
Inspect

Changes one auto-reply rule (rule_id from get_auto_reply_settings). Fields left out stay the same.

NameRequiredDescriptionDefault
nameNo
whenNoany, keyword or exact.
activeNo
keywordNo
rule_idYesThe rule_id.
priorityNo
applies_toNodm, comment or mention.
reply_textNo
reply_withNoai or fixed.
skip_approvalNo

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The clause 'Fields left out stay the same' adds genuine patch semantics that the annotations do not provide, but the description never says what the destruction actually means (e.g. that an existing reply_text or priority ordering is overwritten) or whether the rule must be re-approved.

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

Conciseness5/5

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

Two short sentences, verb-and-resource first, identifier provenance second. Nothing is wasted and the most important constraint (omitted fields are preserved) is visible without reading further.

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

Completeness3/5

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

For a ten-parameter mutation tool with no output schema and only 40% schema coverage, the description covers the essentials of patching by id but leaves conditional dependencies unexplained, notably that 'when=keyword' is meaningless without keyword and that applies_to/reply_with take small value vocabularies. It is adequate to invoke safely on the happy path but thin for edge cases.

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

Parameters3/5

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

Schema coverage is only 40%, so several of the ten parameters (keyword, priority, skip_approval, active) have no documented meaning anywhere, and the description does not compensate for that gap. It does explain why every optional field accepts null (leave unchanged) and where rule_id originates, which is real added meaning over the schema's circular 'The rule_id.'

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

Purpose4/5

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

The description names a specific verb and scope: 'Changes one auto-reply rule', which separates it from create_auto_reply_rule and delete_auto_reply_rule. It also points to the sibling that supplies the required identifier, so the agent knows which tool precedes this one.

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

Usage Guidelines3/5

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

The parenthetical '(rule_id from get_auto_reply_settings)' is implicit guidance to call the read tool first, which is useful context. However, there is no explicit when-to-use/when-not framing and no warning that this is not the tool for creating rules or changing account-wide defaults via set_auto_reply.

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

update_postEdit a postA
Destructive
Inspect

Changes a draft, scheduled or failed post: text, networks, per-network versions or media. Fields left out stay the same. A scheduled post goes back to draft and needs scheduling again.

NameRequiredDescriptionDefault
textNoNew main text.
post_idYesThe post id.
networksNoThe full new list of networks.
alt_textsNoAlt text for each image, same order as media_urls.
media_urlsNoThe full new list of media links. Send an empty list to remove all media.
per_networkNoPer-network versions to change (others stay as they are).

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already flag destructiveHint=true and non-idempotent, but the description adds genuinely new behavior: partial-update semantics ('fields left out stay the same') and the side effect that a scheduled post is demoted to draft and must be rescheduled. It still doesn't explain what makes the operation destructive (presumably media replacement/removal) or what the call returns.

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

Conciseness5/5

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

Three short sentences: what can be changed, what an omission means, and the scheduling side effect. Front-loaded with the verb and resource, no filler, every clause carries information the agent needs.

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

Completeness4/5

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

For a 6-parameter mutation with a nested per-network structure and no output schema, the description covers eligibility, merge semantics and the most surprising side effect. Gaps remain: no statement about what is returned after the edit, and no explicit guidance for replacing or clearing media beyond the schema's own note.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not state: that omitted fields are preserved, making this a merge rather than a replace. It also frames the field groups collectively ('per-network versions or media'), helping the agent map intent to the right parameters.

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

Purpose4/5

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

Names a specific verb (changes) plus the resource (a post) and enumerates the editable facets: text, networks, per-network versions, media. It also scopes the tool to posts in draft, scheduled or failed state, which implicitly separates it from publish_post_now, reschedule_post and create_post without naming them.

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

Usage Guidelines4/5

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

The state restriction ('draft, scheduled or failed') tells the agent when this tool is applicable, ruling out editing published posts. The note that a scheduled post reverts to draft is effectively a when-to-use caveat that signals reschedule_post may be the better call for time-only changes, though it never names that sibling explicitly.

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables posting and managing content across 13+ social media platforms with scheduling, analytics, AI generation, and approval workflows through natural language.
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Schedule, publish, and measure social posts on Facebook, Instagram, TikTok, LinkedIn, Threads, Pinterest, and X for one brand or many.
    34
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    AI-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.
    6
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Manage Threads and Bluesky social media from AI assistants. Schedule posts, check analytics, and automate follow-up replies.
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources