Skip to main content
Glama

Server Details

Manage creator media kits, link-in-bio pages, deal requests, analytics and agency rosters.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 50 tools

Disambiguation4/5

Tools are grouped by domain prefixes such as campaign_, deck_, media_kit_, and sponsor_, and descriptions generally clarify which action to use. However, several update/upsert/remove variants within media kits and link-in-bio, plus sponsor search/get/lookup, create real selection risk despite helpful descriptions.

Naming Consistency4/5

Almost all names use snake_case with a resource prefix and verb such as create, get, list, update, or remove. Minor deviations include get_profile lacking a resource prefix, sponsor_directory_options using a noun phrase, and related reads using get, list, search, or lookup.

Tool Count2/5

The server exposes 50 tools spanning analytics, campaigns, decks, deal requests, link-in-bio, media kits, roster, social, sponsors, and access. Prefix grouping helps, but this is well above a well-scoped MCP tool surface and will burden tool selection.

Completeness3/5

Coverage is broad, with create/read/update flows for media kits, campaigns, decks, and link-in-bio. But lifecycle gaps are notable: no delete or archive for campaigns, decks, or media kits, no roster list/remove, and limited campaign participant/content management.

Available Tools

50 tools
analytics_get_breakdownBreak down media kit or link-in-bio visitorsA
Read-onlyIdempotent
Inspect

Return owned page-view and unique-visitor counts by referrer, country, device, browser, language, city, or operating system for a chosen period.

NameRequiredDescriptionDefault
limitNoMaximum number of results to return
timezoneNoIANA timezone for day boundaries, e.g. Europe/ParisUTC
dimensionYesAttribute to group visitors by
timeframeNoReporting period; wtd, mtd, ytd mean week, month, year to datelast7d
resource_idNoID of one owned resource; omit to aggregate all of that type
resource_typeYesKind of page to report on

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds that data is limited to 'owned' pages and that two specific metrics are returned, which is useful but modest; it says nothing about pagination or ordering behavior beyond the schema.

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

Conciseness4/5

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

A single well-formed sentence that front-loads the verb and resource with no filler. It is efficient and appropriately sized, though it does not take the space to route the agent to siblings.

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

Completeness4/5

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

Because an output schema exists, the description needn't explain return values, and it covers the core inputs conceptually. The only meaningful gap is sibling differentiation against analytics_get_views.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are already documented in the schema. The description merely echoes the dimension enum values and the period concept, adding no syntax or format detail beyond what the schema provides, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource ('Return owned page-view and unique-visitor counts') along with the grouping dimensions and period, so the agent can tell what the tool produces. It does not, however, distinguish it from the close sibling analytics_get_views, so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage is only implied: the tool is clearly an analytics breakdown, but nothing says when to pick this over analytics_get_views or how it complements it. No exclusions or alternatives are named.

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

analytics_get_viewsGet page-view analyticsA
Read-onlyIdempotent
Inspect

Return page views and unique visitors for an owned media kit, link in bio, agency roster, deck, or campaign report. Omit resource_id to aggregate all owned resources of that type. Link in bio is creator-only; roster and deck are agency-only.

NameRequiredDescriptionDefault
timezoneNoIANA timezone for day boundaries, e.g. Europe/ParisUTC
timeframeNoReporting period; wtd, mtd, ytd mean week, month, year to dateall
resource_idNoID of one owned resource; omit to aggregate all of that type
resource_typeYesKind of page to report on

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive, closed-world, so the safety burden is lifted. The description adds genuine behavioral context beyond them: aggregation semantics when resource_id is omitted and hard ownership/account constraints per resource type, which an agent cannot derive from 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.

Conciseness5/5

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

Three short sentences, front-loaded with the output and scope, followed by the aggregation rule and the permission constraint. Nothing is padded or redundant.

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

Completeness4/5

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

With a full output schema and complete annotation set, the description need not explain return values or safety. It covers scope, aggregation, and access restrictions adequately; only the lack of sibling differentiation (breakdown vs views) leaves a minor gap for tool selection.

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

Parameters4/5

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

Schema coverage is 100%, so the aggregation meaning of omitting resource_id is already documented in the schema and is essentially repeated here. The description still adds meaning the schema lacks by mapping resource_type values to account eligibility (creator vs agency), which informs parameter choice.

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

Purpose4/5

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

The description states a specific verb and resource — 'Return page views and unique visitors' — and enumerates the five resource types it applies to. It is clear without opening the schema, but it never names the sibling analytics_get_breakdown, so the agent must infer from the title alone which analytics tool to pick.

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

Usage Guidelines4/5

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

It gives actionable context: omit resource_id to aggregate, and resource type is gated by account kind (link in bio creator-only, roster/deck agency-only). That tells the agent when the call is valid, though it does not contrast itself against analytics_get_breakdown or state what to do if a type is not available to the caller.

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

campaign_createCreate a campaignAInspect

Create a campaign owned by the authenticated agency. On-request tracking is used when refresh_cadence is omitted. Automatic tracking requires a future ends_at value.

NameRequiredDescriptionDefault
cpmNoCost per thousand views by platform, used for valuation
nameYesCampaign name
ends_atNoEnd as ISO 8601 date-time with offset; required in the future for automatic tracking
starts_atNoStart as ISO 8601 date-time with offset; null clears it
descriptionNoCampaign brief or notes; null clears it
emv_overrideNoManual earned media value; null restores the computed value
refresh_cadenceNoHow often content metrics are refreshedon_request

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare this is a non-read-only, non-destructive, non-idempotent write, so safety is covered. The description adds real behavioral context beyond that: creation is scoped to the authenticated agency, omitting refresh_cadence silently defaults tracking to on-request, and automatic tracking will not engage without a future ends_at. It does not address auth granularity or failure modes.

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

Conciseness5/5

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

Three short sentences, zero filler, with the ownership scope and the two tracking rules front-loaded in order of importance. Nothing is repeated from the title or schema verbatim.

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

Completeness4/5

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

With 7 parameters, full schema coverage, annotations, and an output schema, the description only needs to carry the non-obvious behavioral rules, and it does. The main omission is any statement of what the call returns on success, though the output schema largely covers that.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds a cross-parameter rule the schema only states partially: the refresh_cadence-omitted default and the ends_at future requirement for automatic tracking. The default itself is already in the schema, so the gain is modest rather than large.

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

Purpose4/5

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

States a specific verb and resource ('Create a campaign') plus an ownership scope ('owned by the authenticated agency'), which is enough to distinguish it from campaign_get and campaign_update by verb alone. It never explicitly names or contrasts with those siblings, 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.

Usage Guidelines3/5

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

The description gives conditional guidance about tracking modes but frames it as parameter behavior rather than when to pick this tool over alternatives like campaign_update or campaign_list. Usage is implied by the create verb, not stated with exclusions or prerequisites.

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

campaign_getGet a campaignA
Read-onlyIdempotent
Inspect

Return one campaign owned by the authenticated agency, including editable metadata, tracking cadence, valuation settings, and public-report state.

NameRequiredDescriptionDefault
campaign_idYesCampaign ID from campaign_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds real context beyond that: the result is scoped to campaigns owned by the authenticated agency, implying cross-agency access is not possible, and it previews the returned data categories.

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

Conciseness5/5

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

One sentence, zero waste, with the resource and scope front-loaded before the enumeration of returned fields. Nothing needs to be re-read or trimmed.

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

Completeness5/5

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

With rich annotations, a fully documented single parameter, and an output schema covering return values, the description only needs to state purpose and scope, which it does. Nothing required to invoke it correctly is missing.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage, including a pattern and the source (campaign_list), so the schema carries the full burden. The description adds no syntax, format, or sourcing detail beyond what the schema already provides; baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Return) and resource (one campaign) with a clear scope constraint (owned by the authenticated agency), and enumerates the returned content categories. It is distinguishable from campaign_list by the singular scope, but it never names or contrasts a sibling tool explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this fetches a single campaign's details, and the schema notes the ID comes from campaign_list. There is no explicit when-to-use, when-not-to-use, or alternative routing statement in the description itself.

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

campaign_listList campaignsA
Read-onlyIdempotent
Inspect

List campaigns owned by the authenticated agency, with the campaign IDs accepted by campaign_get and campaign_update.

NameRequiredDescriptionDefault
limitNoMaximum number of results to return
cursorNonext_cursor from the previous page; omit for the first page
statusNoOnly list campaigns with this status

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-structured context: results are authorization-scoped to the authenticated agency and the returned IDs are the interoperable handle for other campaign tools. It does not describe pagination behavior, though the cursor/limit schema largely covers that.

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

Conciseness5/5

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

A single sentence with the scoping constraint front-loaded and zero filler; every clause (ownership scope, ID interoperability) earns its place.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the description plus annotations together cover scope, safety, and ID usage. Only pagination flow is left implicit, which is a minor gap given the cursor parameter is documented in the schema.

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

Parameters3/5

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

Schema description coverage is 100% with three well-documented parameters (limit, cursor, status enum), so the schema carries full parameter semantics. The description adds nothing about limit/cursor/status behavior, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb (List) and resource (campaigns) plus a scope qualifier ('owned by the authenticated agency'). It also names which sibling tools consume the IDs it returns, so an agent can distinguish it from campaign_create/get/update without opening any schema.

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

