Dalea AI
Server Details
Plan, write and analyze Instagram and TikTok content using your Dalea account.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Score is being calculated.
Available Tools
103 toolsaccept_brainstorm_suggestionAccept brainstorm suggestionADestructiveInspect
Accept a brainstorm suggestion: creates a content card in the idea column from its title, idea and funnel stage (no AI), then marks the suggestion as added with contentId. scheduledDate (YYYY-MM-DD or ISO) overrides the suggestion's suggested date as the planned date. The suggestion's text is NOT changed; nothing is published. Fails if the suggestion was already added. Returns { suggestion, content }.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| suggestionId | Yes | ||
| scheduledDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only covering the safety profile, the description adds substantial behavioral context: card is created 'no AI', the suggestion's text is NOT changed, nothing is published, the already-added failure mode, and the return shape. These are exactly the side-effect details an agent needs before invoking a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense but well-ordered paragraph that front-loads the action and effect, then layers the overrides, non-effects, failure mode, and return value. No filler sentences; each clause carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming the returned { suggestion, content } pair. It also covers side effects and failure conditions thoroughly, but the unexplained brandId parameter leaves a minor hole in an otherwise complete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and it only partly compensates: scheduledDate is well defined (YYYY-MM-DD or ISO, overrides the suggested date as the planned date) and suggestionId is implied by the failure condition, but brandId is never mentioned or explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (accepts a brainstorm suggestion) and spells out the concrete effect: creating a content card in the idea column from title/idea/funnel stage, then flagging the suggestion as added with contentId. It reads clearly against siblings like dismiss_brainstorm_suggestion, list_brainstorm_suggestions, and create_content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage context plus a failure precondition ('Fails if the suggestion was already added') and notes scheduledDate overrides the suggested date. It does not explicitly contrast with alternatives such as dismiss_brainstorm_suggestion or create_content, so the routing guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_content_sourceAdd content sourceAIdempotentInspect
Attach an article URL, raw text (200–150000 characters), or uploaded PDF and start AI extraction in the background. Maximum 5 sources including 3 PDFs per card. Extraction runs asynchronously; its result becomes available to script generation. Reattaching the same source returns its existing ID. PDF URLs must be downloaded by the agent and uploaded first.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | Choose a source shape: {"kind":"url","url":"https://..."}, {"kind":"text","title":"Interview","text":"..."}, or {"kind":"pdf","pdfPath":"path from create_content_source_upload","fileName":"report.pdf"}. | |
| brandId | No | ||
| contentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag the operation as non-read-only, idempotent and open-world; the description adds substantive behavior beyond them: extraction is asynchronous, its result becomes available to script generation, and duplicate attachment is deduplicated. It does not say how to observe completion or what happens on quota overflow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences that front-load what is attached and that extraction starts in the background, then add constraints. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and light annotation coverage, the description covers the mutation's safety-relevant behavior well (async, idempotent, quotas, PDF precondition). Minor gaps remain around the identifier parameters and how the caller learns extraction finished.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, and the description documents the source shape (text length, PDF path origin) which the schema already partially covers, but leaves contentId and brandId completely unexplained — no hint on which content card is being modified or how brandId relates to it. It does add the 200–150000 character bound and the create_content_source_upload provenance for pdfPath.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Attach an article URL, raw text ... or uploaded PDF') plus the consequential side effect ('start AI extraction in the background'). An agent can distinguish this from create_content_source_upload (which only stages a PDF) and get_content_source (which only reads).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operating conditions: PDF URLs must be downloaded by the agent and uploaded first, reattaching returns the existing ID, and quotas (max 5 sources / 3 PDFs per card). It never names a sibling as the alternative tool, so the routing is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_creator_factAdd creator factAInspect
Record a fact about the creator in the learning ledger (source manual, status active). category defaults to preferencia. If an active fact with the same text already exists it is returned instead of duplicated (created: false). Does not regenerate the creator memory.
| Name | Required | Description | Default |
|---|---|---|---|
| fact | Yes | ||
| brandId | No | ||
| category | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (not read-only, not destructive), and the description adds real behavior beyond them: dedupe semantics ('if an active fact with the same text already exists it is returned instead of duplicated (created: false)'), the default category, and an explicit non-effect ('does not regenerate the creator memory'). The only tension is that this dedupe behavior reads as idempotent while the annotations set idempotentHint=false, which is a minor inconsistency rather than a misleading claim.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then defaults, then dedupe behavior, then the boundary note. No filler and every clause carries information an agent would otherwise have to guess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-param mutation with no output schema and no schema descriptions, the description should say more about the return shape (only 'created: false' is disclosed) and about brandId/targeting. Safety and dedupe behavior are covered, so it is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 3 params, and the description compensates only partially: it explains what 'fact' is and that 'category' defaults to 'preferencia', but never lists the enum values or says what 'brandId' scopes the fact to. Baseline 3 for a partially-compensated low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Record a fact about the creator in the learning ledger') plus the implied source (manual) and status (active). The closing line 'Does not regenerate the creator memory' explicitly separates it from update_creator_memory/regenerate_creator_memory, so an agent can distinguish it from the many sibling *creator_fact and *creator_memory tools without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the dedupe rule and the 'does not regenerate the creator memory' note tell the agent this is a single-fact append rather than a memory rebuild, but there is no explicit statement of when to prefer this over add_restriction, review_creator_fact, or update_creator_context, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_restrictionAdd restrictionAInspect
Add a restriction: something the brand never wants in its content. Text is whitespace-normalized and capped at 280 characters; an identical existing restriction is not duplicated. Returns the full restriction list. Does not touch creator facts or script preferences.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (not read-only, not destructive, not idempotent). The description adds genuinely useful behavior beyond that: whitespace normalization, a character cap, deduplication of identical restrictions, and the return shape (full restriction list). Minor friction comes from the stated 280-char cap conflicting with the schema's maxLength of 300.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight clauses, front-loaded with the core definition and no filler. Efficient, though the trailing negation clause is slightly awkwardly attached.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation with no output schema, the description covers return value, dedup semantics, input normalization, and scope boundaries. The unexplained brandId parameter and the 280/300 cap mismatch are the only notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains handling of 'text' (normalized, capped) but the stated 280-char limit contradicts the schema's 300, and brandId is not explained at all, leaving half the parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (add) and resource (restriction) and immediately defines what a restriction is ('something the brand never wants in its content'), so an agent can distinguish it from list_restrictions, remove_restriction, and the creator-fact tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The negative scoping clause ('Does not touch creator facts or script preferences') usefully routes the agent away from add_creator_fact and update_script_preferences, but there is no explicit when-to-use guidance and no forward reference to list_restrictions/remove_restriction as the complementary tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_brand_siteAnalyze brand siteAInspect
Analyze a public website to understand the brand's business. Requires confirmed AI usage; returns pending while the analysis runs. Reuses an active run; retry after failure or after 10 minutes if stuck. Stores the business analysis used in generation; does not extract colors or update the strategy brief. API reference: https://usedalea.ai/docs/mcp/tools/analyze_brand_site.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| brandId | No | ||
| confirm | Yes | The user authorized this operation and its AI usage. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the read/write/open-world profile, but the description adds the async contract ('returns pending while the analysis runs'), deduplication behavior ('reuses an active run'), a retry policy with a concrete time window, an authorization prerequisite, and a durable side effect (storing the business analysis). That is meaningful behavioral disclosure well beyond what the structured hints provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: the core action comes first, followed by async behavior, retry rules, and non-goals. Nearly every clause carries information, though the trailing API reference URL is boilerplate that adds no selection value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does cover the key return-state concept (pending vs. completed) plus persistence of the result, which is what an agent most needs for an async tool. The remaining gap is brandId's role and whether one is required, which leaves a required-ish decision under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% – just the 'confirm' parameter is documented, and url/brandId are bare. The description compensates partially by clarifying that url must be a public website and that confirm gates AI usage, but brandId is never explained (is it required? defaults to current brand?). Baseline 3 for a low-coverage schema that is only half-compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Analyze a public website to understand the brand's business.' It also bounds the operation by naming what it does not do ('does not extract colors or update the strategy brief'), which helps separate it from extract_brand_kit and update_strategy_brief. It stops short of naming its retrieval counterpart get_brand_site_analysis, so sibling differentiation is inferred rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real operating conditions: the AI usage must be confirmed, an active run is reused, and retry is appropriate after failure or if stuck beyond 10 minutes. The exclusion of color extraction and strategy-brief updates further routes the agent away from adjacent tools. It never explicitly points to get_brand_site_analysis for polling results, which would have made this a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_catalog_videoAnalyze catalog videoAInspect
Analyze a catalog video with Dalea's video-analysis pipeline and return its analysis plus verbatim transcript. Uses the brand language unless overridden. Reuses a ready analysis in that language without consuming quota. Missing/failed analysis requires confirmed AI usage and a daily quota; waits for completion and may take a few minutes. Does not generate a creator's general analysis or save the video as a reference. The returned analysis is also saved in the catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| confirm | Yes | ||
| videoId | Yes | ||
| language | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag a non-read-only, non-idempotent mutation; the description goes well beyond them by disclosing quota consumption, caching of ready analyses, latency ('waits for completion, may take a few minutes'), and the side effect that the result is saved in the catalog. This is exactly the behavioral context an agent needs before invoking a quota-consuming mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and reuse/quota behavior are front-loaded, and the inclusion/exclusion statements are dense but justified. It is a fairly long block with several clauses, though each carries distinct information; no obvious filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still conveys the return payload (analysis + verbatim transcript), the persistence side effect, and the timing/quota model. For a quota-consuming mutation with a 0%-covered schema, this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for 4 parameters, so the description must carry the load. It hints at the language override ('brand language unless overridden') and the confirm gate ('requires confirmed AI usage'), but leaves videoId and brandId meaning implicit and does not explain the language enum. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Analyze a catalog video'), names the pipeline, and adds the concrete output ('analysis plus verbatim transcript'). It actively distinguishes itself from siblings by declaring what it does not do (no creator's general analysis, no saving as a reference), separating it from analyze_video and save_catalog_video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly frames the when-to-use conditions: it reuses a ready analysis without consuming quota, but missing/failed analysis requires confirmed AI usage plus a daily quota. The exclusions route the agent away from analyze_video and save_catalog_video. It stops short of naming those siblings explicitly, so routing 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.
analyze_videoAnalyze videoAInspect
Analyze one of the brand's own published video posts using the same pipeline as Dalea. Pass platformVideoId from list_videos and platform to disambiguate. Returns cached analysis without AI or quota when available; otherwise requires confirm=true and consumes the daily quota (10/day). Includes transcript/timed segments when available, hook, structure, visual analysis, takeaway and comparison with the same connected account. Respects manual classifications. Check evidence: thumbnail or metadata is not observation of the video. Images/carousels are unsupported. Does not sync metrics. saved=false means persistence failed.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| confirm | Yes | ||
| platform | No | ||
| platformVideoId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Far exceeds the annotations (which only say readOnly false, idempotent false): it discloses caching behavior, quota consumption (10/day), the confirm gate, what the analysis contains, that manual classifications are respected, that images/carousels are unsupported, that metrics are not synced, and that saved=false means persistence failure. This is exactly the extra behavioral context the annotations don't carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and inputs, then the behavioral caveats. Dense but each sentence carries information (quota, evidence caveat, unsupported media, persistence flag). Slightly list-like but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only safety annotations, the description covers return contents, caching/persistence semantics, quota cost, and media limitations. An agent has everything needed to invoke and interpret a call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It meaningfully explains platformVideoId (from list_videos), platform (disambiguation), and confirm (required, quota-consuming), covering 3 of 4 params. brandId is left unexplained, which is the only gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Analyze one of the brand's own published video posts') and explicitly scopes it to the brand's own videos, which distinguishes it from analyze_catalog_video. It also names the sibling source tool list_videos, so an agent can identify it without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: pull platformVideoId from list_videos, pass platform to disambiguate, and confirm=true is required for uncached runs. It implies but never explicitly names the alternative (analyze_catalog_video) or states the condition separating the two, so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_creator_factArchive creator factADestructiveIdempotentInspect
Archive a creator fact by id so it stops feeding generation. The row is kept (status archived), not deleted. Returns the updated fact.
| Name | Required | Description | Default |
|---|---|---|---|
| factId | Yes | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=true, but the description adds genuinely useful clarification: the operation is a soft archive (status change), not a row deletion, and it returns the updated fact. This reframes the destructive hint in a way the annotations alone cannot, though it omits permissions or whether archived facts can be unarchived.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, with the action and its purpose front-loaded before the soft-delete clarification and return value. Nothing could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation with annotations covering safety and idempotency and no output schema, the description covers the essentials: what happens to the row and what is returned. The only meaningful gap is the undocumented optional brandId and any unarchive path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters. The description explains factId implicitly ('by id'), which is the required parameter, but says nothing about the optional brandId or what scoping it performs, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (archive), resource (creator fact), and scope qualifier ('by id'), plus the effect on downstream generation. It implicitly contrasts with hard deletion by noting the row is kept, though it does not name sibling tools like delete_content or list_creator_facts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'so it stops feeding generation' implies when a caller would want this (suppressing a fact from generation), and 'The row is kept (status archived), not deleted' hints at the soft-vs-hard-delete choice. However, it never states explicit conditions or names an alternative tool, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attach_content_referenceAttach content referenceIdempotentInspect
Attach a catalog/owned video or catalog creator to a content card. Use videoId from saved references (not savedVideoId). Does not spend AI quota or generate analysis; analyze selected catalog videos with analyze_catalog_video first (generate_scripts analyzes at most 3 not-yet-analyzed videos per card). A card holds at most 30 video references. Returns the attachment ID for detaching.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | ||
| brandId | No | ||
| contentId | Yes | ||
| referenceId | Yes |
bulk_create_contentsBulk create contentsAInspect
Create 1-20 content cards in one call (no AI). Each item has the create_content shape (title or idea required; optional status, scheduledDate, platforms, mediaType, category, funnelStage, hook, body, cta, caption). Cards are created in order at the bottom of their column; nothing is published. Not idempotent: calling twice creates the cards twice. Returns { contents, created }. The returned url opens the card in Dalea for review and editing.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-idempotent, non-destructive. The description reinforces non-idempotency with a concrete consequence ('calling twice creates the cards twice') and adds facts annotations cannot express: ordering behaviour (created in order at the bottom of their column), no publishing, and the return payload/url semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core action and limits. Every sentence carries information (scope, item shape, side effects, return value), with only mild redundancy between 'not idempotent' and the annotation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description supplies the return shape { contents, created } and explains the URL, and it covers limits, required fields, ordering, and idempotency. The only gap is the unmentioned optional brandId parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well by enumerating the item shape and stating 'title or idea required' plus the optional fields. It omits brandId entirely, which is the one parameter left undocumented in both description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with batch scope ('Create 1-20 content cards in one call (no AI)'), which clearly separates it from the singular create_content and the AI-driven creation paths. It does not name those siblings explicitly, so the differentiation relies on the agent inferring from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clarifies what does NOT happen ('nothing is published') and the non-idempotent consequence, which is useful context. However, it never says when to prefer this over create_content or create_content_from_source, nor any prerequisites, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_brand_kit_uploadCreate brand kit uploadAInspect
Create a private signed upload URL for a brand manual PDF up to 10 MiB. Upload the PDF bytes using HTTP PUT with Content-Type application/pdf; then pass assetPath to extract_brand_kit. The upload URL expires in 2 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety profile (readOnly=false, destructive=false, idempotent=false). The description adds substantive behavior the agent cannot get elsewhere: a 10 MiB size cap, the required HTTP PUT method and content type, a 2-hour URL expiry, and the chaining into extract_brand_kit. This is exactly the value-add expected when annotations already cover safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each carrying distinct load-bearing information (what it makes, how to use the URL, how long it lasts) with the core purpose front-loaded. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no nested objects, the description still supplies the return artifact (assetPath), the size/size-limit and expiry constraints, and the downstream step. An agent has everything needed to invoke it correctly and act on the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single brandId parameter with 0% schema description coverage, and the description never explains it, nor does it note that brandId is not required (requiredParameters=0). The intent is inferable from context but not stated. This is the weakest dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Create a private signed upload URL for a brand manual PDF.' This cleanly separates it from the sibling upload_brand_logo (logo image vs. manual PDF) and get/update_brand_kit (retrieval vs. URL provisioning). An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit end-to-end workflow: PUT the PDF bytes with Content-Type application/pdf, then pass assetPath to extract_brand_kit. That names the follow-up tool and the condition for using it. It stops short of stating when NOT to use it (e.g., vs. upload_brand_logo), so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_contentCreate contentAInspect
Create a new content card on the board/calendar (no AI). Requires a title or idea. status: idea | draft | edited | posted (default idea). scheduledDate (YYYY-MM-DD or ISO timestamp) sets the calendar date. For a carousel (mediaType carousel), write every slide in body, in order, separated by "\n\n---\n\n". The returned url opens the card in Dalea for review and editing. API reference: https://usedalea.ai/docs/mcp/tools/create_content.
| Name | Required | Description | Default |
|---|---|---|---|
| cta | No | ||
| body | No | ||
| hook | No | ||
| idea | No | ||
| title | No | ||
| status | No | ||
| brandId | No | ||
| caption | No | ||
| category | No | ||
| mediaType | No | ||
| platforms | No | ||
| funnelStage | No | ||
| scheduledDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (non-read-only, non-destructive, non-idempotent, closed-world), so the bar is lower. The description still adds real behavior: the default status, the accepted date formats, the required title/idea constraint, the carousel body-separator convention, and what the returned URL is for. It doesn't flag that repeat calls create duplicates, but idempotentHint=false already conveys that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, front-loaded with the core action and the key constraint, with formatting rules for carousel and date placed after. No filler, though the status enum list and API-reference link add mild bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter mutation tool with no output schema and no schema descriptions, the description explains the essentials (title/idea, status, date, carousel body) and the return URL, but leaves over half the parameters undefined. An agent can call the common path correctly but would guess at platforms, brandId, caption, hook, and cta semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 13 parameters, so the description carries the burden but only documents title, idea, status, scheduledDate, mediaType/body and partially the return value. The status enum and default are useful, but hook, cta, caption, platforms, brandId, category, and funnelStage have no meaning added anywhere. Partial compensation warrants a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a new content card on the board/calendar') and immediately distinguishes itself from the AI-generation siblings like generate_title/generate_hook with '(no AI)'. An agent can differentiate it from create_content_from_source and bulk_create_contents without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear creation condition ('Requires a title or idea') and implicitly routes agents away from AI-generation tools via '(no AI)'. However, it never names siblings such as bulk_create_contents (for batch) or create_content_from_source (from a source), so the choice among creation tools is left partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_content_from_sourceCreate content from sourceAInspect
Create a content card from an article URL, raw text or uploaded PDF. Supply the editorial idea and optional title in the brand language. By default starts extraction in the background. With generate=true, waits for extraction then generates a script using the normal generate_scripts quota. Always preserves the card ID on partial failure so the agent can resume.
| Name | Required | Description | Default |
|---|---|---|---|
| idea | Yes | ||
| title | No | ||
| source | Yes | Choose a source shape: {"kind":"url","url":"https://..."}, {"kind":"text","title":"Interview","text":"..."}, or {"kind":"pdf","pdfPath":"path from create_content_source_upload","fileName":"report.pdf"}. | |
| brandId | No | ||
| generate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (non-read-only, open-world, non-idempotent, non-destructive). The description adds substantive behavior the annotations cannot: default async extraction, the blocking generate=true path and its quota cost, and the partial-failure guarantee that the card ID is preserved for resumption.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with the core action and accepted inputs front-loaded, then mode behavior, then the error-recovery guarantee. Nothing is wasted, though the mode/quota sentence is dense enough that it could be split for scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, five parameters at 20% schema coverage, and no annotations on async behavior, the description carries a lot of weight and covers most of it: inputs, source shapes, sync/async modes, quota implications, and failure semantics. The gaps are brandId semantics and any hint of what the call returns on success beyond the card ID.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, so the description must compensate and largely does: it defines idea as the editorial idea, title as optional and brand-language, enumerates the source variants, and specifies what generate=true does. Only brandId is left undefined in both description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ('Create a content card') and enumerates the three accepted source shapes (article URL, raw text, uploaded PDF), which lets an agent separate this from create_content and create_content_source_upload 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the two operating modes clearly: background extraction by default versus generate=true waiting for extraction and then generating a script against the generate_scripts quota. It does not explicitly name sibling alternatives such as create_content_source_upload, so the routing guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_content_source_uploadCreate content source uploadAInspect
Prepare a private signed PDF upload for this brand (10 MiB, expires in 2 hours). PUT bytes to uploadUrl, then pass pdfPath to add_content_source or create_content_from_source.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which only mark it non-read-only, non-destructive), the description discloses concrete behavioral traits: the upload is private, signed, capped at 10 MiB, expires after 2 hours, and is consumed via a PUT to the returned uploadUrl. These are exactly the operational constraints an agent needs and are not derivable from the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the verb+resource front-loaded and the size/expiry/workflow details packed into the follow-up. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-step upload tool with no output schema, the description does a good job of covering the full flow from preparation through PUT to downstream handoff, effectively describing the returned uploadUrl/pdfPath. It omits any mention that brandId is effectively required and says nothing about failure modes or cleanup of an expired upload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single brandId parameter, so the description must compensate. 'For this brand' gives only a loose hint that brandId selects the target brand; it adds no format, source, or required-ness detail, leaving the parameter largely undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Prepare a private signed PDF upload for this brand') and immediately situates itself in a workflow by naming the downstream tools (add_content_source, create_content_from_source). An agent can distinguish it from create_brand_kit_upload or upload_brand_logo 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operational context: PUT bytes to uploadUrl, then pass pdfPath to add_content_source or create_content_from_source. That sequencing is genuinely useful routing guidance, but it never states when this upload path is preferable to alternatives or any preconditions, so it stops short of explicit 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.
delete_contentDelete contentADestructiveIdempotentInspect
Delete a content card from the board/calendar by id. The card disappears from the app (soft delete).
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| contentId | Yes |
TDQS
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. The description adds genuinely new behavioral context: this is a soft delete and the card disappears from the app, which tells the agent the record is not hard-purged. It stops short of saying whether the deletion is reversible or how to restore.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the verb and resource front-loaded, and the soft-delete caveat placed immediately after. 'from the app' is slightly redundant but nothing else is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with rich annotations and no output schema, the description covers the essential behavior including the soft-delete semantics. The unexplained brandId and the absence of failure/permission behavior keep it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It explains contentId only implicitly ('by id') and says nothing about brandId, leaving half of the two parameters undocumented anywhere. The one hint given does not compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Delete a content card') plus the identifying key ('by id'), which is clear enough to distinguish it from sibling mutations like update_content or move_content. It doesn't explicitly contrast itself with the other delete-ish siblings (delete_saved_reference, detach_content_reference), so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'by id' phrasing and 'from the board/calendar' scope imply the usage context, but there is no statement of when to use this versus unschedule_content, detach_content_reference, or archive-type alternatives, nor any prerequisites. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_saved_referenceDelete saved referenceADestructiveIdempotentInspect
Permanently remove a saved reference video (id from list_saved_references). The catalog video itself and any inspirations are untouched.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| savedVideoId | Yes |
TDQS
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. The description adds genuinely new context: permanence and the explicit negative scope (catalog video and inspirations untouched), which is exactly the information an agent needs before a destructive call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the destructive nature and the scope boundary front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and annotations cover the safety profile, so the remaining burden is impact scope — which the description largely discharges. Only brandId's role and any permission requirements are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 2 parameters, so the description must compensate. It clarifies savedVideoId's origin (list_saved_references) but says nothing about brandId, leaving half the parameters undocumented in both schema and text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb + resource ('Permanently remove a saved reference video') and disambiguates it from nearby delete/detach siblings by declaring what is NOT affected. An agent knows immediately what object is being removed and what survives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent where the required id comes from ('id from list_saved_references'), which implies a list-then-delete workflow, but it never states when to use this over detach_content_reference or delete_content, nor any preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detach_content_referenceDetach content referenceADestructiveIdempotentInspect
Remove an attachment (video, creator or source) from a content card. Does not remove a saved library reference or catalog item.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| contentId | Yes | ||
| referenceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, so safety semantics are covered structurally. The description adds useful scoping context about what is and isn't destroyed, but says nothing about permission requirements, reversibility, or the effect on the underlying video/creator/source object. Adequate but not rich, given the annotations carry the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed immediately by the scope exclusion. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, the description covers intent and scope but leaves parameters undocumented and omits any auth, reversibility, or post-condition detail. Combined with annotations covering safety hints, it is minimally complete but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 3 parameters, so the description carries the full burden, yet it never mentions contentId, referenceId, or brandId. At best 'content card' loosely hints at contentId and 'attachment/video/creator/source' at referenceId, but the mapping and the role of the optional brandId are left to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Remove') and resource ('an attachment (video, creator or source) from a content card'), and explicitly narrows the scope, distinguishing it from deletion of library references or catalog items. An agent can tell it apart from attach_content_reference and delete_saved_reference 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear negative boundary ('Does not remove a saved library reference or catalog item'), which steers the agent away from the adjacent delete_* tools. However, it does not positively state when to reach for this tool or name the preferred alternative for library/catalog removal, so it falls short of full when/when-not/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dismiss_brainstorm_suggestionDismiss brainstorm suggestionADestructiveIdempotentInspect
Mark a brainstorm suggestion as dismissed so it leaves the pending list. Does NOT delete it, does NOT touch any content card already created from it, and publishes nothing. Returns { suggestion }.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| suggestionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=true, but the description adds real behavioral boundaries the annotations cannot: it does not delete the suggestion, does not touch content cards already created from it, and publishes nothing. It also names the return shape, which matters since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences; the primary action and the scope-routing negation are front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the 'Returns { suggestion }' note is genuinely useful, and the non-destructive boundaries are complete. However, leaving both parameters undocumented leaves an agent guessing about brandId's role and the identifier format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters (brandId, suggestionId), and the description adds no meaning for either — no format, scoping, or whether brandId is required. With this coverage gap the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Mark a brainstorm suggestion as dismissed') and its effect on the pending list. The sibling accept_brainstorm_suggestion and delete_content make the distinction easy to draw from the naming plus the explicit 'does NOT delete' clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The described effect ('so it leaves the pending list') plus the negations clearly frame when to use this over accept_brainstorm_suggestion or delete_content. It stops short of explicitly naming those alternatives, so the routing is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_contentDuplicate contentAInspect
Create a copy of a content card (same title, idea, script, caption, platforms, mediaType, format, category, funnelStage, communicationStyle, targetDurationSeconds) at the bottom of the idea column, with no planned date. The original is NOT changed; references, generations and refine chat are NOT copied; nothing is published. Returns the new card and duplicatedFromId. The returned url opens the card in Dalea for review and editing.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| contentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it clarifies the original is NOT changed, that references, generations and refine chat are NOT copied, that nothing is published, and that the return includes the new card and a duplicatedFromId along with a url. These are exactly the mutation-boundary facts an agent needs and are not derivable from readOnlyHint=false / destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tightly packed passage with the action and the scoping constraints front-loaded; every clause (placement, no date, nothing published, return shape) carries information the agent needs. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with no output schema, the description supplies the behavioral envelope and the return shape (new card, duplicatedFromId, url), which is close to sufficient. It stops short of describing error conditions, required permissions, or what contentId/brandId must refer to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no meaning for contentId or brandId, nor does it clarify the relationship between them or whether brandId is optional. It lists the fields that get duplicated, which is useful context, but says nothing about the two actual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a copy of a content card') and enumerates the copied fields plus where the copy lands (bottom of the idea column, no planned date). It implies the distinction from create_content by specifying a copy of an existing card, but never names that sibling explicitly to make the routing unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the detailed statement of what is and is not copied, so an agent can infer this is for cloning an existing card rather than authoring new content. However, there is no explicit when-to-use/when-not guidance and no alternative tool is named, leaving the agent to infer the choice between this and create_content or bulk_create_contents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_brand_kitExtract brand kitADestructiveInspect
Extract visual identity from exactly one of siteUrl or pdfPath (from create_brand_kit_upload). Requires confirmed AI usage. By default returns a suggested kit without applying it; apply true saves it. The returned suggested kit is not persisted unless apply is true. PDF extraction may suggest tone styles without changing the strategy brief. Does not analyze the business.
| Name | Required | Description | Default |
|---|---|---|---|
| apply | No | ||
| brandId | No | ||
| confirm | Yes | The user authorized this operation and its AI usage. | |
| pdfPath | No | ||
| siteUrl | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds genuinely new behavior: the result is non-persistent unless apply is true, PDF extraction may suggest tone styles without touching the strategy brief, and AI usage must be confirmed. That detail materially changes how an agent should sequence the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five short sentences, front-loaded with the input constraint and the preview-vs-apply distinction. No sentence is filler; each adds a constraint or an effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent, open-world mutation with no output schema and thin schema descriptions, the description covers inputs, authorization, persistence semantics, and a notable side effect. Missing only the role of brandId and any hint of how this pairs with get_brand_kit/update_brand_kit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20%, so the description carries most of the burden and does so for siteUrl/pdfPath (mutually exclusive, one required), apply (persist vs. preview), and confirm (AI authorization). The brandId parameter is never explained in either place, leaving one real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Extract) and resource (visual identity / brand kit) and constrains the input to 'exactly one of siteUrl or pdfPath'. It also separates itself from the analyze_* siblings with 'Does not analyze the business', so an agent can tell it apart without opening other schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions (exactly one source, confirmed AI usage) and explains the default vs. opt-in flow ('returns a suggested kit without applying it; apply true saves it'). It stops short of naming the sibling to use instead when the agent wants to read or modify an existing kit (get_brand_kit / update_brand_kit).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetchRead-onlyIdempotentInspect
Fetch the full text of a search result by id (content: = script with hook/body/cta/caption; catalog: = reference video caption + full analysis and transcript in the selected brand analysis language; creator: = creator bio and summary).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| brandId | No |
generate_body_optionsGenerate body optionsAInspect
Generate up to 3 AI body (script development) suggestions for a content card, using the brand's context, memory and references. Returns options only; nothing is saved or applied. Consumes daily quota (30/day). objective defaults to engagement.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| brandId | No | ||
| contentId | Yes | ||
| objective | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial detail beyond the annotations: results are options only and nothing is saved or applied (clarifying why readOnlyHint=false but destructiveHint=false), and it consumes a daily quota of 30/day. These are exactly the operational traits an agent needs before calling a metered generation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what is produced, followed by the non-persistence caveat, quota cost, and the default. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly states the return shape ('options only') and the cost/limits. It is nearly complete for a 4-param generation tool, with only the brandId/contentId semantics left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the load. It does explain the objective default ('engagement') and the count cap (up to 3), but leaves brandId's optionality/fallback and contentId's requiredness unstated, so four parameters remain only partially characterized.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Generate AI body suggestions for a content card'), plus scope (up to 3) and inputs used (brand context, memory, references). It implicitly separates itself from siblings like generate_hook_options/generate_caption_options by naming 'body', but the boundary with the sibling generate_scripts ('script development') is not fully drawn.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied (generating body copy for an existing content card), but there is no explicit when-to-use/when-not guidance and no routing to the hook/caption/CTA generator siblings. The quota note hints at caution but not at alternative selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_caption_optionsGenerate caption optionsAInspect
Generate up to 3 AI caption suggestions for a content card, using the brand's context, memory and references. Returns options only; nothing is saved or applied. Consumes daily quota (30/day). objective defaults to engagement.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| brandId | No | ||
| contentId | Yes | ||
| objective | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnlyHint=false, destructiveHint=false, idempotentHint=false) but the description adds behaviour they do not: the daily quota cost (30/day), the fact that nothing is persisted, and the default objective. Missing only auth/permission notes and any hint about failure modes when quota is exhausted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero filler; the primary purpose is front-loaded and the non-persistence and quota caveats follow immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description appropriately explains that the return is a set of options rather than a saved artifact. It is nearly complete for a low-risk generator, with the only real gap being parameter semantics for brandId/contentId.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It explains the count cap ('up to 3') and the objective default, but says nothing about brandId or contentId semantics (e.g. whether brandId is inferred, whether contentId must belong to the brand), leaving two of four parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (generate) plus resource (caption suggestions) and scope (for a content card), which cleanly separates it from the sibling generators generate_body_options, generate_cta_options, generate_hook_options and generate_title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear usage context by declaring 'Returns options only; nothing is saved or applied', which tells the agent this is a preview step and not a mutation, and notes the quota cost. It does not, however, name alternatives or say explicitly when to prefer this over the other generate_* tools beyond the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_cta_optionsGenerate CTA optionsAInspect
Generate up to 3 AI call-to-action suggestions for a content card, using the brand's context, memory and references. Returns options only; nothing is saved or applied. Consumes daily quota (30/day). objective defaults to engagement.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| brandId | No | ||
| contentId | Yes | ||
| objective | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, destructiveHint=false and idempotentHint=false. The description adds real behavioral context beyond that: nothing is saved/applied, and it consumes a daily quota of 30/day, which explains the non-readOnly hint. Return format is not described, but no output schema exists to carry it either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and side effects, with zero filler. Every sentence carries a distinct piece of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param generation tool with no output schema, the description covers what the tool does, that it persists nothing, and its quota cost. It leaves the returned option shape and the optional brandId/contentId relationship unspecified, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and it only partially does: it clarifies 'count' (max 3) and that 'objective' defaults to engagement, but says nothing about brandId or contentId semantics beyond the implicit 'content card' reference. Baseline 3 for partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Generate'), resource ('call-to-action suggestions'), scope ('up to 3'), and the input basis ('for a content card, using the brand's context, memory and references'). This cleanly separates it from siblings like generate_caption_options, generate_hook_options and generate_body_options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context ('Returns options only; nothing is saved or applied') which tells the agent this is a non-persisting preview step rather than a content mutation. It does not, however, explicitly route the agent to or away from a named alternative sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_hook_optionsGenerate hook optionsAInspect
Generate up to 3 AI hook (opening line) suggestions for a content card, using the brand's context, memory and references. Returns options only; nothing is saved or applied. Consumes daily quota (30/day). objective defaults to engagement.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| brandId | No | ||
| contentId | Yes | ||
| objective | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond the annotations by disclosing a rate limit ('Consumes daily quota (30/day)'), that nothing is persisted, and a parameter default. This explains why readOnlyHint is false despite 'nothing is saved' (the quota is consumed), which is genuinely useful context. It stops short of explaining auth/permission needs or what the returned option objects contain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then persistence behavior, then quota and default. Every clause carries new information; nothing is restated from the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter generation tool with no output schema, the description adequately covers what the call produces ('up to 3 options'), that it is non-destructive to content, and that it has a cost. The remaining gap is that an agent still does not know what brandId does or the exact shape/type of the returned options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 4 parameters, so the description must compensate. It clarifies the 'count' ceiling ('up to 3') and supplies the undocumented default for 'objective' ('defaults to engagement'), but 'brandId' and 'contentId' are never explained, leaving half the surface undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource ('Generate ... hook (opening line) suggestions for a content card') plus an explicit quantity cap, so the agent immediately knows this is hook copy generation, not body/caption/CTA generation. It does not explicitly name or route against its closest siblings (generate_body_options, generate_caption_options, generate_cta_options), which is what separates a 4 from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Returns options only; nothing is saved or applied' implies a non-persistent, exploratory call, and 'objective defaults to engagement' hints at configuration. However there is no explicit guidance on when to pick this over the other generate_* option tools, nor any stated prerequisites (e.g., whether a brandId or an existing content card is required).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_insightsGenerate insightsADestructiveInspect
Regenerate the brand's homepage insights from up to 50 top-view video posts in the last 365 days (needs 10+ videos; images/carousels excluded). Returns total eligible videoCount, actual sampleSize, generatedAt and saved; saved=false means persistence failed. Insufficient data does not consume quota. Consumes the daily quota (5/day, three AI calls). Returns { insights } like get_homepage_insights.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (destructive, non-idempotent, open-world), and the description adds substantial beyond-schema behavior: daily quota of 5 with three AI calls each, no quota consumed when data is insufficient, and saved=false signalling persistence failure. This is exactly the extra context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely dense but front-loaded: eligibility, cost, return shape, and failure semantics are all stated in a few tight sentences with no filler. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming returned fields (videoCount, sampleSize, generatedAt, saved) and the insights payload. The only gap is that with brandId optional it never says how the target brand is resolved, which matters for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single brandId parameter, so the description carries the full burden — yet it never names brandId, states its format, or explains what happens when it is omitted (it is listed as not required). 'The brand's homepage insights' only weakly implies brand scoping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: regenerating a brand's homepage insights from top-view video posts, with the input window (365 days, up to 50 posts) stated. It is clearly distinguishable from the sibling get_homepage_insights, which it references as the read counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete eligibility conditions (needs 10+ videos, images/carousels excluded) and states the quota cost, which tells the agent when the call is worthwhile. It does not explicitly say when NOT to call or route to a preferred alternative, though the get_homepage_insights reference implies read-then-regenerate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_scriptsGenerate scriptsADestructiveInspect
Generate a full AI script (hook, CTA, body and caption options; carousel slides for carousels) for 1-5 content cards and save it to each card. Uses the brand's memory, references, sources and web search when relevant. A card generated in the last 60 seconds is returned as-is (status skipped). Consumes daily quota (10/day). durationSeconds sets the target spoken length. bodyOptions/captionOptions are saved suggestions and are not selected automatically. Each result includes a url for opening, reviewing and editing the script in Dalea.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| objective | No | ||
| contentIds | Yes | ||
| durationSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond the annotations: daily quota consumption (10/day), a 60-second dedupe window that returns the card as-is, bodyOptions/captionOptions saved but not auto-selected, and a returned url for reviewing/editing. This is exactly the side-effect and limit context the structured fields cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the core action and output shape come first, then limits and caveats. Every sentence earns its place, though the mention of non-existent bodyOptions/captionOptions parameters adds slight noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still tells the agent what a result contains (url, status skipped) and the quota/save semantics. The dangling reference to bodyOptions/captionOptions not present in the schema is the main completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the load. It clarifies durationSeconds ('target spoken length') and the 1-5 contentIds range, but brandId and objective (the enum parameter) go unexplained, and it references bodyOptions/captionOptions parameters that do not appear in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (generate a full AI script) and enumerates the deliverables: hook, CTA, body and caption options, carousel slides. It distinguishes itself from the granular siblings (generate_hook_options, generate_body_options, generate_caption_options, generate_cta_options) by being the full-script generator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives useful invocation context (uses brand memory/references/web search when relevant; a card generated in the last 60 seconds is skipped), but never explicitly contrasts with the sibling option generators or states when NOT to use it. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_titleGenerate titleADestructiveInspect
AI-generate a working title. Pass contentId to title an existing content (saves it and returns { content }) or idea for a free-form idea (returns { title }). Consumes the daily quota (50/day, one short AI call).
| Name | Required | Description | Default |
|---|---|---|---|
| idea | No | ||
| brandId | No | ||
| contentId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and non-idempotent. The description adds real context beyond them: that a daily quota of 50 is consumed, that contentId triggers a save, and that it is one short AI call. The save side-effect is disclosed rather than left to the destructiveHint alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the core action, then the mode distinction, then the quota cost. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming the return shapes ({ content } vs { title }). The only gap is the unexplained brandId parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the burden. It explains contentId (titles and saves existing content) and idea (free-form input), but brandId is never mentioned, leaving one of three parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (AI-generate) and resource (working title) with two distinct operating modes. An agent can tell it apart from siblings like generate_caption_options or generate_hook_options 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the selection condition: pass contentId to title existing content, or idea for a free-form idea. Gives clear context for both branches, though it does not name sibling alternatives for other generation tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_account_overviewGet account overviewARead-onlyIdempotentInspect
Get the brand's connected accounts with followers, following, followersGained over the last days days (7-365, default 30; net followers, gains minus losses, measured from the last snapshot at or before the start of the window, or from the first snapshot when the account was connected more recently) with followersGainedDays echoing the window, totalVideos, reach, source (oauth | scrape), lastSnapshotAt, lastSyncedAt, lastScrapedAt and lastUpdatedAt (source-aware sync/scrape freshness). Accounts without snapshots are always included in accountsWithoutSnapshots, even without includeHealth, and are still connected. includeHealth=true adds health per account: syncStale (no sync in the last 26h), tokenExpired (Instagram login expired, the account must be reconnected), firstSnapshotAt, missingSnapshotDaysLast30 (UTC days of the last 30 without a follower snapshot, counted from the first snapshot); includeHealth also adds health to accountsWithoutSnapshots. Does not return a day-by-day follower curve.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| brandId | No | ||
| includeHealth | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the bar is lower, yet the description adds rich context: the exact semantics of followersGained (net followers, gains minus losses, measured from the last snapshot at or before window start), window-echo fields, source-aware freshness fields, and the special handling of accounts without snapshots. It also specifies that includeHealth=true surfaces syncStale and tokenExpired conditions, which are actionable behavioral details beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph with nested parentheticals and long clauses, making it hard to scan. Most content is informative for a tool with no output schema, but the front-loaded verb phrase quickly gives way to a wall of detail, and better formatting would improve readability without losing substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with three optional parameters, no output schema, and no parameter descriptions in the schema, the description carries the full burden of explaining return values, edge cases (accounts without snapshots), window semantics, and health flags. It covers these completely enough that an agent can understand what it will get and how parameters change the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It does so thoroughly for 'days' (range 7-365, default 30, and the snapshot-based measurement semantics) and 'includeHealth' (adds health per account and even to accountsWithoutSnapshots). 'brandId' is only implied by 'the brand's,' leaving one parameter without explicit semantics, so a 4 rather than a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the brand's connected accounts') and lists the key returned dimensions (followers, following, followersGained, totalVideos, reach, source, freshness fields). It also distinguishes itself from a day-by-day curve tool with 'Does not return a day-by-day follower curve,' making its scope unambiguous against nearby siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the detailed description of what is returned (account-level followers and health/freshness), and the negative scope statement hints at an alternative for follower curves. However, there is no explicit when-to-use guidance or named sibling to choose between, so an agent must infer the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audience_growthGet audience growthARead-onlyIdempotentInspect
Follower growth and views per day (or week) for the brand's connected accounts, per account and in total. Window: days (7-365, default 30, ending today) or from/to (YYYY-MM-DD; from wins over days, to defaults to today, at most 365 days apart). granularity: day (default up to 90 days) or week (weeks end on to, so the first one can be short). History starts when the account was connected to Dalea: earlier days have followers null, and total.partial is true when an account was connected mid-window or stopped updating; an account with no snapshot inside the window is left out of the totals. Values are NET followers (gains minus losses). Days are UTC. Each point has followers, followersGained, isSnapshot (a real snapshot that day; other days are interpolated between snapshots), partial (after the last snapshot, or today), views, viewsSource, postsPublished, and for Instagram reach and accountsEngaged (daily uniques, never sum them). viewsSource account_insights is Instagram's own account-level views, which exist only for roughly the last ~35 days; derived_from_posts is the day-over-day change of the synced posts' totals, used for earlier Instagram days and for TikTok. Per account: startFollowers, endFollowers, gained (end minus start), gainedPct, avgDailyGain, views, bestDay and worstDay (largest and smallest change between consecutive daily snapshots; gapDays above 1 means the change spans missed syncs). Scraped accounts (source scrape) may stop updating. notices explains connection dates, stopped snapshots and possible account switches.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| days | No | ||
| from | No | ||
| brandId | No | ||
| platform | No | ||
| granularity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safe-read profile (readOnly, idempotent, non-destructive), so the description carries real weight beyond them: NET followers semantics, that history begins at connection time, that pre-connection days are null and total.partial flags mid-window connections, that other days are interpolated, that Instagram views only exist ~35 days back, and that scraped accounts may stop updating. This is rich, non-obvious behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence and nearly every clause conveys needed semantics (view source rules, partial flags, best/worstDay gapDays). It is a dense, monolithic block that is hard to scan and could be split, but little of it is wasted for a tool this complex.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a complex analytics surface, the description fully explains return fields (followers, followersGained, isSnapshot, partial, views, viewsSource, postsPublished, reach, accountsEngaged, and the per-account aggregates) plus the notices field, leaving an agent nothing essential missing to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate and largely does: it documents days (7-365, default 30, ending today), from/to precedence and the 365-day span limit, and granularity (day default up to 90 days, week ending on `to`). brandId is never explained and platform is only implied by later mentions of Instagram/TikTok.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb+resource and scope: follower growth and views per day/week for the brand's connected accounts, per account and in total. It is clear what the tool returns, but it never distinguishes itself from similarly-scoped siblings like get_metrics_daily, get_account_overview, or get_performance_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied through the window/granularity mechanics; there is no explicit 'use this when...' or 'instead of X'. An agent can infer intent from the detailed parameter prose, but no alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brand_kitGet brand kitBRead-onlyIdempotentInspect
Get the brand's visual identity kit (colors, fonts, logo, palette, voice description) used by the video editor and carousels. Returns kit: null when none was generated yet.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
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 a genuinely useful behavioral fact beyond them: the tool returns kit: null when no kit was generated yet, which tells the agent how to handle the empty state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core resource front-loaded and the null-handling note appended where it belongs. No filler, though it is short enough that slightly more routing detail would have fit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only getter with no output schema, the description does reasonable duty describing return contents and the null case. It is missing parameter sourcing and differentiation from the closely named brand-kit siblings, but the core call is unambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (brandId) with 0% schema description coverage, so the description carries the burden, yet it never mentions brandId or where its value comes from. It only implies a brand context, which is minimal compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource (brand's visual identity kit) and enumerates its contents (colors, fonts, logo, palette, voice description). It implicitly contrasts with update_brand_kit and get_brand_profile, but never names a sibling explicitly to disambiguate from extract_brand_kit or create_brand_kit_upload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is given. The clause 'used by the video editor and carousels' describes downstream consumption of the kit, not the condition under which an agent should call this tool rather than extract_brand_kit or get_brand_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brand_profileGet brand profileARead-onlyIdempotentInspect
Get a brand's full profile: basics (name, language, strategy summary), the complete strategy brief (niche, audience, pain, promise, tone, pillars, taboo topics, offer URL/mode/details, site URL, page style and profile insights), connected social accounts with follower counts, business segment and subscription (status, currentPeriodEnd, cancelAtPeriodEnd, trialEnd, brandSlots). cancelAtPeriodEnd true means the subscription ends at currentPeriodEnd instead of renewing; brandSlots is how many brands the plan allows. Provides the brand context relevant to content generation and review.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
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 behavioral context on top: it decodes 'cancelAtPeriodEnd true means the subscription ends at currentPeriodEnd instead of renewing' and explains brandSlots, which annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The piece is front-loaded with the purpose in the first clause, then a dense parenthetical field list. It is long, but with no output schema the enumerated return fields each carry information an agent needs, so the length largely earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description does the heavy lifting on return contents (including two fields whose semantics are non-obvious). The one gap is the undocumented brandId parameter, which is the only thing an agent needs to actually invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, brandId, at 0% schema description coverage, and the description never addresses it — no format, no mention of which brand is resolved, and no note that it is optional (0 required). The field-name enumeration describes returns, not the parameter, so the schema gap is not compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get a brand's full profile') and goes further by enumerating the returned sections (basics, strategy brief, social accounts, subscription). An agent knows exactly what this retrieves. It stops short of explicitly differentiating from close siblings like get_brand_kit or get_account_overview, so it is clear but not fully disambiguated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing line ('Provides the brand context relevant to content generation and review') gives an implied usage context, but there is no explicit when-to-use vs. when-not guidance and no sibling alternative named. Adequate but leaves the agent to infer selection between this and get_brand_kit/get_account_overview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brand_site_analysisGet brand site analysisRead-onlyIdempotentInspect
Read the brand's business analysis: product, audience, pains, benefits, differentiators, competitors and confidence, plus source URL, status and error. Includes the result of a previously requested website analysis. Does not read the visual brand kit.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
get_calendarGet calendarARead-onlyIdempotentInspect
Get the brand's content calendar for a date range as one entry per day (empty days included), each with the cards planned for that day (id, title, status, platforms, mediaType, postedAt). A card sits on the day of its postedAt, the same rule as the calendars in the Dalea app; cards with no postedAt are not on the calendar (list_contents still lists them). from/to are YYYY-MM-DD (UTC); default is today through the next 7 days. Does not modify scheduled dates.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered. The description adds genuine context beyond them: empty days are returned, cards without postedAt are omitted, UTC formatting, the default range, and the reassurance that it 'does not modify scheduled dates'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight paragraph, front-loaded with the return shape, then the placement rule, then the parameter formats. Dense but every sentence carries information; the 'same rule as the calendars in the Dalea app' clause is the only mildly expendable phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description enumerates the returned fields (id, title, status, platforms, mediaType, postedAt), so return semantics are covered. The main remaining gap is the undocumented brandId parameter, which is minor for an otherwise complete read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does explain 'from'/'to' as YYYY-MM-DD in UTC with a stated default. However, the third parameter 'brandId' is never mentioned, leaving one of three parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the brand's content calendar') plus the exact output shape: one entry per day, empty days included, with named card fields. It also distinguishes itself from the sibling 'list_contents' by explaining which cards are excluded, so an agent can tell the two apart without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the default date window (today through next 7 days) and the rule that cards sit on their postedAt day, then routes the agent to 'list_contents' for cards with no postedAt. Clear context and a named alternative, though it never states an explicit 'use this when X' selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_carousel_draftGet carousel draftARead-onlyIdempotentInspect
Get one carousel draft with its slides (role, image prompt, headline/body/CTA texts) and funnelStage (tofu | mofu | bofu). Returns a url for viewing and editing the carousel in the Dalea Carousel Studio; no image files are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| draftId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe/idempotent read profile, so the bar is lower. The description adds genuinely useful context beyond them: it returns a URL for viewing/editing in the Dalea Carousel Studio and explicitly states no image files are returned, which heads off a likely agent expectation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that front-load the core action and payload, then add the return-format caveat. Nothing is wasteful, though the parenthetical payload list is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description meaningfully covers the return shape (slides, funnelStage, URL, no images). The main remaining gap is parameter meaning, which drags completeness down for what is otherwise a well-covered read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for draftId (required) and brandId (optional). It says nothing about what either parameter means or how brandId scopes the lookup, leaving both undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get one carousel draft') and enumerates the payload (slides, funnelStage values). The singular 'one' implicitly contrasts with the sibling list_carousel_drafts, but the description never names that sibling, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: retrieving a single draft by draftId. No explicit when-to-use statement, no prerequisites, and no mention of when to prefer list_carousel_drafts versus this tool. Adequate but with clear gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_catalog_videoGet catalog videoRead-onlyIdempotentInspect
Get a catalog video with full caption and its stored analysis plus verbatim transcript and timed segments: hook, structure, visual, takeaway, verdict, beats, timing, model/source and evidence. Analysis defaults to the brand content language; language overrides it. Returns ready, transcript_only, not_analyzed or failed, never an analysis in another language. Read-only: does not generate missing analysis. includeAnalysis false returns just the video. Evidence thumbnail/metadata means the model did not observe the video itself.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| videoId | Yes | ||
| language | No | ||
| includeAnalysis | No |
get_contentGet contentARead-onlyIdempotentInspect
Get one content card's full detail by id: the script (hook, body, cta, caption), planning fields (status, platforms, postedAt, mediaType, category, funnelStage, format, communicationStyle, targetDurationSeconds), the web searches the AI ran for it (webSearch: queries and result links) and how many references and AI generations it has. For a carousel (mediaType carousel) the body holds every slide in order, separated by "\n\n---\n\n". Does not include full reference, generation or refinement-history records. The returned url opens the card in Dalea for review and editing.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| contentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it details the exact return payload, the carousel body convention (slides joined by '\n\n---\n\n'), what is deliberately excluded, and what the returned url does. That is rich behavioral context an agent cannot derive from the annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded paragraph that leads with the core action and then groups returns by category; every clause carries information. It is on the dense/long side, but there is no filler to cut.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden of describing returns and does so thoroughly, including the carousel edge case and the reference/generation counts. An agent can call this confidently based on the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description never explains either parameter. 'by id' weakly implies contentId, but the optional brandId is completely undocumented – no format, no reason it is optional when contentId is required, no scoping effect. With zero schema descriptions the description had to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get one content card's full detail by id') and then enumerates exactly which sections come back (script, planning fields, webSearch, counts). This clearly separates it from list_contents (single-card vs collection) and from the reference/generation history tools, which it explicitly excludes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'by id' and the note that it omits full reference, generation and refinement-history records loosely point the agent at list_content_references/list_content_generations, but no sibling is named and there is no explicit when-to-use or when-not-to-use statement. The 'opens the card in Dalea for review and editing' line hints at a review workflow but doesn't formalize it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_content_sourceGet content sourceRead-onlyIdempotentInspect
Read source extraction status, errors, highlights and a paginated excerpt of the full text, without generating AI output. maxChars=0 returns status/highlights only; nextOffset paginates text.
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | ||
| brandId | No | ||
| maxChars | No | ||
| contentId | Yes | ||
| referenceId | Yes |
get_creatorGet creatorRead-onlyIdempotentInspect
Get a catalog creator profile, summary in the brand content language, accounts and 5 most-viewed catalog videos. includeVideos false omits videos. Does not return the complete paginated video collection or full deep analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| creatorId | Yes | ||
| includeVideos | No |
get_creator_analysisGet creator analysisRead-onlyIdempotentInspect
Get the stored deep analysis of a creator by creatorId, as an object: positioning, pillars (emoji, title, description), targetAudience, tone, formats (name, description), hooks, whatToAdapt, funnel (predominant tofu | mofu | bofu, text) and videoType (predominant spoken | text_on_screen | mix, text). Analyses belong to the user, not to one brand, the same as in the app. Also returns catalogSummary in the brand language independently of the saved deep analysis; a missing deep analysis does not mean the catalog summary is missing. Does not return videos, video analyses or transcripts, and does not generate anything. Returns analysis null when no saved deep analysis exists yet.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| creatorId | Yes |
get_creator_contextGet creator contextBRead-onlyIdempotentInspect
Get the creator interview outcome: phase, origin story, 90-day goals, what content already works, struggles, themes and voice. Never includes the interview transcript.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, openWorld=false, destructive=false, so the safety profile is fully covered. The description adds genuine value beyond that with its explicit negative scope ('Never includes the interview transcript') and a field-level preview. It still omits behavior for the missing-interview case, so a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, purpose front-loaded, with the exclusion appended where it belongs. No filler or restated title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the burden of describing return values and does so by listing the field set. For a read-only single-parameter getter this is largely complete; only the parameter meaning and when-to-use versus siblings are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter brandId is completely undocumented in both schema and description. Baseline for one optional parameter with no schema docs would be low; the description compensates only by implying a per-creator lookup. It does not explain brandId's role or whether it is required, so this is a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (get creator context) and enumerates the exact contents returned: phase, origin story, 90-day goals, working content, struggles, themes, voice. This is far more than a tautology. However, it does not distinguish itself from close siblings such as get_creator, get_creator_analysis, or get_strategy_interview, so the agent lacks a routing signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no sibling is named as an alternative. The only boundary given is that the transcript is excluded, which is a scope fact rather than usage direction. An agent cannot tell from the text when this tool is preferred over the many other 'get_creator*' readers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creator_memoryGet creator memoryBRead-onlyIdempotentInspect
Get the AI-maintained memory of who this creator is (free text plus structured fields). Fields are null when no memory was generated yet.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
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 fully covered externally. The description adds one genuinely useful behavioral detail beyond that: a successful read may return null fields when no memory exists yet, which prevents misinterpretation as an error. That is modest added context, not rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the what comes first, the null-state caveat second. No filler, no repetition of the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only getter with full annotations, the description adequately conveys the return shape and the null edge case, and no output schema exists to cover it instead. However, it leaves the only input parameter entirely unexplained, which is a real completeness gap for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter brandId is undocumented in both schema and description. The description never mentions brandId at all, nor that it is optional (required parameters = 0), so an agent could wrongly assume it must supply one. No compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: retrieves the AI-maintained creator memory and states its shape (free text plus structured fields). It is distinguishable from write siblings like update_creator_memory and regenerate_creator_memory, but it never contrasts itself with the nearby read siblings get_creator_context or list_creator_facts, so sibling differentiation 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.
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 rather than get_creator, get_creator_context, or list_creator_facts. The only conditional content is a data-state note ('fields are null when no memory was generated yet'), which tells the agent how to interpret a result, not when to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_homepage_insightsGet homepage insightsARead-onlyIdempotentInspect
Read saved homepage insights with generatedAt, currentVideoCount, scope and freshness (missing/insufficient_data/stale/available, reasons and canGenerate). Read-only: never regenerates. Scope is up to 50 top-view video posts from the last 365 days, minimum 10; images/carousels are excluded. Freshness checks language, format and a count change of at least 5, not every metrics change or age. Does not regenerate insights. Interpret diagnoses as AI hypotheses, not measured retention or causal proof.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint, but the description adds substantial beyond-schema behavior: it never regenerates, the scope rules (50 top-view posts, last 365 days, minimum 10, images/carousels excluded), the exact freshness triggers (language, format, count change of >=5), and a caveat that diagnoses are AI hypotheses not measured retention.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core read verb and returned fields, and the scope/freshness specifics are ordered sensibly. It is dense but mostly earns its place, with a minor redundancy between 'Read-only: never regenerates' and 'Does not regenerate insights.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden and does so well: it documents return fields, the freshness state machine (missing/insufficient_data/stale/available plus reasons and canGenerate), scope limits, and interpretation caveats. Nothing material for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single optional brandId parameter is never mentioned in the description. The text richly explains the data scope, which partially compensates, but adds no meaning for the one parameter the agent must supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') on a specific resource ('saved homepage insights') and enumerates the fields it surfaces (generatedAt, currentVideoCount, scope, freshness). The 'never regenerates' clause implicitly separates it from generate_insights, letting an agent tell the two apart without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It establishes clear context for when this applies – reading already-saved insights rather than producing them – and the 'never regenerates' framing points away from the generative sibling. However, it never names an alternative (e.g. generate_insights) or states an explicit exclusion, so routing is inferred rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metrics_dailyGet metrics dailyARead-onlyIdempotentInspect
Per-sync snapshots of the brand's video posts between from and to (YYYY-MM-DD, inclusive; range capped to the last 180 days before to). One row per account per sync day: date, platform, and the CUMULATIVE totals (views, likes, comments, shares, saves, reach, videoCount) of the video posts synced so far, plus averageEngagementPct. These are running totals of video posts only (no images or carousels), NOT activity that happened on that day. These are cumulative snapshots, not daily views or follower growth. Optional platform filter.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | Yes | ||
| brandId | No | ||
| platform | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial data-semantics context beyond them: cumulative running totals rather than per-day deltas, one row per account per sync day, the 180-day range cap, and the exact metric fields returned. This is the behavior an agent most needs to avoid misinterpreting the numbers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core definition, then the row shape and metric list, then the caveats. Most sentences earn their place, though the cumulative-vs-daily warning is stated twice ('NOT activity that happened on that day' and 'not daily views or follower growth'), which is mild redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned columns (date, platform, cumulative totals, averageEngagementPct), which is exactly what is needed without a formal return spec. Gaps remain on `brandId`, row volume/pagination limits, and explicit alternative-tool routing, but these are minor against the otherwise rich data semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and mostly succeeds: it explains `from`/`to` format, inclusivity, and the 180-day cap, and labels `platform` as an optional filter. It does not explain `brandId` at all, leaving 1 of 4 parameters undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (per-sync daily metric snapshots of the brand's video posts) and precisely scopes what the data is: cumulative running totals, one row per account per sync day. It even distinguishes itself semantically from adjacent concepts (not daily activity, not follower growth), letting an agent tell it apart from siblings like get_audience_growth or get_performance_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear about context: it defines the accepted date format and a hard cap (last 180 days before `to`), and explicitly rules out misreads ('NOT activity that happened on that day', 'not daily views or follower growth'). However, it never names an alternative tool to use for daily-view or follower-growth questions, so routing against actual siblings is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_niche_benchmarksGet niche benchmarksARead-onlyIdempotentInspect
Get median/p75/p90 view and engagement benchmarks for the brand's niche. With compare=true also returns brand (medianViews, p75Views, medianEngagementPct, sampleSize) computed from the brand's own videos of the last 90 days, or null when it has none.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| compare | No |
TDQS
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 genuine behavioral context beyond that: the 90-day lookback window for brand videos and the explicit null return when the brand has no videos, which an agent could not infer elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences with zero filler; the default output is front-loaded and the conditional compare behavior follows. Every clause carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter descriptions, the description does well by naming the compare return fields and the null case, but it does not spell out the shape of the default (non-compare) benchmark response or what brandId defaults to when omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It fully explains `compare` including the field list of the returned `brand` object, but `brandId` is never mentioned, leaving one of two parameters semantically undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (niche benchmarks) and enumerates the exact statistics returned (median/p75/p90 views and engagement). This clearly separates it from performance-oriented siblings like get_metrics_daily or get_top_performers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The compare=true behavior is described, giving implicit guidance on when the extra brand-relative output is produced. However, there is no explicit statement of when to prefer this tool over alternatives such as get_performance_summary or get_top_performers, and no prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performance_summaryGet performance summaryARead-onlyIdempotentInspect
Totals for videos published in the last N days (7|30|90, default 30): videoCount, views, likes, comments, shares, saves, averageEngagementPct; the same for the previous window; deltaPct per metric (null when the previous value is 0); and the topVideo by views. Only video posts are included. Metrics are cumulative totals of posts published in each window, not activity during that window. periods has inclusive from/exclusive to timestamps. deltaPct is relative percent change; deltaPercentagePoints.averageEngagementPct is the absolute change in percentage points.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description adds genuinely useful behavior beyond that: metrics are cumulative totals of posts published in each window rather than activity during it, deltaPct is null when the previous value is 0, and periods use inclusive from/exclusive to timestamps. These are non-obvious semantics an agent could not derive from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph that front-loads the core return fields and then layers the caveats. Every sentence carries information, though the run-on enumeration of return fields is slightly heavy; the front-loading keeps it usable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the full return-shape burden and does so, enumerating metrics, deltas, and topVideo plus the cumulative-totals caveat. What is missing is the brandId parameter's meaning and any mention of which system it reads from, but the core contract is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain the days parameter (allowed values 7|30|90 and a default of 30 that the schema does not state), but brandId is never mentioned, leaving half the parameters undocumented beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns aggregate totals (videoCount, views, likes, etc.) for videos published in the last N days, including previous-window comparison and topVideo. That is a specific resource+operation, and the 'Only video posts are included' line scopes it. It does not explicitly differentiate from sibling analytics tools like get_metrics_daily or get_top_performers, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the windowing language and the default-30 note, but there is no explicit statement of when to choose this over get_account_overview, get_metrics_daily, or get_top_performers. The agent must infer the routing from the sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recommended_videosGet recommended videosRead-onlyIdempotentInspect
Read Dalea's personalized For You video feed for this brand, using the same ranking as the app. Presets recommended, viral, engagement or week; niche biases the ranking rather than strictly filtering it. Hidden creators and own profiles are excluded. page is zero-based; follow nextPage even if a filtered page is short. Reports when ranking is not ready and any language fallback. Does not generate or refresh recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| niche | No | ||
| format | No | ||
| preset | No | ||
| brandId | No | ||
| language | No |
get_refine_chatGet refine chatARead-onlyIdempotentInspect
Get the last N messages (default 20, max 100) of the refine chat attached to a content card, with text, refinement IDs, preview status, proposed changes and settings, plus the total message count. Use it to resume a conversation or review a saved preview.
| Name | Required | Description | Default |
|---|---|---|---|
| last | No | ||
| brandId | No | ||
| contentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds real value beyond that by disclosing the returned payload contents and the default/max window for `last`, which helps the agent anticipate scope and volume.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded: the payload description leads, the usage note follows. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter descriptions, the description usefully explains the return payload and the `last` semantics. It is slightly incomplete in leaving `brandId` (and its relationship to contentId) undocumented, which matters for a 3-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does well for `last` (default 20, max 100) — notably more precise than the schema's own bounds — and implies `contentId` via 'attached to a content card', but `brandId` is entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (refine chat messages attached to a content card), and enumerates what comes back: text, refinement IDs, preview status, proposed changes, settings, and total message count. This is clearly distinguishable from siblings like refine_content (which mutates) and review_content_refinement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use it to 'resume a conversation or review a saved preview', which gives a concrete usage context. It stops short of naming the alternative sibling (e.g., review_content_refinement) or stating exclusions, so it does not reach a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_script_preferencesGet script preferencesBRead-onlyIdempotentInspect
Get the brand's script preferences: content pillars with weights, preferred formats, default duration, approved and banned hooks, standing instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
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 the payload contents (pillars, formats, duration, hooks, instructions), which usefully stands in for the absent output schema, but it discloses nothing about defaults, auth, or behavior when preferences are unset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that enumerates return fields with zero filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple annotated read tool with no output schema, enumerating the returned fields is genuinely helpful and largely compensates for the missing output schema. However, the undocumented brandId and the total absence of usage context leave the definition only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter brandId has 0% schema description coverage, and the description does not compensate — it only obliquely implies 'the brand's' via the possessive. It never explains what brandId is, its format, or what happens when it is omitted (the schema marks no required params).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Get') plus resource ('the brand's script preferences') and an explicit enumeration of what the resource contains. It reads unambiguously against its counterpart update_script_preferences, though it never names or contrasts with that sibling directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus alternatives. With generate_scripts, generate_hook_options, and update_script_preferences in the sibling set, the description should say something like 'fetch before generating scripts' or 'read counterpart of update_script_preferences', but it offers nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_strategy_interviewGet strategy interviewARead-onlyIdempotentInspect
Read the current strategy interview, including messages, profile, phase and whether it is applied. includeHistory true includes previous archived sessions. Returns only the stored strategy interview for this brand, without restarting it.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| includeHistory | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and closed-world scope, so the safety profile is covered. The description adds genuinely useful context beyond that: it returns only the stored interview for this brand and performs no restart/side effect, which tells the agent the call is safe to repeat without mutating state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the payload front-loaded. The final sentence partially restates the first but earns its place by adding the no-restart and brand-scoping constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the returned fields (messages, profile, phase, applied), and annotations carry the safety profile. An agent has enough to call this correctly without opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains includeHistory directly ('true includes previous archived sessions'), and brandId is made self-evident by 'for this brand'. One of two weak-typed params is fully clarified; brandId's meaning is implied rather than explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('strategy interview') and enumerates the payload (messages, profile, phase, applied). This distinguishes it from the mutating sibling 'strategy_interview' via 'without restarting it', though the sibling is not named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without restarting it' and the includeHistory note imply when to reach for this rather than a starting tool, but no alternative is named and there are no explicit when/when-not conditions. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_performersGet top performersARead-onlyIdempotentInspect
Rank the brand's videos published in the last N days (default 30) by metric: views | engagement | saves | shares | likes. direction top (default) or bottom. limit default 10 max 100.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| limit | No | ||
| metric | No | ||
| brandId | No | ||
| direction | No |
TDQS
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 fully covered externally. The description adds useful operational defaults (days=30, limit=10) but says nothing about return shape or pagination, which is acceptable given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely dense and front-loaded: the core action and scope lead, followed by metric, direction, and limit defaults in telegraphic fragments. Every clause carries information, though the fragmentary style is slightly clipped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only ranking tool with no output schema and annotations covering the safety profile, the description supplies the key knobs and defaults an agent needs to invoke it correctly. Only brandId scope is left implicit, which is minor for a self-evident identifier parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description compensates well by supplying defaults absent from the schema (days=30, limit=10, direction=top) and the max for limit. It does not explain brandId or why days is capped at 365, but most parameters are given meaning beyond the raw types and enums.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Rank) and a clearly scoped resource: the brand's videos published in the last N days, ordered by a named metric. An agent can tell what it produces without opening the schema, though it does not explicitly distinguish itself from close siblings like get_performance_summary or get_recommended_videos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the mechanic (rank videos by metric over a time window) but there is no explicit when-to-use, when-not-to-use, or named alternative. An agent must infer that this is the tool for leaderboard-style ranking versus aggregate metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_videoGet videoARead-onlyIdempotentInspect
Get an own post by platformVideoId (optional platform disambiguates). Includes full caption, applicable metrics, classificationSources, saved analysis with transcript and timed segments, source/evidence/language/analyzedAt, nextStep and comparison with the same account video baseline (minimum 5 videos with views). Comparison engagement rates are ratios; engagementRatePct is percent. analysisStatus distinguishes ready, transcript_only, not_analyzed, failed and not_applicable. Legacy analysis language/evidence can be unknown. Read-only; does not generate missing analysis. Images/carousels have null views, engagement and watch time; inspect metricAvailability.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| platform | No | ||
| platformVideoId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint true and destructiveHint false, yet the description adds substantial context beyond them: the full returned payload, analysisStatus state enumeration, legacy unknown language/evidence, null handling for images/carousels, the 5-video minimum for baseline comparison, and the explicit boundary that it does not generate missing analysis.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and identifier before the dense return-shape detail. The middle sentences are information-heavy but each adds value given the absence of an output schema, though the run-on phrasing is denser than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so thoroughly: it enumerates the key fields, statuses, comparison semantics (ratios vs engagementRatePct), and edge cases. An agent has enough to call it and interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry param meaning. It clarifies platformVideoId as the identifying key and platform as an optional disambiguator, but brandId is never mentioned, leaving one of three parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Get an own post by platformVideoId") and scopes it to the caller's own content, which helps distinguish it from catalog/search siblings. It does not explicitly name a differentiating sibling like get_content or get_catalog_video, so an agent must infer the boundary from "own post" and the platformVideoId key.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "own post" and "Read-only; does not generate missing analysis" imply when this tool applies and hint that analysis generation is a separate concern. However, no alternative is named (e.g., analyze_video for generating analysis, get_content for other content types), leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_job_statusGet video job statusBRead-onlyIdempotentInspect
Get the latest render job of a video editor project: status, stage, progress percent, error code, plus project (status queued|processing|preview_ready|ready|expired|failed, expiresAt, expiringSoon) and the url of the project in the Dalea video editor. A finished job whose project is expired has no downloadable video anymore.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only, idempotent, non-destructive profile, so the bar is lower; the description adds real value by disclosing the project lifecycle states (queued|processing|preview_ready|ready|expired|failed), the expiresAt/expiringSoon signals, and the important caveat that a finished job whose project is expired has no downloadable video. It does not describe rate limits or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense but front-loaded sentence that leads with the primary output (job status) before secondary details. Slightly overloaded with parenthetical enumerations, but no wasted framing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does carry the return-value burden well, listing the fields and expiry caveat, so an agent knows what it gets back. However, it is silent on the two input parameters, leaving a gap for a tool that requires projectId.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there are two parameters, yet the description only gestures at the project via prose and never explains projectId's format/role or what brandId is for. It does not compensate for the completely undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: retrieving the latest render job of a video editor project, and enumerates what comes back (status, stage, progress, error code, project state, URL). It is clearly distinguishable from list_video_projects or get_video, though it never names an alternative to contrast against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to call this versus siblings like list_video_projects or get_video, and no stated prerequisites. Usage is only implied by the phrase 'Get the latest render job'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_voice_profileGet voice profileBRead-onlyIdempotentInspect
Get the brand's AI-derived voice profile (status, confidence, profile, exemplars) and form profile (status, profile, stats). Each is null when it has not been generated yet.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds genuinely useful behavior: the profile is AI-derived and each component is null until generated. It says nothing about permissions, latency, or freshness/regeneration of the profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the payload contents are front-loaded. The stacked parenthetical lists are slightly dense but still readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the right thing by enumerating the return shape and null semantics. It still leaves gaps: brandId's optionality, and how this differs from sibling get_brand_profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter (brandId) with 0% schema description coverage and zero description text about it — the schema marks it as not required, yet the description implies a required brand context without clarifying default behavior or format. With low coverage the description should compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Get) plus resource (the brand's voice profile and form profile), and it enumerates the sub-fields returned (status, confidence, profile, exemplars / stats). However, it never distinguishes itself from the very similar sibling get_brand_profile, so an agent must guess which profile endpoint to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives despite a crowded sibling set (get_brand_profile, get_brand_kit, get_creator_context). The null-when-not-generated note is a data caveat, not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hide_creatorHide creatorADestructiveIdempotentInspect
Hide a creator (by handle, with or without @) from this brand's reference catalog searches. Already-hidden creators are left as is. Does not delete saved references from that creator.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| creatorHandle | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=true, so the description's restatement of idempotency is redundant. However, it adds real value by clarifying what 'destructive' does NOT mean here - saved references from that creator survive - which prevents an agent from over-estimating the blast radius. No permissions or auth requirements are described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, no filler, with the core action and its scope front-loaded before the caveats. Every sentence adds a distinct fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with no output schema, the description covers effect scope, idempotency, and a key non-effect. The main omission is how brandId is supplied or defaulted, which an agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full burden. It documents the creatorHandle format ('with or without @'), which the schema does not, but says nothing about brandId beyond the vague phrase 'this brand's'. It compensates for one of two parameters, leaving a documented gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (hide) and resource (creator) scoped to 'this brand's reference catalog searches', which distinguishes it from sibling catalog tools like list_catalog_creators and search_creators. The implicit pairing with unhide_creator is clear from the verb alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the operative context (affects catalog searches only) and the idempotent case ('already-hidden creators are left as is'), plus an explicit exclusion ('does not delete saved references'). It stops short of naming unhide_creator as the inverse operation, so the when-not guidance is only partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_brainstorm_suggestionsList brainstorm suggestionsBRead-onlyIdempotentInspect
List the brand's active brainstorm suggestions with reasons. Optional status filter: pending | added (contentId points to the created content) | dismissed.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds real value by explaining what each status means and that contentId points to the created content, but it says nothing about pagination, ordering, or result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core action; the enum semantics are packed efficiently into a parenthetical. No wasted words, though the second sentence is a fragment-style list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read with no output schema and annotations covering the safety profile, this is close to adequate. It still leaves the brandId parameter unaddressed and gives no sense of return shape beyond 'reasons' and the contentId pointer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain the semantics of the status enum values (pending/added/dismissed and the contentId pointer), but the brandId parameter is left entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('brainstorm suggestions') with scope ('active', 'with reasons'). It does not explicitly distinguish itself from siblings like regenerate_brainstorm or accept_brainstorm_suggestion, but the resource is distinctive enough that an agent can place it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The optional status filter is described, which implies how to narrow the listing, but there is no explicit when-to-use guidance or reference to the sibling tools (accept/dismiss/regenerate) that operate on the same suggestions. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_brandsList brandsARead-onlyIdempotentInspect
List the user's brands with niche and connected platforms, and which one is active. Each returned id identifies the brand in the brandId parameter.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds what each record contains and how ids are consumed downstream, which is useful but not deep behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with what is listed and followed by the cross-tool id linkage. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey the return shape, and it names the key fields (niche, connected platforms, active flag). Pagination or ordering behavior is not mentioned, but for a short user-scoped list that is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description goes slightly further by explaining that returned ids feed the brandId parameter in other tools, tying this list to the rest of the API surface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (the user's brands) and enriches it with the returned fields: niche, connected platforms, and active status. It does not explicitly distinguish itself from the similarly named get_brand_profile sibling, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The plural framing implies 'use this to enumerate all brands,' but there is no explicit when-to-use or when-to-prefer-get_brand_profile guidance. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_carousel_draftsList carousel draftsBRead-onlyIdempotentInspect
List the brand's carousel drafts from the Carousel Studio (title, slide count, last edit). Does not include full slide texts. Each draft includes a url for viewing and editing it in the Dalea Carousel Studio.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuine value beyond them by describing the returned shape (title, slide count, last edit), disclosing that slide texts are omitted, and confirming each draft carries a viewing/editing URL. It says nothing about pagination behavior or permission requirements, which limits it to a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and followed by the scope caveat and the return hint. Every sentence contributes something, though the final URL sentence is somewhat detail-heavy relative to the rest.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does a reasonable job sketching the return payload and its exclusions, and annotations cover the mutation profile. The significant gap is parameter documentation: pagination and brand scoping are invisible, which an agent needs in order to call this list tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, so the description carries the full documentation burden and largely fails it. It never mentions limit, offset, or brandId — pagination semantics and the brand scoping are only faintly implied by 'the brand's'. This leaves two of three parameters entirely undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('List the brand's carousel drafts from the Carousel Studio') and enumerates the returned fields (title, slide count, last edit), so its purpose is unambiguous. It does not, however, differentiate itself from the very similar sibling list_carousel_posts or get_carousel_draft, which is the only thing keeping it out of the top band.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the note that drafts exclude 'full slide texts' hints that get_carousel_draft is needed for the full content, and 'the brand's' implies a brand scope. No alternative tool is named explicitly and there are no stated preconditions or exclusions, so the agent must infer the routing itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_carousel_postsList carousel postsBRead-onlyIdempotentInspect
List carousel/video publish jobs sent to Instagram or TikTok: status, scheduled time, per-platform result (permalink or error). Optional status filter.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, and idempotentHint=true, so the safety profile is covered. The description adds genuinely new context by naming what each returned job contains (status, scheduled time, per-platform permalink or error), which matters for a read tool with no output schema, though it says nothing about scoping, pagination, or history depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence enumerating the resource and its payload, followed by a short fragment for the filter. No waste, but the trailing fragment is clipped enough that its role is ambiguous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully sketches the return shape, which is its main contribution. However, for a three-parameter listing tool with 0% schema coverage, it omits meaning for two parameters and says nothing about pagination or ordering, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all three parameters. The description accounts for 'status' only, and even then without accepted values; 'limit' (bounded 1-100) and 'brandId' (the scoping key) get no explanation anywhere. With zero schema documentation, the description needed to carry this load and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List carousel/video publish jobs sent to Instagram or TikTok') plus the returned fields, which squarely separates it from sibling list tools like list_carousel_drafts (drafts) and get_video_job_status (single job). An agent can pick this tool 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage note is 'Optional status filter,' which describes a parameter, not when to choose this tool over list_carousel_drafts, list_content_generations, or get_video_job_status. No prerequisites, no when-not condition, no alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalog_creatorsList catalog creatorsRead-onlyIdempotentInspect
Browse creators without a search term. Defaults to the brand niches and language. group recommended matches the selected niches; trending selects mega/macro creators outside them; adjacent selects other creators outside them; all applies only the requested niche/language/platform filters. niche all removes the niche filter, language all includes all languages. Hidden creators are excluded. Results are alphabetically paginated, not an AI ranking. Does not include full creator analyses or video collections.
| Name | Required | Description | Default |
|---|---|---|---|
| group | No | ||
| limit | No | ||
| niche | No | ||
| offset | No | ||
| brandId | No | ||
| language | No | ||
| platform | No |
list_content_generationsList content generationsARead-onlyIdempotentInspect
List the AI script generations saved for a content card (newest first): title, hook, cta and the alternative body/caption options each run produced. Use it to see what was already tried before regenerating.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| brandId | No | ||
| contentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered; the description adds useful behaviour beyond that: results are ordered newest first and each entry contains the title/hook/cta plus alternative body/caption variants. It does not disclose pagination or what happens when no generations exist, so it stops 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the scope and return fields before the usage hint. No filler or restated title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so spelling out the returned fields and sort order is exactly the right compensation, and the usage hint covers the workflow. The remaining gap is the undocumented limit/brandId parameters and no statement about result volume or pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, yet the description only implies contentId through 'saved for a content card' and says nothing about brandId or the limit parameter's role, default, or cap. With the schema carrying no prose, the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (AI script generations saved for a content card), and enumerates the fields returned (title, hook, cta, alternative body/caption options). This is clearly distinct from list_contents and from the generate_* siblings that create the data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives the use case: 'see what was already tried before regenerating.' That ties the tool to the regeneration workflow, giving a clear when-to-use context, but it never names an alternative tool or states when NOT to use it (e.g. vs get_content or list_contents).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_content_referencesList content referencesRead-onlyIdempotentInspect
List the references attached to a content card, in order: referenceType (video | creator | link | document), title, referenceUrl and referenceId. For a video, referenceId is the catalog videoId: pass it to get_catalog_video for the transcript. For a creator, referenceId is the creatorId for get_creator. Links and PDFs carry extraction (status pending | done | error, highlights and extractedTextChars); pass includeText true to also get the full extracted text. Also returns webSearch, the web searches the AI ran for this card.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| contentId | Yes | ||
| includeText | No |
list_contentsList contentsARead-onlyIdempotentInspect
List the brand's content cards (board + calendar) as summaries: id, title, idea, status, platforms, postedAt, mediaType, category, funnelStage, format, createdAt, updatedAt. postedAt is the planned calendar day (null = not on the calendar). Filters: status (idea | draft | edited | posted), platform (tiktok | instagram), mediaType (short_video | carousel | short_text), from/to (planned date range, YYYY-MM-DD or ISO), search (matches title or idea). Paginate with limit (default 50, max 100) and offset. Does not include the full script.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| limit | No | ||
| offset | No | ||
| search | No | ||
| status | No | ||
| brandId | No | ||
| platform | No | ||
| mediaType | No |
TDQS
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 genuinely useful behavior the annotations do not: postedAt is the planned calendar day and null means unscheduled, limit defaults to 50 with a max of 100, and full scripts are excluded from results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the return shape, then filters, then pagination – a logical order with no filler sentences. The first sentence is dense, but 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.
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's enumeration of returned fields is essential and it delivers, plus filter values, date formats, pagination bounds, and the unscheduled-null semantics. An agent has everything needed to call and interpret this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 9 params, the description carries the load and mostly succeeds: it supplies status values (idea|draft|edited|posted), platform, mediaType, from/to date formats, search matching rules, and pagination defaults/max. Only brandId goes unmentioned, which is a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (list the brand's content cards) and immediately scopes what is returned: summaries of board + calendar cards with an enumerated field list. It also carves out what it is not ('Does not include the full script'), which separates it from get_content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the field/filter enumeration and the 'does not include the full script' note, which hints that get_content is the fuller alternative, but the sibling is never named and there is no explicit when/when-not guidance against list_carousel_posts, get_calendar, or list_video_projects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_creator_factsList creator factsARead-onlyIdempotentInspect
List facts the app has learned about the creator (story, pillars, arguments, restrictions, preferences, products, milestones, voice, audience, goals). Includes sourceRef and confirmed; contentId filters facts learned from that content. status defaults to active. limit max 100; paginate with offset/nextOffset.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| status | No | ||
| brandId | No | ||
| category | No | ||
| contentId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real behavioral context beyond them: the default status of 'active' (a filtering behavior the agent would otherwise miss) and the offset/nextOffset pagination model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Effectively three front-loaded sentences: what it returns, then filtering behavior, then pagination limits. Dense and largely waste-free, though the parenthetical category list is long and the last clause is slightly compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description helpfully names return fields (sourceRef, confirmed) and documents the pagination contract. For a six-parameter read-only list tool this is close to sufficient; only brandId and the relative positioning against sibling fact/restriction tools are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden; it explains contentId, status default, limit cap, and pagination, and its category list implicitly decodes the category enum values. It leaves brandId completely unexplained and gives no syntax hints for filtering, so compensation is partial rather than complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (list) plus resource (facts learned about the creator), with an explicit enumeration of the fact categories that maps to the category enum. It does not, however, distinguish itself from close siblings like list_restrictions or get_creator_memory, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful invocation context — status defaults to active, limit max 100, and contentId filters facts learned from that content — which tells the agent how to scope a call. It never says when to prefer this tool over list_restrictions, get_creator_memory, or get_creator_context, so usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_creator_videosList creator videosRead-onlyIdempotentInspect
List ONLY one catalog creator's videos, without their profile, general analysis, video analyses or transcripts. Accounts are matched by platform AND handle. Defaults to every video language, sorted by views; supports recent/engagement, format, platform, minViews and pagination. nextOffset identifies the next page. Video transcripts and creator analyses are not included. Does not scrape or generate anything.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| format | No | ||
| offset | No | ||
| sortBy | No | ||
| brandId | No | ||
| language | No | ||
| minViews | No | ||
| platform | No | ||
| creatorId | Yes |
list_insightsList insightsBRead-onlyIdempotentInspect
List the brand's AI-generated insight tiles.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
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 only that results are 'AI-generated insight tiles' (a hint at result content), with no disclosure of volume, ordering, or freshness. Baseline 3 is appropriate given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the resource front-loaded; nothing is padded or buried. It is held back only by conveying so little in that one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and one simple parameter, the annotations carry most of the burden, but the description omits sibling differentiation and any detail on what an 'insight tile' contains or how many are returned. Adequate but with clear gaps for an agent choosing among many list_/get_* siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single brandId parameter, and the description only implies brand scoping via the possessive 'the brand's'. It does not state whether brandId is required (the schema marks zero required params) or what happens when it is omitted, leaving the key ambiguity unresolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (brand's AI-generated insight tiles), which is clearer than the name alone. However, it does not distinguish this from siblings like generate_insights, get_homepage_insights, or list_contents, so an agent cannot route between them from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no indication of when to use this tool versus generate_insights or get_homepage_insights, nor any prerequisites. There are no exclusions or named alternatives; the agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_macro_topicsList macro topicsBRead-onlyIdempotentInspect
List the brand's macro content topics grouped from its creator facts, with usage counts and the fact ids behind each one.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the burden is light. The description adds useful context about the data's derivation and return contents (usage counts, fact ids), but says nothing about rate limits, caching, or pagination behavior tied to the limit parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence led by the verb with no filler. It packs purpose and return content efficiently, though the trailing clause about usage counts and fact ids makes it a bit dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with annotations covering safety and no output schema, the description partly covers return contents. It is still missing any parameter guidance for limit and brandId, so an agent lacks enough to call it precisely with scoping or page sizes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. The description implies a brand scope ('the brand's') but never explains brandId or what limit controls (result count, range 1-100). With two undocumented parameters it does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (brand's macro content topics), and adds that they are grouped from creator facts with usage counts and fact ids. This separates it from list_creator_facts (the raw facts) reasonably well, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'grouped from its creator facts' implies the tool derives aggregated topics rather than raw facts, hinting at when it is useful. However, there is no explicit when-to-use, when-not, or alternative-tool guidance, leaving the agent to infer its place among the many list_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_restrictionsList restrictionsBRead-onlyIdempotentInspect
List things the brand never wants in its content (restrictions), with where each one came from.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No |
TDQS
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 the safety profile is fully covered. The description adds only that each entry includes its origin ('where each one came from'), which is modest extra context and nothing about pagination, ordering, or empty results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that defines the resource and adds the one non-obvious return detail, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does partially address it via the provenance note, but it leaves brand scoping, ordering, and result shape unexplained. Adequate but with clear gaps for an agent deciding how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single brandId parameter, and the description does not mention brandId at all — not whether it is required, what happens when it is omitted (required count is 0), or what scope the list covers by default. The description therefore fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (restrictions), and helpfully defines the domain term as 'things the brand never wants in its content' plus mentions the provenance field returned. It is implicitly distinguishable from add_restriction/remove_restriction, but it never explicitly contrasts the siblings or states the brand scoping of the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., needing a brand context), and no exclusions or alternatives named. The agent must infer that this is the read counterpart of add_restriction/remove_restriction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_saved_referencesList saved referencesRead-onlyIdempotentInspect
List saved reference videos with thumbnails, URLs, metrics, engagement percentage, topics, note and analysisStatus in the brand language, plus creator inspirations with hasDeepAnalysis. pending means no ready analysis is stored; it does not prove a job is running. Videos are paginated by limit/offset; follow nextOffset. Inspirations are returned on every page. Does not include full video transcripts or creator analyses.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| brandId | No |
list_video_projectsList video projectsARead-onlyIdempotentInspect
List the brand's video editor projects (name, status queued|processing|preview_ready|ready|expired|failed, language, enabled edits, durations). A ready video stays downloadable until expiresAt (expiringSoon when under 24h); after that its status is expired and the file is gone, so do not send the user to download it. Each project includes a url for viewing and editing it in the Dalea video editor.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, yet the description adds substantial extra context: the full status enum, the expiresAt lifecycle, the expiringSoon<24h flag, and the irreversible consequence that the file is gone once expired. That is genuine behavioral disclosure beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose and returned fields, then the lifecycle caveat. Three sentences with little waste, though the parenthetical field list is dense and the parameter gap means words weren't spent where coverage is weakest.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return-value burden by naming the fields, status values, and url purpose, plus the expiry semantics an agent needs. The missing piece is input-parameter semantics (limit/brandId), which is a notable but bounded gap for a 2-param list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never explains the two input parameters. It alludes to a brand ('the brand's') implying brandId, but gives no semantics for brandId or the limit cap (max 100), leaving both inputs undocumented in schema and description alike.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('List the brand's video editor projects') and enumerates the returned fields (name, status, language, edits, durations), which sharply distinguishes these editor projects from the sibling list_videos / list_creator_videos. An agent can identify exactly 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear behavioral rule for expired projects ('do not send the user to download it'), which guides usage around the lifecycle. However, it never names an alternative list tool or states explicit when-to-use conditions versus siblings like list_videos, so selection 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.
list_videosList videosARead-onlyIdempotentInspect
List the brand's published posts with metrics, classificationSources and classification (funnelStage, format, communicationStyle, mediaType). Images/carousels return null views and engagementRatePct with metricAvailability=false; likes/comments/shares/saves remain available. Filters: platform, since/until (ISO), funnelStage, format, minViews, mediaType (video|image|carousel). sortBy: views | engagement | published_at (desc). limit default 20 max 100, offset for paging. Captions are truncated to 300 chars.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | ||
| until | No | ||
| format | No | ||
| offset | No | ||
| sortBy | No | ||
| brandId | No | ||
| minViews | No | ||
| platform | No | ||
| mediaType | No | ||
| funnelStage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: images/carousels return null views and engagementRatePct with metricAvailability=false while likes/comments/shares/saves remain available, and captions are truncated to 300 chars. This is real value, though no total-count or paging-envelope behavior is described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Lead sentence front-loads the resource and return shape, followed by tightly packed clauses on edge-case metrics, filters, sorting, paging and truncation. It is dense but every sentence earns its place; the fragment style is efficient rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must convey returns, and it reasonably does: metrics, classificationSources, classification sub-fields (funnelStage, format, communicationStyle, mediaType), null-metric behavior, and caption truncation. Paging envelope and total counts are the only notable omissions for an 11-parameter list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and largely does: it documents ISO format for since/until, the mediaType enum values, sortBy options with default ordering, and limit default 20 / max 100 with offset for paging. Only brandId is left unexplained, which is a minor gap given the otherwise strong compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the brand's published posts with metrics, classificationSources and classification') and even clarifies the surprising scope that images/carousels are included despite the 'videos' name. However, it never distinguishes itself from closely named siblings like list_contents, list_carousel_posts, or list_creator_videos, so the agent must infer which list tool applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The filters (platform, since/until, funnelStage, format, minViews, mediaType) and sortBy options imply when the tool is useful, giving implicit usage context. But there is no explicit when-to-use versus alternatives guidance and no named sibling to route to, so routing remains inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_contentMove contentADestructiveIdempotentInspect
Move a content card on the kanban board: change its column (status) and/or its order within a column. Provide at least one of status or placement. placement top|bottom positions within the target column (default bottom); the exact order index is managed automatically. status: idea | draft | edited | posted. Note: the 'posted' column does not publish anything.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| brandId | No | ||
| contentId | Yes | ||
| placement | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true, so the safety profile is covered. The description adds genuinely new context beyond that: the exact order index is managed automatically, and the posted column does not publish. It stops short of stating permission or failure semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first clause, followed by parameter guidance and a caution note. Every sentence carries information, though the placement/status details make it slightly dense rather than maximally tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers behavior (auto-managed ordering, non-publishing posted column) and the key parameters adequately, against annotations that already cover idempotency and destructiveness. The unexplained brandId parameter is the main remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the load and mostly succeeds: it explains the placement enum's meaning and default ('default bottom'), restates the status enum, and states the at-least-one-of constraint. brandId, a fourth parameter, is left entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Move a content card on the kanban board') and precisely scopes the operation to column change (status) and/or intra-column reordering. That scope cleanly distinguishes it from siblings like reorder_contents (order only) and update_content (field edits).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear invocation condition ('provide at least one of status or placement') and warns that the 'posted' column does not publish anything, which heads off misuse. However, it never names or routes the agent away from alternatives such as reorder_contents, so guidance is present but not comparative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refine_contentRefine contentADestructiveInspect
Refine or discuss a script with Dalea's shared brand voice, memory, restrictions, source text and chat history. Default returns and saves a preview without changing script/settings; apply=true applies explicitly requested edits. Unsolicited settings remain proposals. searchWeb=true researches the question and returns citations. Uses AI quota. Questions and web-search offers do not rewrite the script. Returns a saved preview identifier for a separate explicit apply or dismiss action.
| Name | Required | Description | Default |
|---|---|---|---|
| apply | No | ||
| brandId | No | ||
| message | Yes | ||
| contentId | Yes | ||
| objective | No | ||
| searchWeb | No | ||
| escalationOf | No | ||
| intentSection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavioral context beyond the annotations: the default save-a-preview-without-changing-script contract, that unsolicited settings stay proposals, quota consumption, and the returned preview identifier for a later explicit apply/dismiss. This clarifies that the destructiveHint=true mutation is opt-in via apply, which is valuable. It does not cover permissions/auth needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well front-loaded with the core behavior first, then the flags. Slightly repetitive ('does not change script/settings' restated as 'do not rewrite the script'), but each sentence mostly earns its place for an operation with this many modes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with 0% schema coverage and no output schema, the description explains the mutation contract and return value well but leaves most parameters undocumented. An agent could still invoke it, but would be guessing on brandId, objective, escalationOf, and intentSection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, yet it only explains apply and searchWeb. The other six parameters (contentId, message, brandId, objective, escalationOf, intentSection) get no semantic treatment, so the compensation is partial at best.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Refine or discuss a script') with supporting machinery named (brand voice, memory, restrictions, source text, chat history). It clearly defines the operation, but never names or contrasts a sibling tool (e.g., review_content_refinement, update_content), so an agent must infer the boundary from behavior alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real when-to-use guidance: default is non-mutating preview, apply=true for explicitly requested edits, and questions/web-search offers explicitly do NOT rewrite the script. It stops short of naming alternative tools for related tasks (review, dismiss, update_content).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refresh_strategy_briefRefresh strategy briefADestructiveInspect
Infer updated positioning, audience, pillars and insights from connected social profiles. Requires confirmed AI usage. Returns a preview unless apply true. Applying replaces the inferred strategy fields, preserves offer/site/preferences and existing content, and does not regenerate memory. Does not apply manual per-field strategy edits.
| Name | Required | Description | Default |
|---|---|---|---|
| apply | No | ||
| brandId | No | ||
| confirm | Yes | The user authorized this operation and its AI usage. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (destructiveHint=true, idempotentHint=false) by disclosing exactly what applying does: replaces inferred strategy fields, preserves offer/site/preferences and existing content, and does not regenerate memory. The preview-vs-apply distinction is precisely the mutation semantics an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, each carrying distinct information (scope, precondition, preview/apply rule, preservation guarantees, exclusion). Front-loaded with the action and heavily front-weighted toward the highest-stakes semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly explains what a call returns (a preview vs an applied change) and what state is preserved. It is nearly complete for a destructive, non-idempotent mutation, lacking only any note about brandId's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, but the description compensates for the two most consequential parameters: the apply flag's preview/commit behavior and confirm's AI-usage authorization. brandId is left undocumented in both description and schema, which is the only gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (infer/refresh) and named resource fields (positioning, audience, pillars, insights) plus the data source (connected social profiles). The closing sentence distinguishes it from the manual per-field editing path (update_strategy_brief), so an agent can tell the two apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition ('Requires confirmed AI usage') and a mode-selection rule ('Returns a preview unless apply true'). It implies when to use it, but never explicitly names update_strategy_brief as the alternative for manual edits — it only negates that behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regenerate_brainstormRegenerate brainstormADestructiveInspect
Replace the brand's active brainstorm set with freshly generated suggestions (optional manualContext steers them). Consumes the daily quota (5/day, several AI calls). Returns { suggestions } like list_brainstorm_suggestions.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| manualContext | No |
TDQS
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 genuinely new context beyond them: it states the previous active set is replaced, and that the call consumes a daily quota (5/day, several AI calls) — valuable cost/rate-limit information not derivable from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with the mutation and replacement effect front-loaded, followed by parameter hint, quota cost, and return shape. No redundant restatement of the title, though the return-value sentence is lightly informative rather than essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, annotation-covered mutation tool with no output schema, the description covers the key unknowns: replacement semantics, quota consumption, and the return payload shape via analogy to a sibling. It falls short only on parameter documentation (brandId, manualContext constraints) and on whether the prior suggestions are recoverable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It explains that manualContext optionally steers generation, but says nothing about brandId (which brand scope it targets) or about the 2000-character limit or expected content of manualContext.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Replace the brand's active brainstorm set with freshly generated suggestions'), making the replace-and-regenerate semantics unmistakable. It also explicitly contrasts with sibling list_brainstorm_suggestions by referencing its return shape, so the agent can distinguish read-listing from regeneration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied (call this when you want new suggestions rather than the existing ones), and the quota note hints that it should not be called casually. However, there is no explicit when-to-use/when-not guidance or routing against siblings like list_brainstorm_suggestions or accept/dismiss_brainstorm_suggestion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regenerate_creator_memoryRegenerate creator memoryADestructiveInspect
Rebuild creator memory from the latest stored facts, interview, strategy and content. Requires confirmed AI usage. Returns generated/skipped and the resulting text and structured memory. Does not sync social profiles; works from already stored data. Unchanged inputs may be skipped.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| confirm | Yes | The user authorized regenerating memory and its AI usage. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real value beyond the annotations: the confirm/AI-usage authorization requirement, the scope exclusion of social-profile syncing, the skip-on-unchanged-inputs behavior, and a summary of the return payload (generated/skipped plus text and structured memory). It does not explain what happens to the previously stored memory that a destructiveHint=true flag implies gets replaced, which is the main 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the core action, then prerequisites, then scope limits, then return shape. Dense and largely waste-free, though the return-shape sentence could be trimmed since no output schema exists to compare against.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema mutation tool, it covers the precondition, the data scope, the skip behavior, and the return contents. Missing detail on the destructive consequence to prior memory and any failure/cost semantics, but an agent has enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% and only confirm is documented. The description compensates partially by explaining that confirmation authorizes regeneration and its AI usage, but brandId (scope target) is never addressed in either schema or description. Baseline 3 given partial compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Rebuild) and resource (creator memory), plus the exact input sources it derives from (stored facts, interview, strategy, content). This clearly separates it from get_creator_memory and update_creator_memory among the many sibling memory tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the precondition ('Requires confirmed AI usage') and a scope boundary ('Does not sync social profiles; works from already stored data'), which tells the agent this is a stored-data rebuild rather than a fetch/refresh. It does not explicitly name when to prefer this over update_creator_memory or get_creator_memory, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_restrictionRemove restrictionADestructiveIdempotentInspect
Permanently delete one restriction by id (from list_restrictions). Returns the remaining restriction list.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| restrictionId | Yes |
TDQS
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 still adds value by saying the deletion is 'permanent' and by disclosing the return payload ('returns the remaining restriction list'), which matters since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the destructive action and scope are front-loaded, followed by the id source and return value. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, the description covers permanence and the return value, which is what an agent most needs. The only omission is any explanation of the second parameter, brandId.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It gives the origin of restrictionId, but says nothing about brandId (optional) — neither its purpose nor whether it scopes the deletion — leaving a required-context gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('permanently delete one restriction by id') with explicit scope, and clearly separates itself from the sibling add_restriction/list_restrictions by naming where the id comes from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(from list_restrictions)' tells the agent how to obtain the id, which is a useful workflow hint, but there is no explicit when-to-use/when-not guidance or mention of alternatives such as updating rather than deleting a restriction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reorder_contentsReorder contentsADestructiveIdempotentInspect
Set the order of cards inside one kanban column (status: idea | draft | edited | posted). orderedIds (1-200, all must belong to that column) become positions 0..n-1 in the given order; cards of the column not listed keep their relative order after them. Does NOT change any card's status, date or fields, and does not publish anything. Returns the full column order as { id, position }.
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| brandId | No | ||
| orderedIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructive/idempotent/closed-world, and the description sharpens exactly what that destructiveness means: only position order changes, unlisted cards retain relative order after the listed ones, no status/date/field mutation, no publishing. It also documents the return payload shape, which no output schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, front-loaded on the core action before the ordering mechanics and the explicit non-effects. Every clause carries operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, no-output-schema tool it covers effects, non-effects, partial-list behavior, and the response shape. Remaining gaps are the unmentioned brandId and no statement of what happens on invalid ids (e.g. an id from another column).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage the description must compensate, and it does well for orderedIds — cardinality (1-200), the constraint that all ids belong to the target column, and the resulting 0..n-1 positions — plus the status enum values. brandId is never mentioned, leaving one required-ish parameter opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Set the order of cards inside one kanban column') and scopes it to a single column with explicit enum values. The negative clause 'Does NOT change any card's status' separates it from move_content, which shares the card/column domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context for when to reach for it: intra-column ordering with cards that 'all must belong to that column,' plus the exclusion that it does not publish or change status/date/fields. It stops short of naming the alternative (move_content) for cross-column moves, so the routing is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retry_content_sourceRetry content sourceAInspect
Retry a failed or stalled source extraction in the background. Completed or actively processing sources are unchanged. The updated extraction status is available asynchronously.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| contentId | Yes | ||
| referenceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true). The description adds real context beyond them: work happens in the background, unaffected source states are explicitly listed, and the status result is asynchronous. It omits permission/auth requirements and any rate-limit or duplicate-retry behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and its precondition; the no-op case and async result follow in logical order. No filler, though the phrase 'in the background' and 'asynchronously' partially overlap.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation with no output schema and 0% parameter documentation, the description covers the async nature and the no-op case but leaves the agent without the parameter mapping or a pointer to how/where to poll extraction status (e.g., get_content_source). Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters (brandId, contentId, referenceId, two required). The description never explains which identifier selects the source, why both contentId and referenceId are needed, or what brandId does. For a tool with zero documented parameters the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retry a failed or stalled source extraction') plus the qualifying condition (failed/stalled), which cleanly separates it from sibling source tools like add_content_source, get_content_source, and create_content_source_upload. An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear trigger ('failed or stalled') and an implicit exclusion ('Completed or actively processing sources are unchanged'), which tells the agent when the call is a no-op. It stops short of naming an alternative (e.g., re-adding the source) for cases where retry is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_content_refinementReview content refinementADestructiveIdempotentInspect
Apply or dismiss a saved refinement preview without another AI call. Refuses to overwrite content edited since the preview. includeSuggestedSettings=true explicitly accepts unsolicited settings proposals too. Calendar dates and status are internal planning only; this never publishes a post.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| brandId | No | ||
| contentId | Yes | ||
| refinementId | Yes | ||
| includeSuggestedSettings | No |
TDQS
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 partly covered. The description adds real behavior beyond them: stale-content protection ('refuses to overwrite content edited since the preview') and the explicit scoping that this never publishes a post. It does not state what an agent sees when the refusal triggers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each load-bearing: purpose first, then the staleness constraint, then the one non-obvious parameter, then the scope disclaimer. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter mutation tool with no output schema, the description covers purpose, the key behavioral guardrail, one parameter's nuance, and the publishing boundary. It omits what a successful apply/dismiss returns and how the stale-content refusal surfaces, which is a modest gap given the annotations cover mutation risk.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains includeSuggestedSettings as accepting unsolicited settings proposals, and echoes the apply/dismiss semantics of the action enum, but leaves brandId, contentId and refinementId with no added meaning beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (apply/dismiss) and resource (a saved refinement preview), and the phrase 'without another AI call' distinguishes it from the generation-side siblings like refine_content. It stops short of naming the sibling it complements, but the operation is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It makes the precondition clear (a refinement preview must already be saved) and implicitly routes the agent here as the cheap follow-up rather than re-running an AI refinement. No explicit when-not-use or named alternatives are provided, so it is clear context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_creator_factReview creator factADestructiveInspect
Review a learned fact by id: confirm validates it and restores it if archived; reject archives it with review provenance; correct archives it and records the corrected text. Only record confirmation when the creator has actually confirmed the fact. Does not regenerate memory.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| factId | Yes | ||
| brandId | No | ||
| correctedFact | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark this as destructive and non-idempotent, but the description adds meaningful per-action behavior: confirm validates and may restore from archive, reject archives with review provenance, and correct archives while storing corrected text. It also states what the tool does not do (regenerate memory), which is useful negative behavior disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tightly written sentences with the core action behavior front-loaded. Every sentence adds operational information without repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no output schema, the description covers the important behavioral outcomes and the no-memory-regeneration boundary well. The main gap is the undocumented brandId parameter, but the action semantics and annotation coverage make the definition largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for four parameters. It explains the action enum values, identifies factId as the fact being reviewed, and implies correctedFact through 'records the corrected text,' but it never mentions brandId and does not cover length constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair ('Review a learned fact by id') and immediately decomposes the three valid review actions. It clearly distinguishes this review operation from sibling operations like add_creator_fact, archive_creator_fact, and update_creator_memory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear contextual guidance for the confirm action ('Only record confirmation when the creator has actually confirmed the fact') and a boundary condition ('Does not regenerate memory'). It does not explicitly route the agent to alternative tools, but the action semantics provide sufficient when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_creator_deep_analysisRun creator deep analysisAInspect
Run (or return the cached) AI deep analysis of a saved creator by creatorId. Consumes the daily quota (10/day, one long AI call). Returns { analysis, cached } with the same object shape as get_creator_analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| creatorId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds non-trivial behavior beyond them: quota consumption of 10/day, a long single AI call, and the possibility of returning cached output. Missing details on auth/permissions keep it at 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and cost, then the return shape. Every clause carries information; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the return shape ({ analysis, cached }) and its relationship to get_creator_analysis. The only gap is the undocumented brandId parameter, which leaves a small but real hole for a 2-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description only gives meaning to creatorId ('saved creator by creatorId'); the optional brandId is left entirely undocumented in both schema and description. Baseline is 3 when a required param is clarified but another is not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Run ... AI deep analysis of a saved creator by creatorId') and clarifies the caching branch. It implicitly separates itself from the read-only sibling get_creator_analysis via 'Run (or return the cached)', but does not name that sibling explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a real cost/usage signal up front ('Consumes the daily quota (10/day, one long AI call)'), which tells the agent to use it sparingly. It does not explicitly say when to prefer get_creator_analysis over re-running, so guidance is clear but not fully routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_catalog_videoSave catalog videoADestructiveIdempotentInspect
Save an existing catalog video to this brand's reference library by videoId, without scraping or generating analysis. Optional note updates the saved note; omitting it preserves an existing note. Returns savedVideoId for delete_saved_reference. Does not attach the video to a content card.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| brandId | No | ||
| videoId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint, destructiveHint, readOnlyHint=false and openWorldHint=false, so safety is partly covered. The description still adds real value beyond them: it clarifies no scraping/analysis occurs, defines note overwrite semantics ('omitting it preserves an existing note'), names the return value savedVideoId and its consumer (delete_saved_reference), and rules out card attachment. It stops short of explaining what destructiveHint means here (e.g., overwriting a note) or any auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core action and scope, each adding distinct information (no-analysis caveat, note semantics, return value, non-attachment). No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-param write tool with no output schema and no annotation-contradiction, the description covers the essential call semantics and even states the return value. Missing only peripheral details like permission requirements or error behavior, which is minor here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does for two of three params: videoId is the required key ('by videoId'), and note's optionality and preserve-on-omit behavior are explained. brandId is only hinted at via 'this brand's', leaving its format/derivation implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb + resource + scope ('Save an existing catalog video to this brand's reference library by videoId') and immediately distinguishes itself from analyze_catalog_video ('without scraping or generating analysis'). An agent can separate it from siblings like analyze_catalog_video and save_reference_by_url 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly routes the agent: 'by videoId' separates it from save_reference_by_url (URL-based) and 'Does not attach the video to a content card' rules out attach_content_reference. However, it never names those siblings explicitly or states a when-not condition, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_reference_by_urlSave reference by URLAInspect
Save a TikTok/Instagram video or creator profile URL as a brand reference (scrapes it if unknown; video analysis runs in the background). Consumes the daily quota (30/day). The reference and analysis status become available in the saved-reference library. API reference: https://usedalea.ai/docs/mcp/tools/save_reference_by_url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| note | No | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond the annotations: the daily quota cost, the synchronous scrape-if-unknown step, asynchronous background analysis, and where the result surfaces afterwards. These are exactly the side-effect details an agent needs for a non-read-only, open-world tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences plus a doc link. The primary effect is front-loaded, followed by quota and async caveats, with no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description explains what becomes available after the call (reference plus analysis status in the library), plus the quota constraint. Only minor gaps remain, chiefly the undocumented note/brandId parameters and how the async analysis is later polled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies the accepted URL types for 'url' but says nothing about 'note' or 'brandId', leaving two of three parameters undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (save) and resource (TikTok/Instagram video or creator profile URL) as a brand reference, and names the resulting artifact ('saved-reference library'). This cleanly separates it from siblings like save_catalog_video and attach_content_reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives useful operating context (scrapes if unknown, analysis runs in background, consumes the 30/day quota), but never states when to prefer this over alternatives such as save_catalog_video or attach_content_reference. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_contentSchedule contentADestructiveIdempotentInspect
Set the planned calendar date for a content card (the day it should be posted). Pass YYYY-MM-DD for a day (stored at noon UTC so the day is stable in every timezone) or a full ISO timestamp when the exact time matters. This only plans the date; it does not publish.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| brandId | No | ||
| contentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=true and openWorldHint=false, and the description adds a genuinely useful storage detail (noon UTC anchoring so the day is timezone-stable). However, it does not disclose the destructive side the annotation implies — what happens to a previously scheduled date, i.e. whether this overwrites it — and leaves 'does not publish' as the only behavioral boundary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action, then the input format, then the scope boundary. No filler and every clause conveys either format or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and nothing in the description promises a return shape, which is acceptable. For a destructive-flagged mutation the main remaining gaps are overwrite semantics for an already-scheduled card and the role of brandId; otherwise an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry all parameter meaning. It does a good job on 'date' (YYYY-MM-DD vs full ISO timestamp, with the reason for the noon-UTC normalization), but says nothing about contentId (beyond being the target card) or brandId, leaving one of three parameters entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Set the planned calendar date for a content card') and clarifies the scope of the write ('This only plans the date; it does not publish'), which separates it from publish-side and update_content-style siblings. An agent knows exactly what state changes 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear when-to-use context (planning the posting day) and an explicit when-not ('it does not publish'). It does not name the counterpart tool (unschedule_content) or state what to do to clear a date, so one routing question is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearchRead-onlyIdempotentInspect
Search the user's Dalea workspace: planned/written contents, the reference video catalog, and creators. Returns ids to pass to fetch. Supports search across these three stored collections.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| brandId | No |
search_catalog_videosSearch catalog videosRead-onlyIdempotentInspect
Search the shared reference catalog of top-performing creator videos. Defaults to the brand's niches and content language (language 'all' disables the language filter). niche accepts a catalog niche slug, several separated by commas, or free text that is mapped to slugs; '' or 'all' disables the niche filter. Catalog niches: negocios, lifestyle, imoveis, saude, medicina, beleza, vendas, estetica, marketing, startups, financas, carreiras, tecnologia, culinaria, fitness, design, direito, estudos, arquitetura, humor, viagens, ciencia, maternidade, esportes, moda, crypto, odontologia, musica, fotografia, pets, idiomas, psicologia, espiritualidade, varejo. The response reports the niches applied (niches, nicheSource); when no video matches the niche on the first page the search is retried across every niche and nicheRelaxed is true. query understands format names, funnel phrases (tofu/mofu/bofu) and presentation modes (text on screen / spoken), and matches the rest against captions and handles. format is a taxonomy slug. sortBy: views (default) | virality (engagement rate) | recent. Creators the brand hid are excluded. Paginate with limit (max 100) and offset.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| niche | No | ||
| query | No | ||
| format | No | ||
| offset | No | ||
| sortBy | No | ||
| brandId | No | ||
| language | No | ||
| minViews | No | ||
| platform | No | ||
| funnelStage | No |
search_creatorsSearch creatorsRead-onlyIdempotentInspect
Search catalog creators by name or handle (min 2 chars). Optional niche (catalog niche slug or free text, same values as search_catalog_videos) and platform filters. Returns each creator with their platform accounts and follower counts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| niche | No | ||
| query | Yes | ||
| brandId | No | ||
| platform | No |
set_content_web_searchSet content web searchADestructiveIdempotentInspect
Enable or disable manual web research for script generation on this card, preserving existing citations and script options. Does not run a search. Dalea may still auto-enable research for time-sensitive topics. Existing citations remain available on the content and its references.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| enabled | Yes | ||
| contentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=true, readOnlyHint=false, so the mutation/safety profile is covered. The description adds non-obvious behavior: it does not run a search, existing citations and script options are preserved, and the system may override the setting for time-sensitive topics. These are genuinely beyond what the annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first sentence with zero preamble. However, the citation-preservation idea is stated twice ('preserving existing citations' and 'Existing citations remain available on the content and its references'), which is one redundant sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple boolean toggle with no output schema, the description covers the essential behavior: what it toggles, that it does not perform the search, side effects on citations, and an auto-enable exception. It is complete enough to call correctly, with the main remaining gap being the undocumented brandId parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 3 parameters, so the description carries the burden and largely fails to. 'On this card' loosely implies contentId and 'enable or disable' implies the enabled boolean, but brandId is entirely unexplained and there is no format, default, or interaction guidance for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (enable/disable) and resource (manual web research for script generation on this card), and immediately scopes it against the obvious confusion with search tools via 'Does not run a search.' An agent can distinguish this toggle from generate_scripts or search 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly establishes when to use it (toggling manual web research for script generation) and adds a useful caveat that research may be auto-enabled for time-sensitive topics, which affects whether calling this is even necessary. It does not name a specific sibling alternative, but the trigger context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_creator_inspirationSet creator inspirationADestructiveIdempotentInspect
Star or unstar an existing catalog creator as an inspiration for this brand. Respects the app's inspiration limit and leaves other brands untouched. Idempotent for an already starred/unstarred creator. Does not scrape the creator, generate analysis or change saved videos.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| starred | Yes | ||
| creatorId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds rich behavioral context beyond annotations: it respects the app's inspiration limit, leaves other brands untouched, is idempotent for already starred/unstarred creators, and explicitly avoids scraping, analysis, or saved-video changes. These details clarify side effects and non-effects for a mutation tool with destructive and idempotent annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four tight sentences, front-loaded with the core action and followed by constraints, idempotency, and explicit non-effects. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and rich annotations, the description is nearly complete: it covers scope, limit handling, idempotency, and avoided side effects. It could still clarify the brandId parameter or success/error behavior when the inspiration limit is reached.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning for 'starred' (star vs unstar), 'creatorId' (existing catalog creator), and 'brandId' implicitly (this brand), but it does not explain parameter names, formats, or the brandId argument directly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: star/unstar an existing catalog creator as a brand inspiration. This clearly distinguishes the operation from generic creator updates or hide/unhide tools, though it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'as an inspiration for this brand,' and the limits/non-effects provide useful context. However, there is no explicit when-to-use guidance or comparison against alternatives such as list_catalog_creators, search_creators, or hide_creator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_video_classificationSet video classificationADestructiveIdempotentInspect
Manually classify one of the brand's published videos (by platformVideoId): funnel (tofu | mofu | bofu), format (taxonomy slug, e.g. talking_head, tutorial, listicle) and/or communicationStyle (style slug). Provide at least one; pass null to clear an axis back to unclassified. Only the classification columns change (marked as manual so auto-classification will not overwrite them); metrics, analysis and the video itself are NOT touched, and nothing is published. Returns the video's resulting classification.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | ||
| funnel | No | ||
| brandId | No | ||
| platformVideoId | Yes | ||
| communicationStyle | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds strong context beyond the annotations: only classification columns change, they are marked manual so auto-classification won't overwrite, and metrics/analysis/the video itself are untouched and nothing is published. This is genuinely useful mutation-scope disclosure. It slightly softens the destructiveHint=true by scoping the change, but the null-to-clear path explains the destructive flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the action and identifier, then the input rule, then the mutation scope. No filler, and each clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers action, inputs, mutation scope, and even the return value ('Returns the video's resulting classification') despite no output schema. Complete enough for safe invocation; only brandId's role is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the load: it explains funnel's enum (tofu|mofu|bofu), describes format as a taxonomy slug with concrete examples (talking_head, tutorial, listicle), and identifies communicationStyle as a style slug, plus the null-clears semantics. brandId remains unexplained, keeping it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (classify) plus resource (video) and the exact axes being set: funnel, format, communicationStyle. It even names the identifier (platformVideoId) and the enum values for funnel, so an agent knows precisely what this tool manipulates versus generic update_video or analyze_video siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage conditions: 'Provide at least one; pass null to clear an axis back to unclassified.' That covers the input contract well, but it does not route the agent away from any sibling (e.g., when to prefer this over update_content or analyze_video).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategy_interviewStrategy interviewADestructiveInspect
Run Dalea's strategy interview: start resumes an existing session; answer advances it; append refines existing context; reset archives the conversation and starts over; apply activates a completed interview; apply_partial activates a usable partial interview. Requires confirmation for AI usage and explicit user intent before reset. Does not apply suggested restrictions.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| answer | No | ||
| brandId | No | ||
| confirm | Yes | The user authorized this operation and any AI usage. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and non-idempotent, but the description goes further by disclosing the concrete destructive behavior ('reset archives the conversation and starts over') and the gating requirements (confirmation for AI usage, explicit user intent before reset). It does not describe return shape or intermediate session state, but for a mutation tool this is solid added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph with the purpose front-loaded, followed by a compact semicolon-delimited action table, then the two constraints. No sentence is filler; every clause conveys either an action's semantics or a prerequisite.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, multi-action, no-output-schema tool this covers the essential dispatch semantics, gating, and scope limits. The remaining gap is that brandId is unexplained and session lifecycle/state is only loosely implied, but an agent has enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25%, so the description must compensate, and it does for the critical discriminator: it defines the behavior of all six action enum values, which the schema lists bare. The confirm parameter's meaning is reinforced ('confirmation for AI usage'), but 'answer' and especially 'brandId' receive no explanation in either place.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Run Dalea's strategy interview') and then decomposes the tool into its six named actions, so an agent understands exactly what capability this is. It is clearly distinguishable from sibling readers like get_strategy_interview and update_strategy_brief.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Maps each action value to its intent (start resumes, answer advances, append refines, reset archives+restarts, apply activates complete, apply_partial activates usable partial), which is precisely the routing guidance needed for a multi-action tool. It also states prerequisites (confirmation for AI usage, explicit user intent before reset) and a scope exclusion ('Does not apply suggested restrictions'), though it never names a sibling alternative to prefer in any scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_metricsSync metricsAInspect
Fetch fresh metrics from every connected TikTok/Instagram account. Consumes the daily quota (6/day). Returns per-account counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare non-read-only, non-idempotent, open-world behavior; the description adds genuinely new context beyond them: quota consumption (6/day) and the return shape ('per-account counts'). It does not cover failure/partial-sync behavior or latency, but the quota disclosure is exactly the kind of operational cost an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each doing distinct work (action, cost, return), with the verb and scope front-loaded. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, no-output-schema tool, the description covers action, cost, and return summary, which is close to sufficient. It could be more complete by noting that it syncs all accounts unconditionally or what happens on quota exhaustion, but nothing essential to invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantic burden and there is nothing for the description to disambiguate. Baseline 4 for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Fetch fresh metrics') plus the scope ('every connected TikTok/Instagram account'), which distinguishes it from the sibling get_metrics_daily by implying a live pull rather than a stored-data read. It stops short of naming that sibling explicitly, so differentiation requires inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The quota note ('Consumes the daily quota (6/day)') implies this is a costly, deliberate action and hints at when to prefer cheaper read tools, but it never states when to sync versus using get_metrics_daily or get_performance_summary. Usage is implied, not specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unhide_creatorUnhide creatorADestructiveIdempotentInspect
Show a previously hidden creator (by handle) in this brand's reference catalog again. No-op when the creator was not hidden.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| creatorHandle | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish idempotentHint=true, destructiveHint=true, and readOnlyHint=false. The description usefully confirms idempotency via the no-op sentence, but it does not explain what state is actually changed or why the annotation marks the operation as destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no filler, and the core action is front-loaded before the no-op edge case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter mutation with no output schema, the description covers the main action and idempotency. However, it leaves brandId semantics and the destructiveHint implication unexplained, which is a meaningful gap for an agent deciding whether and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for both parameters. It explains creatorHandle only as 'by handle' and references 'this brand's' catalog, but it never clarifies brandId or whether brand selection is optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: show a previously hidden creator in this brand's reference catalog. It also distinguishes the operation from its obvious sibling hide_creator and scopes it by handle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when to use the tool, including the important no-op condition when the creator was not hidden. It does not explicitly name hide_creator as the inverse operation, but the condition is clear enough for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unschedule_contentUnschedule contentBDestructiveIdempotentInspect
Clear a content card's planned calendar date (sets posted_at to null).
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| contentId | Yes |
TDQS
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 mutation/safety profile is covered structurally. The description adds real value by specifying exactly what changes (posted_at becomes null), but it never clarifies that the content card itself survives — a meaningful gap given the destructiveHint=true warning, which could make an agent fear deletion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action, with the implementation detail tucked into a parenthetical. Zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% schema description coverage, the description carries the full burden but explains neither parameter and gives no result or error context. For a destructive mutation tool the definition is under-specified relative to its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither of the two parameters (brandId, contentId) is explained anywhere. The description mentions 'a content card' but never ties contentId to it or says what brandId is for, leaving the agent to guess at required scoping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (clear/unschedule) and resource (a content card's planned calendar date), and even names the underlying mechanic (posted_at set to null). It does not explicitly contrast with the sibling schedule_content, which is the obvious inverse operation an agent would need to disambiguate against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus schedule_content or update_content, nor any preconditions (e.g. whether the card must currently be scheduled). The relationship is left entirely to inference from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_brand_kitUpdate brand kitADestructiveIdempotentInspect
Update the brand's visual identity kit: colors (primary, accent, background, foreground, palette), fonts (fontFamily, headingFont), logoUrl, voiceDescription. Only the keys in patch change; source becomes manual and sourceUrl is preserved. Fails when the brand has no kit yet unless the patch carries every required field.
| Name | Required | Description | Default |
|---|---|---|---|
| patch | Yes | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (destructiveHint=true, idempotentHint=true), and the description adds genuinely non-derivable behavior: only the keys present in the patch change, the kit's source is forced to 'manual' and sourceUrl is preserved, and the call fails for a brand with no existing kit unless the patch is complete. That is exactly the mutation-side-effect detail an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences: what it updates is front-loaded, then patch semantics, then the failure condition. No filler and nothing redundant with the name/title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-patch mutation tool with annotations but no output schema, the description covers field scope, partial-update behavior, side effects on source/sourceUrl, and the failure precondition. Only brandId's role and identity goes unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema names the patch keys but explains none of them; the description compensates by enumerating and grouping them (colors including primary/accent/background/foreground/palette, fonts fontFamily/headingFont, logoUrl, voiceDescription). The brandId parameter is left entirely unexplained, which is the only real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Update') and resource ('brand's visual identity kit') and enumerates the exact surface it touches: colors, fonts, logoUrl, voiceDescription. An agent can immediately distinguish it from get_brand_kit, create_brand_kit_upload and update_brand_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides meaningful application context (partial-patch semantics, and the failure case when no kit exists unless every required field is supplied), but never names an alternative or says when to reach for update_brand_profile vs create_brand_kit_upload vs this tool. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_brand_profileUpdate brand profileADestructiveIdempotentInspect
Rename a brand or change its contentLanguage (a supported Dalea locale). Does not translate existing content or change subscription or connected profiles.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| brandId | No | ||
| contentLanguage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a mutating, destructive, idempotent, non-open-world operation, so the bar is low. The description still adds real value by disclosing a non-obvious side-effect boundary: changing contentLanguage does not translate existing content, and subscription/connected profiles are untouched. It does not explain what the destructiveHint=true covers, which keeps it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and followed by the exclusions; every clause carries information and nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter mutation with no output schema and annotations covering the safety profile, the description covers purpose and scope well. It leaves gaps around brandId selection and what happens when optional fields are omitted, but nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It maps 'rename' to name and contentLanguage to a 'supported Dalea locale', which adds meaning over the bare enum, but brandId is never mentioned and no format or requiredness guidance is given despite the schema listing zero required parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact operations (rename, change contentLanguage) and the resource (brand profile), so an agent can distinguish it from get_brand_profile, list_brands, and update_brand_kit without opening a schema. It also defines the scope boundaries of the mutation in the same breath.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear when-not guidance by excluding translation of existing content and changes to subscription or connected profiles, which prevents misinvocation. However, it never names an alternative tool for those excluded cases, so routing among siblings is only partly supported.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_contentUpdate contentADestructiveIdempotentInspect
Edit a content card's editorial fields (no AI). Provide at least one of title, idea, hook, body, cta, caption, platforms, mediaType, category, funnelStage. For a carousel, write every slide in body, in order, separated by "\n\n---\n\n": without the separator all the text lands on one slide. Does NOT change the board column, order, or date. The returned url opens the card in Dalea for review and editing. API reference: https://usedalea.ai/docs/mcp/tools/update_content.
| Name | Required | Description | Default |
|---|---|---|---|
| cta | No | ||
| body | No | ||
| hook | No | ||
| idea | No | ||
| title | No | ||
| brandId | No | ||
| caption | No | ||
| category | No | ||
| contentId | Yes | ||
| mediaType | No | ||
| platforms | No | ||
| funnelStage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, idempotentHint=true, readOnlyHint=false, but the description adds meaning the annotations cannot: '(no AI)' means content is overwritten rather than regenerated, the carousel separator rule prevents a real data-loss failure mode ('all the text lands on one slide'), and the return url is described. It doesn't explicitly describe overwrite semantics for omitted fields, so not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the minimum-input rule, then the carousel trap, then exclusions and return value. Dense but every clause is actionable; the trailing API reference URL is mild padding but harmless.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-param mutation tool with 0% schema coverage and no output schema, the description covers field list, minimum input, formatting constraints, scope exclusions, and the return value. An agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the load, and it enumerates the 10 editable field names and adds critical value the schema lacks: the required '\n\n---\n\n' separator and per-slide ordering for carousel bodies. brandId and contentId are not described, so it is not fully exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (edit) plus resource and scope (a content card's editorial fields) and adds the '(no AI)' qualifier, which separates it from the generate_* and refine_content siblings. The explicit 'Does NOT change the board column, order, or date' further distinguishes it from move_content, reorder_contents, and schedule_content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition ('provide at least one of...') and negative guidance that this tool must not be used for column/order/date changes, implicitly routing those to the move/reorder/schedule siblings. It stops short of naming those alternatives explicitly, so it falls just below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_creator_contextUpdate creator contextADestructiveInspect
Save structured context from an interview conducted by the agent: origin, goals90, winningContent, struggles, themes and voice. Patch replaces only supplied fields; empty string/list clears a field. Activates the context and extracts facts using the app's learning pipeline (confirmed AI usage required). Refuses during an in-progress Dalea interview. Does not rewrite conversation history or regenerate memory. Record only what the creator stated.
| Name | Required | Description | Default |
|---|---|---|---|
| patch | Yes | ||
| brandId | No | ||
| confirm | Yes | The user authorized this operation and any AI usage. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavioral detail beyond the annotations: patch replaces only supplied fields, an empty string/list clears a field (matching destructiveHint), it activates context and runs the learning pipeline as a side effect, and it refuses mid-interview. These side effects and destructive semantics are exactly what an agent needs and are not derivable from the structured fields alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action in the first clause, then layers the field list, patching semantics, side effects, and refusal conditions in dense, non-redundant sentences. Every sentence carries decision-relevant information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, nested-object mutation with no output schema, the description covers the prerequisites (confirmed AI usage), refusal condition (in-progress interview), field-clearing behavior, and side effects (fact extraction via learning pipeline). Nothing needed to call it correctly is conspicuously absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 33% schema description coverage, the description usefully names the patch fields and, crucially, explains the replace-vs-clear semantics that the schema does not convey. It leaves brandId semantics unaddressed and does not describe confirm beyond what the schema description already states, so it compensates well but not completely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Save) and resource (structured creator context from an interview) and enumerates the exact fields involved (origin, goals90, winningContent, struggles, themes, voice). An agent can clearly distinguish this from siblings like update_creator_memory, get_creator_context, and add_creator_fact 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use (saving structured interview output) plus exclusions: refuses during an in-progress Dalea interview, requires confirmed AI usage, and explicitly notes it does not rewrite conversation history or regenerate memory. It stops short of naming the alternative tool an agent should reach for when those conditions fail, so it is strong but not fully prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_creator_memoryUpdate creator memoryADestructiveIdempotentInspect
Replace the consolidated creator memory with exactly one of memoryText or structured. Structured input also updates its text representation. Plain text clears the structured representation so readers do not see stale fields. Does not change underlying facts; review those separately. Later AI regeneration can replace this memory, so store lasting corrections in creator facts too.
| Name | Required | Description | Default |
|---|---|---|---|
| brandId | No | ||
| memoryText | No | ||
| structured | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=true, but the description goes further by spelling out exactly what is destroyed: the whole memory is replaced, plain text clears the structured representation to avoid stale fields, and later AI regeneration may overwrite the value. That is meaningful context beyond the boolean hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with no filler; the core replacement rule and mutual exclusivity are front-loaded. The closing sentence about regeneration and creator facts is slightly dense but earns its place as routing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested seven-field structured object, zero schema descriptions, and no output schema, the description covers replacement semantics and side effects well but leaves the shape and requirements of the structured payload and the role of brandId unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It usefully documents the memoryText-vs-structured mutual exclusivity (absent from the schema's anyOf/oneOf) and the cascade side effect, but says nothing about brandId or the seven nested structured fields (summary, pattern, works, formula, avoid, priority, learnings).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Replace the consolidated creator memory') plus the exact input contract (exactly one of memoryText or structured). This distinguishes it from sibling readers/writers such as get_creator_memory and regenerate_creator_memory without the agent opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear routing guidance: 'Does not change underlying facts; review those separately' and 'store lasting corrections in creator facts too', which steers the agent toward add_creator_fact/add_restriction for durable edits. It stops short of explicitly naming regenerate_creator_memory as the alternative when the agent wants AI-driven rewriting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_script_preferencesUpdate script preferencesADestructiveIdempotentInspect
Update the brand's script preferences. Only the keys present in patch are replaced (a list key replaces the whole list); everything else is kept. formats must be taxonomy slugs (talking_head, voiceover_broll, listicle, tutorial, storytelling, reaction, pov, street_interview, day_in_life, podcast_clip, green_screen). defaultDurationSeconds 5-600 or null. Restrictions live elsewhere (add_restriction). Returns the full preferences document.
| Name | Required | Description | Default |
|---|---|---|---|
| patch | Yes | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and idempotentHint=true, and the description meaningfully complements them by spelling out the exact merge/replace semantics that determine what gets destroyed (list keys fully replaced) and by stating it returns the full preferences document despite no output schema. Strong added context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the verb and the critical patch-merge rule, then constraints, then the routed alternative, then the return value. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive nested-patch mutation with no output schema, the description covers the highest-risk behaviors (merge vs replace, return shape) and one parameter family in detail. It leaves several nested keys unmentioned, but the schema's own constraints (maxItems, maxLength, enums) mitigate this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It documents the formats slug values and the defaultDurationSeconds range (5-600 or null), but pillars, bannedHooks, approvedHooks, useLearnedFormats, standingInstructions, and brandId get no explanation. Partial but not full compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Update the brand's script preferences') and names the sibling get_script_preferences implicitly via the returned document. It does not explicitly contrast itself with siblings like add_restriction or get_script_preferences, but the operation is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes the patch contract ('only the keys present in patch are replaced; a list key replaces the whole list') and routes a related capability away with 'Restrictions live elsewhere (add_restriction).' That is clear when-to-use context, though there is no explicit when-not-to-use statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_strategy_briefUpdate strategy briefADestructiveIdempotentInspect
Update the brand's strategy brief (onboarding brief). Only these keys can change: niche, niches, topics, profileType, contentGoal, icpWho, icpWants, mainPain, promiseLine, toneStyle, contentPillars, tabooTopics, mediaTypes. Also accepts offerInputMode, offerUrl, offerManual (what, forWho, outcome), offerIntent, pageContentStyle and siteUrl. Null clears optional offer/site fields; switching offer mode clears the previous offer. Keys not in patch are kept. Does not regenerate memory. Returns the editable brief.
| Name | Required | Description | Default |
|---|---|---|---|
| patch | Yes | ||
| brandId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only mark this as a destructive, idempotent write; the description adds real behavioral depth beyond them – partial-patch semantics ('Keys not in patch are kept'), destructive null-clearing, offer-mode switching clearing the prior offer, and the fact that memory is not regenerated. This is exactly the kind of side-effect disclosure a mutation tool needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scope, then dense key lists and edge-case semantics. Every sentence carries information, though the long key enumeration reads more like schema echo than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-object mutation tool, the description covers patch semantics, null-clearing, mode switching, and even the return ('the editable brief'), despite no output schema. It stops short of explaining individual field meanings, which is the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It enumerates the allowed keys and expands offerManual into (what, forWho, outcome), but largely restates schema property names without explaining each key's meaning or constraints, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update the brand's strategy brief'), reinforced by a synonym '(onboarding brief)'. It implicitly distinguishes itself from siblings such as refresh_strategy_brief and regenerate_creator_memory via 'Does not regenerate memory', but does not name those alternatives outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the enumerated patchable keys and the offer-mode semantics, giving the agent a sense of when the tool is appropriate. However there is no explicit when-to-use/when-not guidance and no named alternative such as refresh_strategy_brief for a full regeneration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_brand_logoUpload brand logoADestructiveInspect
Upload raw base64 image bytes (no data URL prefix), PNG/JPEG/WebP up to 2 MiB, and save the logo in this brand's visual kit. Keeps existing colors and fonts. Returns the saved kit.
| Name | Required | Description | Default |
|---|---|---|---|
| base64 | Yes | ||
| brandId | No | ||
| mimeType | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the safety profile is covered. The description adds real context beyond that: input must be raw base64 (no data-URL prefix), size/format limits, that existing colors and fonts are preserved, and that it returns the saved kit. It does not explain what gets overwritten (which is why destructive is true) or any auth requirements, keeping it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action and then input constraints and side effects. Every clause carries information and there is no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers the input format, the side effect on unrelated kit fields, and the return value ('returns the saved kit'), and annotations cover safety. The main gap is the undocumented brandId parameter and lack of auth/permission notes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does document base64 (raw, no data-URL prefix) and mimeType (PNG/JPEG/WebP, 2 MiB limit), adding value beyond the schema. However brandId is never mentioned, leaving one of three parameters undocumented in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (upload/save) plus resource (the brand logo) and scope (this brand's visual kit), making it easy to tell apart from update_brand_kit. It is clear and accurate, though it does not explicitly name the sibling it competes with, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not guidance and no mention of alternatives such as update_brand_kit. Usage can be inferred from the purpose, but nothing tells the agent when this is the right tool versus the many other brand-kit siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
103 tool updates
- First observed
accept_brainstorm_suggestion - First observed
add_content_source - First observed
add_creator_fact - First observed
add_restriction - First observed
analyze_brand_site - First observed
analyze_catalog_video - First observed
analyze_video - First observed
archive_creator_fact - First observed
attach_content_reference - First observed
bulk_create_contents - First observed
create_brand_kit_upload - First observed
create_content - First observed
create_content_from_source - First observed
create_content_source_upload - First observed
delete_content - First observed
delete_saved_reference - First observed
detach_content_reference - First observed
dismiss_brainstorm_suggestion - First observed
duplicate_content - First observed
extract_brand_kit - First observed
fetch - First observed
generate_body_options - First observed
generate_caption_options - First observed
generate_cta_options - First observed
generate_hook_options - First observed
generate_insights - First observed
generate_scripts - First observed
generate_title - First observed
get_account_overview - First observed
get_audience_growth - First observed
get_brand_kit - First observed
get_brand_profile - First observed
get_brand_site_analysis - First observed
get_calendar - First observed
get_carousel_draft - First observed
get_catalog_video - First observed
get_content - First observed
get_content_source - First observed
get_creator - First observed
get_creator_analysis - First observed
get_creator_context - First observed
get_creator_memory - First observed
get_homepage_insights - First observed
get_metrics_daily - First observed
get_niche_benchmarks - First observed
get_performance_summary - First observed
get_recommended_videos - First observed
get_refine_chat - First observed
get_script_preferences - First observed
get_strategy_interview - First observed
get_top_performers - First observed
get_video - First observed
get_video_job_status - First observed
get_voice_profile - First observed
hide_creator - First observed
list_brainstorm_suggestions - First observed
list_brands - First observed
list_carousel_drafts - First observed
list_carousel_posts - First observed
list_catalog_creators - First observed
list_content_generations - First observed
list_content_references - First observed
list_contents - First observed
list_creator_facts - First observed
list_creator_videos - First observed
list_insights - First observed
list_macro_topics - First observed
list_restrictions - First observed
list_saved_references - First observed
list_video_projects - First observed
list_videos - First observed
move_content - First observed
refine_content - First observed
refresh_strategy_brief - First observed
regenerate_brainstorm - First observed
regenerate_creator_memory - First observed
remove_restriction - First observed
reorder_contents - First observed
retry_content_source - First observed
review_content_refinement - First observed
review_creator_fact - First observed
run_creator_deep_analysis - First observed
save_catalog_video - First observed
save_reference_by_url - First observed
schedule_content - First observed
search - First observed
search_catalog_videos - First observed
search_creators - First observed
set_content_web_search - First observed
set_creator_inspiration - First observed
set_video_classification - First observed
strategy_interview - First observed
sync_metrics - First observed
unhide_creator - First observed
unschedule_content - First observed
update_brand_kit - First observed
update_brand_profile - First observed
update_content - First observed
update_creator_context - First observed
update_creator_memory - First observed
update_script_preferences - First observed
update_strategy_brief - First observed
upload_brand_logo
Related MCP Connectors
Write, design and publish Instagram and TikTok posts from your AI assistant.
151Schedule, publish, and analyze social posts on TikTok, Instagram, YouTube, X, Threads, LinkedIn.
Schedule, publish, and analyze social posts across TikTok, Instagram, YouTube, X, LinkedIn + 5 more.
- ReelDropOAuthio.reeldrop
Schedule Instagram reels, manage comment-to-DM automations, and read analytics
Related MCP Servers
AlicenseAqualityBmaintenanceSchedule, publish, and measure social posts on Facebook, Instagram, TikTok, LinkedIn, Threads, Pinterest, and X for one brand or many.34MIT- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Instagram Business accounts by automating content publishing, scheduling posts, and analyzing performance metrics. Supports posts, stories, reels, and carousels with detailed audience insights and hashtag discovery.1-
- AlicenseAqualityDmaintenanceAI-powered social media posting across 14 platforms. Post to Twitter, Instagram, TikTok, Facebook, LinkedIn, YouTube and more with one command. AI adapts content per platform, schedules posts, and generates 30-day content calendars.6MIT
- AlicenseNot gradedqualityDmaintenanceLinkedIn-native AI content creation, scheduling & analytics. Write and post on LinkedIn, create drafts, generate hooks & hashtags, schedule posts, and track engagement — all through natural language.34 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.