Usage Guidelines4/5

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

The mention that returned IDs are 'accepted by campaign_get and campaign_update' makes the intended workflow (discover IDs, then fetch or mutate) clear. There is no explicit when-not guidance or named alternative, but no sibling competes for the same listing job, so the context is sufficient.

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

campaign_updateUpdate a campaignA
DestructiveIdempotent
Inspect

Edit supplied metadata, tracking cadence or state, platform CPM values, or EMV override for a campaign owned by the authenticated agency. Supplied values overwrite existing settings and computed report metrics are recalculated. Tracking may be paused. Participants and content are not deleted.

NameRequiredDescriptionDefault
changesYesFields to change; omitted fields stay unchanged
campaign_idYesCampaign ID from campaign_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the description's real value is clarifying the scope of that destruction: supplied values overwrite existing settings, computed report metrics are recalculated, and participants/content are explicitly NOT deleted. That materially bounds the blast radius beyond what the annotation flags convey.

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

Conciseness4/5

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

Three dense sentences, front-loaded with the purpose and followed by the overwrite/recalculation behavior and the non-deletion guarantee. Every sentence earns its place, though the second and third are packed with multiple distinct facts.

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

Completeness4/5

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

For a destructive mutation with nested params and an existing output schema, the description covers merge semantics, side effects, ownership, and the tracking-pause capability. Auth requirements beyond ownership and conflict/error behavior are not addressed, but little an agent needs to call it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the nested 'changes' object documents each field (cpm per platform, starts_at/ends_at null-clearing, emv_override null restore, refresh_state enum). The description only groups those fields into categories, adding little syntax or semantics beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

States a specific verb (Edit) with the exact editable surface (metadata, tracking cadence/state, platform CPM, EMV override) and scopes it to campaigns owned by the authenticated agency. An agent can distinguish this from campaign_create/campaign_get without opening any schema.

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

Usage Guidelines3/5

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

Usage is implied by the ownership constraint and the field enumeration, but there is no explicit when-to-use/when-not-to-use guidance and no reference to an alternative sibling (e.g. campaign_create for new campaigns). Minimum viable routing information only.

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

deal_request_getGet an incoming deal requestA
Read-onlyIdempotent
Inspect

Get details of one owned deal request by ID, including its source media kit when recorded.

NameRequiredDescriptionDefault
deal_request_idYesDeal request ID from deal_request_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.9/5.0
Behavior4/5

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 two useful facts beyond that: the ownership restriction ("owned" deal request – you cannot fetch others') and that the source media kit is included only "when recorded", i.e. conditionally present.

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

Conciseness5/5

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

A single front-loaded sentence with the resource, scope and conditional include all packed in. No filler or repetition of the title.

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

Completeness4/5

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

For a simple single-parameter read with an output schema and full annotation coverage, the description covers purpose, scope and the notable conditional field. An agent has everything needed to call it correctly.

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

Parameters4/5

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

Only one parameter, and the schema already documents its format (24-char pattern) and its provenance (from deal_request_list). The description reinforces the ID-based lookup and adds the ownership scoping constraint, which is meaning beyond the schema.

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

Purpose4/5

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

States a specific verb (Get) and resource (one owned deal request) with the ID-based single-item scope, which distinguishes it from the sibling deal_request_list. It doesn't name a sibling explicitly, but the singular/ID framing makes the distinction clear.

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

Usage Guidelines3/5

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

"by ID" and the schema note that the ID comes from deal_request_list imply the usage context: call this after listing to fetch one record. There is no explicit when-not or prerequisite statement, so 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.

deal_request_listList incoming deal requestsA
Read-onlyIdempotent
Inspect

List owned media-kit deal requests by request creation time, newest first. Optionally filter by an owned media kit ID. Historical requests without a recorded source kit only appear in the unfiltered list.

NameRequiredDescriptionDefault
limitNoMaximum number of results to return
cursorNonext_cursor from the previous page; omit for the first page
media_kit_idNoOnly list requests recorded from this media kit

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the description earns credit for adding ordering ('newest first') and the non-obvious result-set behavior that filtered lists omit legacy requests. It does not discuss pagination edge cases beyond what the cursor schema implies.

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

Conciseness5/5

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

Two tight sentences, ordering and scope front-loaded followed by the filtering caveat. Every clause carries information an agent needs; nothing is redundant with the schema or annotations.

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

Completeness5/5

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

For a 3-parameter, zero-required list tool with an output schema, full annotation coverage, and 100% schema description coverage, the description supplies exactly the missing pieces: sort order and the filtered-vs-unfiltered visibility caveat. Nothing needed to call it correctly is absent.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents limit, cursor, and media_kit_id with types, bounds, and pattern. The description reinforces the media_kit_id filter's meaning but adds no format or interaction detail beyond the schema; baseline 3 applies.

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

Purpose4/5

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

The description gives a specific verb and resource ('List owned media-kit deal requests') plus ordering semantics ('by request creation time, newest first'), which separates it from deal_request_get. It does not name a sibling alternative 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.

Usage Guidelines4/5

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

It states the optional filter condition ('Optionally filter by an owned media kit ID') and, more usefully, a caveat that tells the agent when filtering loses data: historical requests without a recorded source kit appear only in the unfiltered list. No explicit when-not or named alternative, so it is not a 5.

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

deck_createCreate an agency pitch deckAInspect

Create an agency-owned pitch deck from creators already in the authenticated agency roster. Image and cover uploads are not supported by this tool.

NameRequiredDescriptionDefault
bioYesAgency intro shown on the deck
ctaNoCall-to-action button label
slugYesPublic URL slug: letters, digits, and single hyphens
tagsNoNiche or topic tags
themeNoBranding preset ID; null clears it
titleYesDeck title
locationNoAgency location; null clears it
passwordNoDeck password; required for private visibility, null removes it
visibilityNolink: anyone with the link; private: password required
creator_idsYesRoster creator IDs to include, in display order
accent_colorNoAccent color as six-digit hex
contact_emailYesEmail brands use to contact the agency
background_colorNoBackground color as six-digit hex

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true. Beyond those, the description adds genuinely useful scope limits: it is agency-owned, sourced only from existing roster creators, and cannot handle image/cover uploads. It omits auth/permission specifics and any side effects, 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.

Conciseness5/5

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

Two tight sentences with zero filler; the operation and its most important constraint are front-loaded.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the annotations cover the mutation safety profile. The description supplies the roster-source constraint and the upload limitation; the only gap is what happens when referenced creators are not in the roster.

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

Parameters3/5

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

Schema description coverage is 100%, so all 13 parameters are self-documented and the baseline is 3. The description adds no parameter-level detail (e.g., how creator_ids order or visibility/password interaction works) beyond what the schema already provides.

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

Purpose4/5

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

Names a specific verb (Create) and resource (agency-owned pitch deck) and scopes the source of content to 'creators already in the authenticated agency roster.' This is clear enough to separate deck_create from deck_get/deck_update/deck_list, though no sibling is explicitly named.

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

Usage Guidelines4/5

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

States a prerequisite (content comes from the authenticated agency roster) and an explicit exclusion ('Image and cover uploads are not supported'), which steers the agent away from expecting media handling. It does not, however, name the alternative tool to use for uploads, 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.

deck_getGet an agency pitch deckA
Read-onlyIdempotent
Inspect

Return one pitch deck owned by the authenticated agency, including its selected roster creators and editable metadata.

NameRequiredDescriptionDefault
deck_idYesDeck ID from deck_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real context beyond that: the agency-ownership scope and the fact that the returned payload includes related roster creators and editable metadata.

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

Conciseness4/5

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

A single economical sentence, front-loaded with the verb and resource before the inclusion details. Nothing is redundant or padded.

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

Completeness4/5

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

An output schema exists, so return-value enumeration is unnecessary, and annotations carry the safety profile. Combined with the description's coverage of auth scope and payload contents, an agent has what it needs, though a tie-breaker against deck_list/campaign_get-style siblings is absent.

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

Parameters3/5

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

Schema description coverage is 100% with a single documented deck_id (including its 24-hex pattern and provenance from deck_list). The description adds no parameter-level detail, so this is the baseline 3 where the schema does all the work.

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

Purpose4/5

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

States a specific verb ('Return') and resource ('one pitch deck') scoped to 'the authenticated agency', and clarifies what the deck contains (roster creators, editable metadata). The singular 'one' implicitly separates it from deck_list, though no sibling is named outright.

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

Usage Guidelines3/5

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

Usage is only implied: fetch a single deck by ID, scoped to the caller's agency. There is no explicit when-to-use statement, no comparison against deck_list, and no note that deck_id must come from a listing call (that hint lives only in the schema).

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

deck_listList agency pitch decksA
Read-onlyIdempotent
Inspect

List pitch decks owned by the authenticated agency, with the deck IDs accepted by deck_get and deck_update.

NameRequiredDescriptionDefault
limitNoMaximum number of results to return
cursorNonext_cursor from the previous page; omit for the first page

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so the safety profile is covered. The description adds one real behavioral fact beyond them – results are restricted to decks owned by the authenticated agency – but says nothing about pagination behavior despite the cursor parameter, so it is adequate rather than rich.

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

Conciseness5/5

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

A single sentence with the verb and scope front-loaded and zero redundant restatement of the title or schema. Every clause carries information.

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

Completeness4/5

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

With an output schema present, the description does not need to explain return values, and both parameters are fully documented in the schema, so the coverage is nearly complete. The only gap is any hint about paginating through large deck sets, which matters given the cursor parameter.

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

Parameters3/5

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

Schema description coverage is 100% (limit and cursor are both documented in the schema, including cursor's 'next_cursor from the previous page' semantics), so the baseline is 3. The description adds no further parameter meaning.

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

Purpose5/5

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

Specific verb ('List') plus resource ('pitch decks') plus an explicit access scope ('owned by the authenticated agency'). It also names the sibling tools that consume the returned IDs (deck_get, deck_update), so an agent can tell what this tool is for and what it feeds 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.

Usage Guidelines4/5

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

The phrase 'with the deck IDs accepted by deck_get and deck_update' effectively states when to use this tool: as the discovery step feeding deck reads/updates. It stops short of an explicit when-not or an alternative (e.g., no guidance on filtering or on whether other list tools exist), but the context is unambiguous.

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

deck_updateUpdate an agency pitch deckA
DestructiveIdempotent
Inspect

Edit an owned deck’s roster selection, copy, branding preset, colors, link, or access settings. Image uploads and deletion are not supported.

NameRequiredDescriptionDefault
changesYesFields to change; omitted fields stay unchanged
deck_idYesDeck ID from deck_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is largely covered. The description adds two genuine facts: the deck must be owned, and image uploads/deletion are out of scope. However it never explains the destructive semantics implied by destructiveHint (that setting a field overwrites existing values, and null clears theme/location/password), which is the most consequential behavior for an agent to know.

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

Conciseness5/5

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

Two sentences, zero filler. The positive capability statement comes first and the scope limitation second, so the agent gets the primary purpose before the caveat.

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

Completeness4/5

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

For a two-parameter mutation tool with a rich nested schema, a 100% coverage schema, and an output schema, the definition covers purpose, ownership scope, and unsupported operations adequately. It omits any statement about partial updates or the destructive clearing semantics, which would be the remaining gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description's grouped nouns (roster selection, copy, branding preset, colors, link, access settings) loosely map onto the nested changes fields (creator_ids, bio/title/tags, theme, accent_color/background_color, slug, visibility/password), giving light navigational value but no format, constraint, or interaction detail beyond what the schema already documents.

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

Purpose5/5

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

States a specific verb ('Edit') and resource ('an owned deck') and then enumerates the editable surface (roster, copy, branding preset, colors, link, access settings). This cleanly separates it from deck_create, deck_get, and deck_list among its siblings without requiring the reader to open any schema.

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

Usage Guidelines4/5

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

Provides an explicit exclusion set ('Image uploads and deletion are not supported'), which tells the agent when this tool will not work. It does not name an alternative tool for those excluded operations, nor state prerequisites such as required ownership/permissions beyond the word 'owned', so it falls short of a full when/when-not/alternative treatment.

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

get_profileIdentify connected CreatorsJet accountA
Read-onlyIdempotent
Inspect

Return the stable identity and display details of the CreatorsJet account authorized for this connection.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
idYes
nameYes
emailNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already carry readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds only the per-connection scoping nuance ('authorized for this connection') and the word 'stable'; it says nothing about auth requirements, failure modes when no account is connected, or caching. With annotations doing the heavy lifting, a 3 is appropriate.

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

Conciseness5/5

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

A single sentence with no filler, front-loading the action and the resource. Every clause earns its place.

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

Completeness4/5

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

For a zero-parameter read tool with full annotation coverage and an output schema that documents the returned fields, the description is nearly sufficient. The only missing piece is any hint about when the identity might be unavailable or which sibling to prefer, but nothing an agent needs to invoke it correctly is absent.

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

Parameters4/5

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

The tool takes zero parameters, so per the rubric the baseline is 4. There is no parameter information the description could meaningfully add or omit.

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

Purpose4/5

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

The description states a specific verb+resource ('Return the stable identity and display details of the CreatorsJet account') and scopes it to 'the account authorized for this connection', which is unambiguous. It does not, however, differentiate itself from the nearby mcp_get_access sibling, so an agent must infer the split on its own.

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

Usage Guidelines3/5

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

Usage is only implied: the phrase 'authorized for this connection' hints that this is an identity/bootstrap call, but there is no explicit when-to-use statement, no prerequisite, and no mention of the alternative (mcp_get_access). Adequate but with a clear gap.

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

mcp_get_accessCheck CreatorsJet accessA
Read-onlyIdempotent
Inspect

Show this connection’s granted scopes and the tools it can use. With tool_name, also returns that tool’s required scope and whether this connection can call it.

NameRequiredDescriptionDefault
tool_nameNoTool to check; omit to list all available tools

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and non-destructive, so the safety profile is covered. The description adds what is actually returned in each mode ('granted scopes', 'required scope', 'whether this connection can call it'), which is useful 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.

Conciseness5/5

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

Two tight sentences, front-loaded with the primary behavior and the conditional case second. Zero filler or redundant restatement of the title.

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

Completeness4/5

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

An output schema exists, so return values don't need spelling out, and the single enum param is fully documented. The only minor gap is that error behavior for an inaccessible tool (vs. a boolean/scope in the response) is left to the output schema.

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

Parameters4/5

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

Schema coverage is 100% and the enum is enumerated in the schema, so the baseline is 3. The description goes further by explaining the semantic effect of supplying tool_name — it changes the return to that tool's required scope and a callable verdict — which adds meaning beyond the schema's 'omit to list all available tools'.

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

Purpose5/5

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

States a specific verb and resource ('Show this connection's granted scopes and the tools it can use') and adds the conditional behavior for tool_name. No sibling tool does anything similar, so disambiguation is inherent.

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

Usage Guidelines4/5

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

The description makes the two modes explicit: call bare to list all available tools, or pass tool_name to check one tool's required scope and callability. It doesn't state when-not to use it (e.g., versus get_profile), but for a self-contained access-check tool the context is clear.

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

media_kit_apply_templateApply a media kit templateA
DestructiveIdempotent
Inspect

Apply a listed design template to one owned media kit by setting its cover theme and accent color. Content remains unchanged.

NameRequiredDescriptionDefault
template_idYesDesign template ID from media_kit_list_templates
media_kit_idYesMedia kit ID from media_kit_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=true; the description adds useful scope by clarifying that only theme and accent color change while content is preserved, which tempers the destructive flag. It also signals the ownership requirement via 'owned'. It stops short of describing permissions or reversibility.

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

Conciseness5/5

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

Two tight sentences with zero filler; the action and its scope are front-loaded and the non-effect is stated last as a clarifier.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and the annotations cover the safety profile. The description adds the key scope clarification (content unchanged), leaving only minor gaps such as permission requirements for a low-risk, adequately specified tool.

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

Parameters3/5

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

Schema description coverage is 100%, so both template_id and media_kit_id are fully documented in the schema. The description repeats the concepts (template, media kit) but adds no format, constraint, or sourcing detail beyond what the schema already provides, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb (apply), resource (listed design template), target (one owned media kit), and the exact effect (setting cover theme and accent color). The clause 'Content remains unchanged' cleanly distinguishes it from siblings like media_kit_update_content, so an agent can route 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.

Usage Guidelines3/5

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

Usage is implied by 'apply a listed design template' plus the reference to media_kit_list_templates as the source of template_id, and the ownership constraint ('owned media kit') is a soft prerequisite. However, there is no explicit when-to-use / when-not guidance or named alternative for related mutations.

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

media_kit_createCreate a media kitAInspect

Create a new creator-owned media kit with initial profile content, optional rates and portfolio, and a listed design template. Subject to the creator plan’s kit limit. Returns the complete created kit.

NameRequiredDescriptionDefault
bioNoCreator bio shown on the kit
ctaNoCall-to-action button label
fontNoTypeface
nameYesMedia kit name
tagsNoNiche or topic tags, e.g. beauty, travel
ratesNoFull list of rates; existing items keep their id
layoutNoPage layout
locationNoCity or region; null clears it
languagesNoLanguages the creator publishes in
visibilityNolink: anyone with the link can view; private: only the owner
template_idNoDesign template ID from media_kit_list_templates
accent_colorNoAccent color as six-digit hex, e.g. #E11D48
case_studiesNoFull list of case studies; existing items keep their id
contact_emailNoEmail brands use to contact the creator
brand_partnersNoFull list of brand partners; existing items keep their id
contact_actionNoWhat the call-to-action button does
background_colorNoBackground color as six-digit hex
portfolio_videosNoFull list of portfolio videos as public HTTPS URLs
portfolio_section_titleNoHeading above the portfolio section

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, so the safety profile is covered. The description adds real value beyond that: the creator plan's kit limit is a hard constraint, and it states the call returns the complete created kit.

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

Conciseness5/5

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

Two tight sentences: the capability and its flexible inputs come first, the constraint and return behavior follow. No filler, no restatement of the title.

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

Completeness4/5

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

Annotations supply the safety profile, the output schema means return values needn't be explained (though the description helpfully notes it returns the full kit), and the schema fully documents the 19 fields. Combined, an agent has nearly everything needed to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema documents all 19 parameters, establishing a baseline of 3. The description adds only a light gloss (rates/portfolio optional, template must be listed) and no extra syntax or format detail beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ('Create a new creator-owned media kit') and scopes what it accepts (profile content, optional rates/portfolio, design template). The create-vs-update distinction from siblings like media_kit_update is implicit, but no sibling is named, so it stops short of explicit differentiation.

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

Usage Guidelines3/5

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

The description implies the create-new use case and notes the plan kit-limit constraint, but never states when to prefer this over alternatives such as media_kit_ensure or media_kit_duplicate. Usage is only inferable.

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

media_kit_duplicateDuplicate a media kitAInspect

Create a new creator-owned copy of a selected media kit when the plan has capacity. The copy receives a new slug and a link-only share setting; passwords and custom domains are not copied.

NameRequiredDescriptionDefault
nameNoName for the copy; defaults to the original name
media_kit_idYesMedia kit ID from media_kit_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.8/5.0
Behavior4/5

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 valuable behavior: the copy gets a new slug, uses a link-only share setting, and passwords/custom domains are not carried over. This is real disclosure beyond the annotations, though return/async behavior is left to the output schema.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action, and each clause earns its place by adding a distinct constraint (capacity) or copy-state detail (slug, share setting, exclusions). No filler.

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

Completeness4/5

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

An output schema exists so return values need no explanation, and annotations cover the mutation safety profile. The description completes the picture with preconditions and copy semantics. Only missing a note on whether duplication is a distinct resource from media_kit_create's output, which is a minor gap.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (media_kit_id and optional name defaulting to the original) are already documented in the schema. The description only references 'a selected media kit' and adds no syntax or format detail beyond the structured fields, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (duplicate/create a copy) and resource (media kit), with the scope qualifier 'creator-owned copy of a selected media kit'. This clearly distinguishes it from media_kit_create, though it doesn't name that sibling explicitly. Clear and unambiguous for a duplicating tool.

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

Usage Guidelines3/5

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

Provides one precondition ('when the plan has capacity') which is useful context, but offers no explicit when-not guidance or comparison against the obvious alternative media_kit_create. Usage is largely implied.

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

media_kit_ensureEnsure the creator has a media kitA
Idempotent
Inspect

Return the latest creator media kit, or create one link-only default kit if none exists.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, readOnlyHint=false, and destructiveHint=false, and the description is fully consistent with them. It adds real value beyond the annotations by disclosing the side effect's shape: the created kit is a 'link-only default kit', so the agent knows what minimal artifact appears if none existed.

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

Conciseness5/5

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

A single sentence that front-loads the default return path and then the fallback action. Every clause carries information; nothing is redundant with the title.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the annotations plus description together cover idempotency, safety, and the conditional write. The only remaining gap is whether an existing kit is ever modified by this call, which is left to inference.

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

Parameters4/5

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

Zero parameters, so there is no per-parameter semantics to convey and no schema gap to compensate for. Baseline 4 applies.

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

Purpose4/5

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

The description gives a specific get-or-create semantic for a named resource: return the latest media kit, or create a link-only default if none exists. This is clearly distinguishable from media_kit_get and media_kit_create by behavior, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the 'ensure' framing (call when you need a media kit to exist regardless of state), but the description never states when to prefer this over media_kit_get, media_kit_create, or media_kit_list. No explicit alternatives or exclusions are offered.

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

media_kit_getGet a complete media kitA
Read-onlyIdempotent
Inspect

Read one owned media kit, including rates, partners, case studies, portfolio items, sharing settings, and safe social performance. Passwords and tokens are never returned.

NameRequiredDescriptionDefault
media_kit_idYesMedia kit ID from media_kit_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description still adds genuine context beyond that with the security guarantee 'Passwords and tokens are never returned', which an agent cannot derive from 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.

Conciseness5/5

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

Two tight sentences, zero filler. The scope statement leads and the security caveat trails, so nothing important is buried.

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

Completeness5/5

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

With an output schema present, the return-value enumeration need not be restated, annotations cover safety, and the single required parameter is fully documented. Nothing an agent needs in order to call this correctly is missing.

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

Parameters3/5

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

Only one parameter and schema description coverage is 100%; the schema itself documents media_kit_id and even names its provenance ('from media_kit_list'). The description adds no format, validation, or sourcing detail beyond that, so the baseline 3 for fully schema-documented params applies.

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

Purpose5/5

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

States a specific verb and resource ('Read one owned media kit') with an explicit scope qualifier ('one', 'owned') that separates it from the sibling media_kit_list. An agent can route to this tool without opening the schema.

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

Usage Guidelines3/5

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

The 'one' scoping implies this is the single-item fetch that follows media_kit_list, but the description never states when to prefer it over media_kit_list, media_kit_ensure, or the update siblings, and gives no prerequisites or exclusions. Usage is inferred rather than specified.

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

media_kit_listList media kitsA
Read-onlyIdempotent
Inspect

List media kits visible to the authenticated creator or agency. Agency callers can optionally filter to one creator in their roster.

NameRequiredDescriptionDefault
limitNoMaximum number of results to return
cursorNonext_cursor from the previous page; omit for the first page
creator_idNoAgency only: limit to one roster creator

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive behavior, so the burden is light, and the description still adds real context: results are scoped by the caller's identity, and the creator filter is agency-only. It does not mention pagination semantics, but the cursor parameter carries that.

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

Conciseness5/5

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

Two sentences, no filler, with the visibility scope front-loaded and the agency filter following. Every clause carries information.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and pagination is covered by the schema's cursor/limit descriptions. What remains is minor: no explicit routing to media_kit_get for single-kit retrieval, and no statement of ordering.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented, including the agency-only restriction on creator_id. The description restates that restriction but adds no format, default, or boundary detail beyond the schema.

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

Purpose4/5

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

States a specific verb+resource ("List media kits") and adds a scope qualifier ("visible to the authenticated creator or agency"). It is distinguishable from media_kit_get, though it never names a sibling explicitly to reinforce that contrast.

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

Usage Guidelines3/5

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

The description gives one implicit usage rule — agency callers may filter to a roster creator — which tells the agent when creator_id applies. It offers no guidance on when to list versus fetch a single kit (media_kit_get) or how it relates to the template-listing sibling.

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

media_kit_list_templatesList media kit design templatesA
Read-onlyIdempotent
Inspect

List the editor’s 54 cover and accent presets with names, short style descriptions, and image or gradient previews.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds useful domain context (a fixed set of 54 presets with previews) but no behavioral details beyond that, so a 3 is appropriate.

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

Conciseness5/5

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

A single well-formed sentence that front-loads the action and resource and wastes no words. Nothing is redundant or buried.

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

Completeness4/5

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

With an output schema present, the return shape need not be re-explained, and annotations cover the safety profile. The description is adequate for this trivial catalog tool; only the missing link to media_kit_apply_template keeps it from being fully complete.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter semantics burden to carry. Baseline 4 applies.

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

Purpose4/5

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

States a specific verb ('List') and a specific resource ('the editor's 54 cover and accent presets'), and even enumerates the returned fields (names, style descriptions, previews). It does not, however, differentiate itself from the obvious sibling media_kit_apply_template, so an agent must infer the list-then-apply relationship.

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

Usage Guidelines3/5

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

No explicit when-to-use statement, no prerequisites, and no reference to alternatives like media_kit_apply_template. Usage is only implied by the fact that this is a read-only catalog, which is the minimum viable guidance.

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

media_kit_remove_itemRemove one media-kit itemA
DestructiveIdempotent
Inspect

Permanently remove a selected rate, brand partner, case study, or portfolio video from an owned kit. Returns the updated complete kit.

NameRequiredDescriptionDefault
kindYesCollection the item belongs to
item_idYesItem ID from media_kit_get
media_kit_idYesMedia kit ID from media_kit_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered structurally. The description nevertheless adds real value by stressing 'Permanently' — clarifying that idempotent does not mean reversible — and states the return shape ('updated complete kit'). It still doesn't cover error behavior when the item is absent.

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

Conciseness5/5

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

Two tight sentences, with the destructive scope and the operation front-loaded before the return statement. Nothing is redundant and nothing is padded.

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

Completeness5/5

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

For a 3-parameter mutation tool with full schema coverage, rich annotations, and an output schema, the description supplies everything the agent still needs: what is removed, that removal is permanent, and that the full updated kit is returned. No material gap remains.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter documented and the 'kind' enum enumerated, so the schema already carries the semantics; baseline 3 applies. The description contributes only the implicit 'owned kit' constraint on media_kit_id, which is modest beyond-the-schema value.

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

Purpose4/5

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

States a specific verb ('Permanently remove') and the exact resource class (rate, brand partner, case study, portfolio video) scoped to 'an owned kit', so an agent knows exactly what operation this is. It does not explicitly name the sibling it complements (media_kit_upsert_item), so it stops short of full sibling differentiation.

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

Usage Guidelines3/5

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

Usage is only implied by the purpose statement: an agent infers this is the tool for deleting an existing kit item. There is no explicit when-to-use framing, no mention of the add/complement path (media_kit_upsert_item), and no stated preconditions such as ownership or prior lookup.

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

media_kit_set_sharingSet media kit sharingA
DestructiveIdempotent
Inspect

Switch an owned media kit between link-only and private visibility. This tool does not manage passwords or custom domains.

NameRequiredDescriptionDefault
visibilityYeslink: anyone with the link can view; private: only the owner
media_kit_idYesMedia kit ID from media_kit_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.8/5.0
Behavior4/5

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 mutation and repeatability profile is covered. The description adds value beyond that by disclosing the ownership prerequisite ('owned media kit') and by scoping out password/domain management; it still omits the consequence of destructive switching (existing link access being revoked).

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

Conciseness5/5

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

Two tight sentences, with the core action front-loaded before the negative scope clause. Nothing is redundant and no sentence is padding.

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

Completeness4/5

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

With an output schema present, return values need not be described, and both required params are documented at 100% coverage. The description covers scope, ownership, and exclusions; it is slightly thin on the destructive consequence of switching an already-shared kit to private.

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

Parameters3/5

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

Schema description coverage is 100%, and the visibility enum is fully documented in the schema (link vs private semantics), so the baseline is 3. The description only restates the two visibility modes and adds no format, syntax, or ID-sourcing detail beyond what the schema already provides.

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

Purpose4/5

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

States a concrete verb (switch/set) and resource (media kit visibility) with the exact two states involved ('link-only and private'), which lets an agent distinguish it from siblings like media_kit_update or media_kit_set_social_visibility. It does not explicitly name or rule out those similarly-named siblings, so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage is implied: call this when you want to flip a kit between link and private. The negative scope ('does not manage passwords or custom domains') steers the agent away from expecting password/domain behavior, but no prerequisite (must be the owner) or alternative tool is named, so routing 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.

media_kit_set_social_visibilityChoose visible statistics for one social accountA
DestructiveIdempotent
Inspect

Set the hidden social metrics for one social account already attached to an owned media kit. Other social accounts stay unchanged.

NameRequiredDescriptionDefault
social_idYesSocial account ID from media_kit_get
media_kit_idYesMedia kit ID from media_kit_list
hidden_metricsYesStatistics to hide for this account; an empty list shows all

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and idempotentHint=true; the description usefully narrows the blast radius by stating that other social accounts stay unchanged, which is real context an agent cannot get from the annotations alone. It stops short of saying that hidden_metrics replaces the prior hidden list wholesale, which would fully explain the destructive behavior.

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

Conciseness5/5

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

Two tight sentences; the primary action and target come first, then the scoping guarantee. Nothing is wasted and nothing important is buried.

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

Completeness4/5

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

All three required parameters are described, an output schema exists so return values need no explanation, and the mutation's scope is disclosed. Only the replace-vs-merge semantics of hidden_metrics is left implicit (inferred from 'an empty list shows all'), a minor residual gap.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter documented including that an empty list shows all metrics. The description adds no syntax or format detail beyond the schema, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb (set) and resource (hidden social metrics) with an explicit scope limit: one social account already attached to an owned media kit. The second sentence clarifies that other accounts are untouched, which pins down the exact granularity and separates it from sibling bulk/settings tools.

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

Usage Guidelines4/5

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

The prerequisite is stated clearly (the account must already be attached to an owned media kit), which tells the agent when this tool applies versus social_add or media_kit_upsert_item. It does not name an explicit alternative or state when not to use it, so it falls short of a 5.

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

media_kit_updateEdit a media kitA
DestructiveIdempotent
Inspect

Update profile copy and supported design fields of one owned media kit. Omitted fields stay unchanged.

NameRequiredDescriptionDefault
bioNoCreator bio shown on the kit
ctaNoCall-to-action button label
fontNoTypeface
nameNoMedia kit name
tagsNoNiche or topic tags, e.g. beauty, travel
layoutNoPage layout
locationNoCity or region; null clears it
languagesNoLanguages the creator publishes in
accent_colorNoAccent color as six-digit hex, e.g. #E11D48
media_kit_idYesMedia kit ID from media_kit_list
contact_emailNoEmail brands use to contact the creator
contact_actionNoWhat the call-to-action button does
background_colorNoBackground color as six-digit hex

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the description need not restate safety. It does add the useful PATCH contract ('omitted fields stay unchanged'), but with destructiveHint=true it never explains what is destructible or what the idempotency guarantee covers.

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

Conciseness5/5

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

Two sentences, zero waste, and the scope statement is front-loaded ahead of the PATCH caveat. Everything present earns its place.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the schema documents all 13 params. The main residual gap is disambiguation from media_kit_update_content, which the description only partially addresses via 'profile copy and supported design fields'.

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

Parameters3/5

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

Schema description coverage is 100% with per-field descriptions and enums, so the schema carries parameter semantics. The description's 'profile copy and supported design fields' loosely frames the editable surface but adds no format, constraint, or null-clearing detail beyond the schema. Baseline 3 applies.

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

Purpose4/5

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

Clear verb+resource: 'Update profile copy and supported design fields of one owned media kit' scopes the operation to a single kit and to profile/design metadata. It does not explicitly differentiate itself from the close sibling media_kit_update_content, so an agent must still infer which one to call.

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

Usage Guidelines3/5

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

'Omitted fields stay unchanged' establishes PATCH semantics and implies partial-update usage. However, there is no explicit when-to-use guidance, no statement of prerequisites (ownership, media_kit_id source), and no routing away from media_kit_update_content.

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

media_kit_update_contentEdit media kit content and sharingA
Destructive
Inspect

Replace supplied collections of rates, brand partners, case studies, portfolio videos, or statistics visibility for one owned kit; omitted collections stay unchanged. Items omitted from a supplied collection are removed. Existing items retain their IDs. Link visibility makes the kit accessible to anyone with its link; private visibility restricts access.

NameRequiredDescriptionDefault
ratesNoFull list of rates; existing items keep their id
visibilityNolink: anyone with the link can view; private: only the owner
case_studiesNoFull list of case studies; existing items keep their id
media_kit_idYesMedia kit ID from media_kit_list
brand_partnersNoFull list of brand partners; existing items keep their id
portfolio_videosNoFull list of portfolio videos as public HTTPS URLs
statistics_visibilityNoPer social account, the statistics to hide on the kit
portfolio_section_titleNoHeading above the portfolio section

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description still earns credit for spelling out the destructive mechanics (whole-collection replacement, omitted items deleted) and ID retention, which annotations don't convey. It stops short of permissions/auth specifics or the overlap with media_kit_set_sharing, so it's good but not full.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the replace scope, then the destructive consequence, then ID retention, then visibility semantics. No redundant restatement of the name or title and no filler.

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

Completeness4/5

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

With an output schema present and full parameter documentation, the description covers the risky semantics an agent most needs before calling a destructive batch replace. The remaining gap is that a sibling tool appears to handle sharing/visibility separately, and the description doesn't disambiguate that overlap.

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

Parameters4/5

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

Schema coverage is 100%, establishing a baseline of 3, and the description genuinely adds meaning on top: replace-not-merge semantics, deletion of omitted items, and preservation of existing IDs. Explaining 'link' and 'private' visibility also goes slightly beyond the schema's own enum description. It does not address the relationship between the visibility parameter here and the media_kit_set_sharing tool.

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

Purpose4/5

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

The description uses a specific verb ('Replace') with an explicit enumeration of the resource collections it touches (rates, brand partners, case studies, portfolio videos, statistics visibility) and scopes it to 'one owned kit'. It is clear what the tool does, though it never names the near-siblings (media_kit_upsert_item, media_kit_set_sharing, media_kit_update) that an agent must choose between.

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

Usage Guidelines4/5

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

It gives real selection context: only supplied collections are replaced, omitted collections stay unchanged, and items omitted from a supplied collection are removed. The 'owned kit' prerequisite is stated. What's missing is any explicit exclusion — nothing says when to prefer media_kit_upsert_item or media_kit_set_sharing instead, which matters given the overlap on visibility.

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

media_kit_upsert_itemAdd or edit one media-kit itemA
Destructive
Inspect

Add or edit one rate, brand partner, case study, or portfolio video in an owned media kit. Existing items use their returned ID; omitted item fields stay unchanged. Returns the updated complete kit.

NameRequiredDescriptionDefault
itemYesItem fields; each field notes which kinds use it
kindYesWhich collection the item belongs to; it decides which item fields apply
media_kit_idYesMedia kit ID from media_kit_list

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare the mutation profile (destructiveHint, non-idempotent, open-world), so the description's job is to add the details annotations can't express. It does: merge/patch semantics for omitted fields and the fact that the full updated kit is returned. It doesn't cover auth requirements or failure behavior, which is a minor gap.

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

Conciseness5/5

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

Three short sentences, zero padding, with the add/edit scope front-loaded and the ID/merge rules following. Every sentence carries actionable information.

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

Completeness4/5

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

For a nested-object upsert with an output schema present and a source for every parameter documented in the schema, the description is nearly complete: it explains the operation's scope, edit targeting, and merge behavior. Only error/validation behavior is unaddressed.

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

Parameters3/5

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

Schema description coverage is 100% and the schema already documents every item field, the kind enum, and the media_kit_id source, so the baseline is 3. The description restates the ID-to-edit convention but adds no field-level meaning beyond the schema.

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

Purpose5/5

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

States a specific verb (add or edit) and resource (one media-kit item) and enumerates the four kinds supported. It is immediately distinguishable from siblings like media_kit_remove_item and media_kit_update_content.

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

Usage Guidelines4/5

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

Explains the add-vs-edit selection rule ('Existing items use their returned ID') and the update semantics ('omitted item fields stay unchanged'). It does not name an alternative tool for bulk or kit-level edits, 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.

roster_add_creatorAdd one creator to the agency rosterA
Idempotent
Inspect

Create or link one creator, create the agency media kit, and start external social-data collection for the supplied public social handles. Existing normalized social accounts are idempotent.

NameRequiredDescriptionDefault
bioNoShort creator bio
tagsNoNiche or topic tags, e.g. beauty, travel
emailNoCreator contact email
countryNoCountry name
socialsYesPublic social accounts as platform plus handle or profile URL
locationNoCity or region, e.g. Paris, France
languagesNoLanguages the creator publishes in
display_nameYesCreator name shown in the roster and media kit

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false, openWorld=true and idempotent=true, but the description adds real value beyond them: it discloses the composite side effects (media kit is created, external social-data collection is started) and scopes the idempotency claim to existing normalized social accounts. It stops short of describing auth requirements, rate limits, or behavior when a creator already exists.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the primary create/link action followed by the secondary effects and the idempotency caveat. No filler or redundant restatement of the title.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and annotations cover the safety profile; the description supplies the missing side-effect context. The remaining gap is behavioral on duplicates of the creator itself (only socials are stated as idempotent) and any permission requirements.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented in the schema; this sets the baseline at 3. The description only echoes the socials parameter ("supplied public social handles") and adds no format or constraint detail beyond what the schema provides.

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

Purpose5/5

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

The description names a specific verb and resource ("Create or link one creator") and then enumerates the composite side effects that define this tool: agency media-kit creation and starting external social-data collection. That composite behavior clearly separates it from siblings like media_kit_create or roster_commit_import, which do only one of those things.

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

Usage Guidelines3/5

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

Usage is implied by the described side effects (use this when onboarding a single creator with public social handles), but the description never states when to prefer it over roster_commit_import for bulk adds or social_add for attaching socials to an existing creator. No exclusions or prerequisites are given, 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.

roster_commit_importCommit approved creator roster importA
Idempotent
Inspect

Atomically consume a valid preview and queue the existing creator-import workflow. Reusing a preview returns the same import.

NameRequiredDescriptionDefault
preview_idYespreview_id returned by roster_validate_import

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: the operation is atomic and it only queues an asynchronous workflow rather than completing the import, which tells the agent to poll roster_get_import_status. The 'reusing a preview returns the same import' clause largely restates idempotentHint=true, and error/failure behavior is undisclosed.

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

Conciseness5/5

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

Two tight sentences with zero filler, and the core action (atomic consume + queue) is front-loaded ahead of the secondary reuse note.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and annotations plus the description together convey safety, idempotency, and async queueing. What is missing is the failure/edge-case path (invalid or expired preview) for a mutating commit tool.

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

Parameters3/5

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

There is only one parameter and the schema documents it fully (preview_id linked to roster_validate_import output), so the baseline of 3 applies. The description adds no further format, lifetime, or validity-window detail about preview_id.

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

Purpose4/5

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

States a specific verb+resource: 'consume a valid preview' and 'queue the existing creator-import workflow.' It is clearly a mutation/commit step distinct from roster_validate_import, though it never names the sibling explicitly, leaving the validate-then-commit pairing to be inferred.

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

Usage Guidelines4/5

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

Implicitly states the precondition that the preview must be valid, which routes the agent to run validation first, and clarifies reuse behavior. It does not spell out what to do on an invalid/expired preview or explicitly name alternatives, so it stops short of full when/when-not guidance.

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

roster_get_import_statusGet creator roster import statusA
Read-onlyIdempotent
Inspect

Return queue status, progress, created creator IDs, and row-level failures for an import.

NameRequiredDescriptionDefault
import_idYesimport_id returned by roster_commit_import

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description goes beyond that by disclosing the payload shape — queue status, progress, row-level failures — which tells the agent this is a pollable job-status endpoint that can report partial failure, a genuinely useful behavioral signal.

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

Conciseness5/5

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

One sentence, front-loaded with the return content, zero filler. Nothing could be trimmed without losing information.

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

Completeness4/5

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

An output schema exists, so the description is not obligated to explain return values, and it still summarizes them. For a one-parameter, read-only status tool this is essentially complete; only the surrounding import workflow and polling guidance are absent.

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

Parameters3/5

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

Schema coverage is 100% and the single import_id parameter is fully documented (pattern plus provenance) in the schema. The description adds only 'for an import', which does not extend meaning beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Return') and enumerates the exact resource contents: queue status, progress, created creator IDs, and row-level failures. This is clearly distinguishable from mutation siblings like roster_commit_import or roster_validate_import, though the description never names those siblings explicitly.

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

Usage Guidelines2/5

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

No when-to-use guidance, no mention of the roster_commit_import prerequisite workflow, and no polling vs one-shot expectation. The only hint of lineage ('import_id returned by roster_commit_import') lives in the schema, not the description, so the description itself gives the agent nothing about context or alternatives.

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

roster_validate_importValidate creator roster importAInspect

Validate up to 500 normalized creator rows and create a 30-minute preview with a row count, validation errors, and roster capacity impact. A preview with invalid rows cannot be committed.

NameRequiredDescriptionDefault
rowsYesCreators to import, one object per creator
source_nameNoLabel for where the rows came from, e.g. a spreadsheet name

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4/5.0
Behavior4/5

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

Annotations declare it is not read-only, not idempotent, and not destructive; the description adds context annotations cannot express: the preview expires after 30 minutes, the 500-row ceiling, and the hard block on committing invalid previews. It does not say whether re-validating spawns a new preview or what counts as a blocking vs. warning-level error.

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

Conciseness5/5

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

Two sentences with zero filler; the row limit and artifact come first, and the commit-blocking constraint lands as the decisive second sentence.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and the description still covers limits, preview lifetime, and the commit gating rule for a non-read-only, non-idempotent mutation. Minor gaps remain around required permissions and what invalidating then re-running does to an existing preview.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters, including all nested row fields, are already documented in the schema. The description's 'up to 500 normalized creator rows' merely restates the schema's maxItems and says nothing about source_name, so it adds little beyond the structured data.

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

Purpose4/5

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

Specific verb (validate) plus resource (creator roster import) and an explicit scope cap of 500 rows, with the produced artifact (a 30-minute preview) named. It implicitly separates itself from the commit step, though it never names roster_commit_import or roster_get_import_status as the siblings it pairs with.

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

Usage Guidelines4/5

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

The sentence 'A preview with invalid rows cannot be committed' establishes the workflow context: this is the gate that must pass before committing an import. It stops short of explicitly naming roster_commit_import as the follow-up call or stating what to do when validation fails (fix rows and re-validate).

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

social_addAdd a social account to a creatorA
Idempotent
Inspect

Add a social handle or profile URL to the authenticated creator, or to an agency roster creator. The relevant default media kit is created if needed and updated automatically. Agency callers must provide creator_id; creator callers are inferred from OAuth.

NameRequiredDescriptionDefault
platformYesSocial platform
creator_idNoAgency roster creator ID; required for agency callers, omitted for creator callers
handle_or_urlYesHandle (e.g. @name) or full profile URL

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is partly covered. The description adds a valuable non-obvious side effect: the default media kit is created if needed and updated automatically. It also clarifies auth-based caller inference, which is 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.

Conciseness5/5

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

Three sentences, each earning its place: core action first, side effect second, caller/auth nuance third. Front-loaded and free of filler.

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

Completeness4/5

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

With an output schema present, return values needn't be explained, and the description covers action, side effects, and caller requirements. Minor gap: it doesn't address duplicate-handle behavior explicitly, though idempotentHint partially covers this.

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

Parameters3/5

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

Schema coverage is 100%, so all three parameters are already documented, including the creator_id agency/creator distinction. The description largely reiterates the schema's creator_id note rather than adding new syntax or format detail. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb (add), resource (social handle or profile URL), and scope (authenticated creator or agency roster creator). It clearly contrasts with siblings social_list and social_remove, so an agent can route correctly 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.

Usage Guidelines4/5

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

Gives concrete context on the two caller scenarios (agency vs creator) and the creator_id requirement for each. It does not explicitly name alternatives like social_remove for deletion, but the usage context is clear.

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

social_listList connected social accountsA
Read-onlyIdempotent
Inspect

List connected social accounts for the authenticated creator or a selected agency roster creator. Agency callers must provide creator_id.

NameRequiredDescriptionDefault
limitNoMaximum number of results to return
cursorNonext_cursor from the previous page; omit for the first page
platformNoOnly list accounts on this platform
creator_idNoAgency roster creator ID; required for agency callers, omitted for creator callers

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and closed-world scope, so the safety profile is fully covered. The description's only added behavioral fact is the caller/role requirement, which largely restates the creator_id schema description. No pagination or result-shape context beyond what the annotations and output schema provide.

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

Conciseness5/5

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

Two sentences, no filler, and the primary scope statement leads before the conditional requirement. Every sentence earns its place.

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

Completeness4/5

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

For a read-only paginated list with a full output schema and rich annotations, the description supplies the one thing structure does not make obvious: the caller-dependent requirement for creator_id. Nothing essential is missing, though redirecting to sibling tools is a minor gap.

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

Parameters3/5

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

Schema description coverage is 100%: limit, cursor, platform, and creator_id are each documented in the schema including enums and the agency/creator distinction. The description adds no semantics beyond the schema text, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (List) and resource (connected social accounts) and scopes it to two caller contexts (authenticated creator vs. agency roster creator). It does not, however, differentiate itself from sibling list/mutation tools such as social_add and social_remove, so an agent must infer the read-vs-write boundary from the name alone.

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

Usage Guidelines4/5

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

Gives a concrete conditional rule: agency callers must supply creator_id, creator callers omit it. This tells the agent when the tool applies to whom, but names no alternative tool and gives no exclusion for when listing is unnecessary.

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

social_removeRemove a social account from a creatorA
DestructiveIdempotent
Inspect

Remove one linked social account from the authenticated creator, or from an agency roster creator, and remove it from associated media kits. Select it by social_id or by platform and optional handle_or_url. Agency callers must provide creator_id.

NameRequiredDescriptionDefault
platformNoPlatform of the account to remove, when social_id is omitted
social_idNoSocial account ID from social_list
creator_idNoAgency roster creator ID; required for agency callers, omitted for creator callers
handle_or_urlNoHandle or profile URL, to pick one account on that platform

Output Schema

NameRequiredDescription
okYes
dataNo
errorNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover destructiveness, idempotency, and closed-world scope, so the bar is lower. The description still earns credit by disclosing the non-obvious side effect that the account is also removed from associated media kits, plus the caller-type authorization rule for agency callers.

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

Conciseness4/5

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

Two sentences, front-loaded with the destructive effect and the media-kit cascade before the selection mechanics. Dense but every clause carries information; minor loss for cramming three constraints into one long first sentence.

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

Completeness4/5

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

Covers the target selection modes, the caller-dependent creator_id requirement, and the cascading media-kit effect; an output schema exists so return values need not be explained. Nothing an agent needs to invoke it correctly appears to be missing, though permission/auth details beyond 'agency callers' are not expanded.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description goes beyond the schema by framing social_id vs platform+handle_or_url as alternative selection strategies and by stating the agency-only requirement for creator_id, not just repeating field definitions.

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

Purpose5/5

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

Names a specific verb and resource (remove a linked social account from the authenticated creator or an agency roster creator) and adds the cascade to associated media kits. An agent can distinguish this from social_add and social_list without opening either schema.

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

Usage Guidelines4/5

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

Specifies how to select the target (by social_id, or by platform with optional handle_or_url) and states the agency precondition that creator_id is required. It gives clear context but does not contrast itself against siblings such as social_list or social_add, nor state when removal is inappropriate.

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.

  1. 3 tool updates
    • Changedmcp_get_access2 fields changed
      • addedOutput schema / properties / data / properties / plans_url
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / upgrade_url
        Removed value: -{
        -  "type": "string"
        -}
    • Changedmedia_kit_set_social_visibility2 fields changed
      • changedInput schema / properties / hidden_metrics / items / enum
        Previous value: -[
        -  "followers",
        -  "avgLikes",
        -  "avgComments",
        -  "avgShares",
        -  "avgInteractions",
        -  "avgViews",
        -  "avgReelsViews",
        -  "avgReelsLikes",
        -  "avgReelsInteractions",
        -  "avgEngagement",
        -  "avgEngagementShort",
        -  "totalPosts",
        -  "totalViews",
        -  "totalLikes",
        -  "latestPosts",
        -  "topPosts",
        -  "countryPercentage",
        -  "genderPercentage",
        -  "agePercentage",
        -  "cityPercentage",
        -  "reach",
        -  "profileViews",
        -  "websiteClicks",
        -  "accountsEngaged",
        -  "monthlyViews",
        -  "postsPerWeek",
        -  "totalBoards",
        -  "videoPostsPercentage",
        -  "topCategories"
        -]New value: +[
        +  "followers",
        +  "avgLikes",
        +  "avgComments",
        +  "avgShares",
        +  "avgInteractions",
        +  "avgViews",
        +  "avgReelsViews",
        +  "avgReelsLikes",
        +  "avgReelsInteractions",
        +  "avgEngagement",
        +  "avgEngagementShort",
        +  "totalPosts",
        +  "totalViews",
        +  "totalLikes",
        +  "latestPosts",
        +  "topPosts",
        +  "countryPercentage",
        +  "genderPercentage",
        +  "agePercentage",
        +  "cityPercentage",
        +  "reach",
        +  "profileViews",
        +  "websiteClicks",
        +  "accountsEngaged",
        +  "monthlyViews",
        +  "postsPerWeek",
        +  "totalBoards",
        +  "videoPostsPercentage",
        +  "topCategories",
        +  "monthlyListeners",
        +  "streamsLast28Days",
        +  "streamsPerListener",
        +  "savesLast28Days",
        +  "playlistAddsLast28Days",
        +  "avgPlaysPerEpisode",
        +  "listeningHours",
        +  "episodesPerMonth",
        +  "podcastRating",
        +  "engagedListeners",
        +  "avgConsumption",
        +  "paidSubscribers",
        +  "openRate",
        +  "clickRate",
        +  "viewsLast30Days",
        +  "postsPerMonth",
        +  "estimatedOpensPerSend",
        +  "avgViewers",
        +  "peakViewers",
        +  "hoursWatched",
        +  "hoursStreamed"
        +]
      • changedInput schema / properties / hidden_metrics / maxItems
        Previous value: -29New value: +50
    • Changedmedia_kit_update_content2 fields changed
      • changedInput schema / properties / statistics_visibility / items / properties / hidden_metrics / items / enum
        Previous value: -[
        -  "followers",
        -  "avgLikes",
        -  "avgComments",
        -  "avgShares",
        -  "avgInteractions",
        -  "avgViews",
        -  "avgReelsViews",
        -  "avgReelsLikes",
        -  "avgReelsInteractions",
        -  "avgEngagement",
        -  "avgEngagementShort",
        -  "totalPosts",
        -  "totalViews",
        -  "totalLikes",
        -  "latestPosts",
        -  "topPosts",
        -  "countryPercentage",
        -  "genderPercentage",
        -  "agePercentage",
        -  "cityPercentage",
        -  "reach",
        -  "profileViews",
        -  "websiteClicks",
        -  "accountsEngaged",
        -  "monthlyViews",
        -  "postsPerWeek",
        -  "totalBoards",
        -  "videoPostsPercentage",
        -  "topCategories"
        -]New value: +[
        +  "followers",
        +  "avgLikes",
        +  "avgComments",
        +  "avgShares",
        +  "avgInteractions",
        +  "avgViews",
        +  "avgReelsViews",
        +  "avgReelsLikes",
        +  "avgReelsInteractions",
        +  "avgEngagement",
        +  "avgEngagementShort",
        +  "totalPosts",
        +  "totalViews",
        +  "totalLikes",
        +  "latestPosts",
        +  "topPosts",
        +  "countryPercentage",
        +  "genderPercentage",
        +  "agePercentage",
        +  "cityPercentage",
        +  "reach",
        +  "profileViews",
        +  "websiteClicks",
        +  "accountsEngaged",
        +  "monthlyViews",
        +  "postsPerWeek",
        +  "totalBoards",
        +  "videoPostsPercentage",
        +  "topCategories",
        +  "monthlyListeners",
        +  "streamsLast28Days",
        +  "streamsPerListener",
        +  "savesLast28Days",
        +  "playlistAddsLast28Days",
        +  "avgPlaysPerEpisode",
        +  "listeningHours",
        +  "episodesPerMonth",
        +  "podcastRating",
        +  "engagedListeners",
        +  "avgConsumption",
        +  "paidSubscribers",
        +  "openRate",
        +  "clickRate",
        +  "viewsLast30Days",
        +  "postsPerMonth",
        +  "estimatedOpensPerSend",
        +  "avgViewers",
        +  "peakViewers",
        +  "hoursWatched",
        +  "hoursStreamed"
        +]
      • changedInput schema / properties / statistics_visibility / items / properties / hidden_metrics / maxItems
        Previous value: -29New value: +50
  2. 7 tool updates
    • Changedmedia_kit_set_social_visibility2 fields changed
      • changedInput schema / properties / hidden_metrics / items / enum
        Previous value: -[
        -  "followers",
        -  "avgLikes",
        -  "avgComments",
        -  "avgShares",
        -  "avgInteractions",
        -  "avgViews",
        -  "avgReelsViews",
        -  "avgReelsLikes",
        -  "avgReelsInteractions",
        -  "avgEngagement",
        -  "avgEngagementShort",
        -  "totalPosts",
        -  "totalViews",
        -  "totalLikes",
        -  "latestPosts",
        -  "topPosts",
        -  "countryPercentage",
        -  "genderPercentage",
        -  "agePercentage",
        -  "cityPercentage",
        -  "reach",
        -  "profileViews",
        -  "websiteClicks",
        -  "accountsEngaged"
        -]New value: +[
        +  "followers",
        +  "avgLikes",
        +  "avgComments",
        +  "avgShares",
        +  "avgInteractions",
        +  "avgViews",
        +  "avgReelsViews",
        +  "avgReelsLikes",
        +  "avgReelsInteractions",
        +  "avgEngagement",
        +  "avgEngagementShort",
        +  "totalPosts",
        +  "totalViews",
        +  "totalLikes",
        +  "latestPosts",
        +  "topPosts",
        +  "countryPercentage",
        +  "genderPercentage",
        +  "agePercentage",
        +  "cityPercentage",
        +  "reach",
        +  "profileViews",
        +  "websiteClicks",
        +  "accountsEngaged",
        +  "monthlyViews",
        +  "postsPerWeek",
        +  "totalBoards",
        +  "videoPostsPercentage",
        +  "topCategories"
        +]
      • changedInput schema / properties / hidden_metrics / maxItems
        Previous value: -24New value: +29
    • Changedmedia_kit_update_content2 fields changed
      • changedInput schema / properties / statistics_visibility / items / properties / hidden_metrics / items / enum
        Previous value: -[
        -  "followers",
        -  "avgLikes",
        -  "avgComments",
        -  "avgShares",
        -  "avgInteractions",
        -  "avgViews",
        -  "avgReelsViews",
        -  "avgReelsLikes",
        -  "avgReelsInteractions",
        -  "avgEngagement",
        -  "avgEngagementShort",
        -  "totalPosts",
        -  "totalViews",
        -  "totalLikes",
        -  "latestPosts",
        -  "topPosts",
        -  "countryPercentage",
        -  "genderPercentage",
        -  "agePercentage",
        -  "cityPercentage",
        -  "reach",
        -  "profileViews",
        -  "websiteClicks",
        -  "accountsEngaged"
        -]New value: +[
        +  "followers",
        +  "avgLikes",
        +  "avgComments",
        +  "avgShares",
        +  "avgInteractions",
        +  "avgViews",
        +  "avgReelsViews",
        +  "avgReelsLikes",
        +  "avgReelsInteractions",
        +  "avgEngagement",
        +  "avgEngagementShort",
        +  "totalPosts",
        +  "totalViews",
        +  "totalLikes",
        +  "latestPosts",
        +  "topPosts",
        +  "countryPercentage",
        +  "genderPercentage",
        +  "agePercentage",
        +  "cityPercentage",
        +  "reach",
        +  "profileViews",
        +  "websiteClicks",
        +  "accountsEngaged",
        +  "monthlyViews",
        +  "postsPerWeek",
        +  "totalBoards",
        +  "videoPostsPercentage",
        +  "topCategories"
        +]
      • changedInput schema / properties / statistics_visibility / items / properties / hidden_metrics / maxItems
        Previous value: -24New value: +29
    • Changedroster_add_creator1 field changed
      • changedInput schema / properties / socials / items / properties / platform / enum
        Previous value: -[
        -  "instagram",
        -  "tiktok",
        -  "youtube",
        -  "facebook",
        -  "linkedin",
        -  "twitter",
        -  "x",
        -  "twitch",
        -  "snapchat",
        -  "threads"
        -]New value: +[
        +  "instagram",
        +  "tiktok",
        +  "youtube",
        +  "facebook",
        +  "linkedin",
        +  "twitter",
        +  "x",
        +  "twitch",
        +  "snapchat",
        +  "threads",
        +  "pinterest"
        +]
    • Changedroster_validate_import1 field changed
      • changedInput schema / properties / rows / items / properties / socials / items / properties / platform / enum
        Previous value: -[
        -  "instagram",
        -  "tiktok",
        -  "youtube",
        -  "facebook",
        -  "linkedin",
        -  "twitter",
        -  "x",
        -  "twitch",
        -  "snapchat",
        -  "threads"
        -]New value: +[
        +  "instagram",
        +  "tiktok",
        +  "youtube",
        +  "facebook",
        +  "linkedin",
        +  "twitter",
        +  "x",
        +  "twitch",
        +  "snapchat",
        +  "threads",
        +  "pinterest"
        +]
    • Changedsocial_add1 field changed
      • changedInput schema / properties / platform / enum
        Previous value: -[
        -  "instagram",
        -  "tiktok",
        -  "youtube",
        -  "facebook",
        -  "linkedin",
        -  "twitter",
        -  "x",
        -  "twitch",
        -  "snapchat",
        -  "threads"
        -]New value: +[
        +  "instagram",
        +  "tiktok",
        +  "youtube",
        +  "facebook",
        +  "linkedin",
        +  "twitter",
        +  "x",
        +  "twitch",
        +  "snapchat",
        +  "threads",
        +  "pinterest"
        +]
    • Changedsocial_list1 field changed
      • changedInput schema / properties / platform / enum
        Previous value: -[
        -  "instagram",
        -  "tiktok",
        -  "youtube",
        -  "facebook",
        -  "linkedin",
        -  "twitter",
        -  "x",
        -  "twitch",
        -  "snapchat",
        -  "threads"
        -]New value: +[
        +  "instagram",
        +  "tiktok",
        +  "youtube",
        +  "facebook",
        +  "linkedin",
        +  "twitter",
        +  "x",
        +  "twitch",
        +  "snapchat",
        +  "threads",
        +  "pinterest"
        +]
    • Changedsocial_remove1 field changed
      • changedInput schema / properties / platform / enum
        Previous value: -[
        -  "instagram",
        -  "tiktok",
        -  "youtube",
        -  "facebook",
        -  "linkedin",
        -  "twitter",
        -  "x",
        -  "twitch",
        -  "snapchat",
        -  "threads"
        -]New value: +[
        +  "instagram",
        +  "tiktok",
        +  "youtube",
        +  "facebook",
        +  "linkedin",
        +  "twitter",
        +  "x",
        +  "twitch",
        +  "snapchat",
        +  "threads",
        +  "pinterest"
        +]
  3. 2 tool updates
    • Changedlink_in_bio_create2 fields changed
      • changedInput schema / properties / bio / anyOf
        Previous value: -[
        -  {
        -    "maxLength": 80,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 180,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / bio / description
        Previous value: -"Short bio under the name; null clears it"New value: +"Short bio under the name (max 180 characters); null clears it"
    • Changedlink_in_bio_update2 fields changed
      • changedInput schema / properties / bio / anyOf
        Previous value: -[
        -  {
        -    "maxLength": 80,
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 180,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / bio / description
        Previous value: -"Short bio under the name; null clears it"New value: +"Short bio under the name (max 180 characters); null clears it"
  4. 1 tool update
    • Changedmcp_get_access1 field changed
      • addedOutput schema / properties / data / properties / upgrade_url
        Added value: +{
        +  "type": "string"
        +}
  5. 50 tool updates
    • First observedanalytics_get_breakdown
    • First observedanalytics_get_views
    • First observedcampaign_create
    • First observedcampaign_get
    • First observedcampaign_list
    • First observedcampaign_update
    • First observeddeal_request_get
    • First observeddeal_request_list
    • First observeddeck_create
    • First observeddeck_get
    • First observeddeck_list
    • First observeddeck_update
    • First observedget_profile
    • First observedlink_in_bio_create
    • First observedlink_in_bio_get
    • First observedlink_in_bio_get_engagement
    • First observedlink_in_bio_get_import_status
    • First observedlink_in_bio_get_link_performance
    • First observedlink_in_bio_import_linktree
    • First observedlink_in_bio_remove_block
    • First observedlink_in_bio_update
    • First observedlink_in_bio_upsert_block
    • First observedmcp_get_access
    • First observedmedia_kit_apply_template
    • First observedmedia_kit_create
    • First observedmedia_kit_duplicate
    • First observedmedia_kit_ensure
    • First observedmedia_kit_get
    • First observedmedia_kit_list
    • First observedmedia_kit_list_templates
    • First observedmedia_kit_remove_item
    • First observedmedia_kit_set_sharing
    • First observedmedia_kit_set_social_visibility
    • First observedmedia_kit_update
    • First observedmedia_kit_update_content
    • First observedmedia_kit_upsert_item
    • First observedroster_add_creator
    • First observedroster_commit_import
    • First observedroster_get_import_status
    • First observedroster_validate_import
    • First observedsocial_add
    • First observedsocial_list
    • First observedsocial_remove
    • First observedsponsor_directory_options
    • First observedsponsor_get_brand
    • First observedsponsor_get_contact
    • First observedsponsor_lookup_brand
    • First observedsponsor_reveal_email
    • First observedsponsor_search_brands
    • First observedsponsor_search_contacts

Publisher details

Operator
CreatorsJet · Publisher source
Vendor relationship
First-party
Trust center
Not available
Restrictions
Requires a CreatorsJet creator or agency account (OAuth). Editing tools need the matching write permission and an eligible paid plan; Find sponsors tools need Creator Max or an agency Pro, Scale, or Enterprise plan. · Publisher source

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables social media creators to pull TikTok, Instagram, Facebook, and YouTube analytics into a persistent vault, receive weekly digests, review scripts, build media kits, and draft brand outreach using official APIs only.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables agents to analyze X creators' niches, audiences and engagement, estimate sponsored-post prices with a transparent formula, rank creators against a brand brief, and run deals from offer through post verification to a recorded payout ledger. Every write is previewed and confirmed by a human, and the server never posts to X or moves money.
    16
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to create, schedule, and analyze LinkedIn and X content, manage ideas, media, and a creator knowledge vault, and run approval-gated outreach campaigns through a hosted MCP endpoint.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Exposes native OnlyFans and Fansly access as MCP tools, letting agents read fans, messages, media, earnings, posts, transactions and subscribers across connected creators, with opt-in outbound writes. It also provides CRM tags, smart links, webhooks and bulk exports through a single API key.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources