Skip to main content
Glama

commsharbor

Server Details

Transactional e-mail and permission-based campaigns, multi-tenant, with a full audit trail.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

141 tools
commsharbor_api_key_createAInspect

Create a scoped API key and reveal it once.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCredential name
scopesYes
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations present, the description carries full behavioral burden. It discloses one valuable trait — the key is revealed exactly once, implying it cannot be retrieved later — but omits other relevant behaviors such as the credential's security sensitivity, required permissions to create it, or what the response will contain.

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 nine-word sentence with zero waste; verb and resource are front-loaded and the critical once-only reveal behavior earns its place. This is appropriately sized for a simple 3-param tool.

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

Completeness3/5

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

For a tool with no output schema, the description should clarify the return value; 'reveal it once' hints at the secret key being returned but never states the response contents. It also leaves scopes semantics and the irrecoverability of a lost key underspecified, though the flat 3-param complexity keeps the gaps moderate.

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 already documents name and organization_id (67% coverage); only the scopes array is undocumented. The word 'scoped' hints that the scopes parameter restricts permissions, adding marginal meaning beyond 'array of strings', but no format, valid values, or examples are given.

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

Purpose5/5

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

The description states a specific verb ('create') and resource ('scoped API key'), and clearly differentiates from sibling tools commsharbor_api_key_revoke and commsharbor_api_keys. The 'reveal it once' qualifier adds a defining characteristic that further pins down exactly what this tool does.

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 guidance is given on when to use this tool vs alternatives, no when-not-to-use conditions, and no mention of counterpart tools like revoke or list. Usage context is only weakly implied by the verb and resource rather than stated.

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

commsharbor_api_key_revokeBInspect

Revoke an API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_key_idYesAPI key ID
organization_idYesActive organization ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Revoke' implies an invalidating or destructive action, but the description does not state whether revocation is permanent, whether active integrations will be affected, or whether any special permissions are required. For a destructive operation, this is a meaningful transparency 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?

The description is a single five-word sentence with zero filler or redundancy. It is front-loaded and every word carries meaning. There is no unnecessary structure or repetition of schema properties.

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

Completeness3/5

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

For a simple two-parameter tool with complete schema coverage, the description is minimally viable: the agent knows the action and the input schema supplies the required arguments. However, because this is a revoke/destructive operation with no annotations and no output schema, the description should ideally state consequences like irreversibility or impact on existing API usage. The missing behavioral context 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.

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 already have clear descriptions: 'API key ID' and 'Active organization ID'. The tool description adds no additional parameter meaning, but the schema already handles this dimension adequately. Baseline 3 is appropriate because the schema, not the description, does 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?

The description 'Revoke an API key' uses a specific verb and resource, making the basic purpose immediately clear. It also distinguishes this tool from sibling tools like api_key_create and api_keys, since revoke is a distinct action. However, it adds little beyond what the tool name already communicates and does not mention the organization scoping involved.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool instead of alternatives such as commsharbor_api_key_create or commsharbor_api_keys. It does not state conditions, prerequisites, or exclusions. An agent must infer usage entirely from the name and input schema.

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

commsharbor_api_keysAInspect

List API keys without secrets.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It usefully reveals that secrets are not returned and 'List' signals a read-only operation. However, it does not mention authentication requirements, pagination, or behavior on invalid organization IDs.

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

Conciseness5/5

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

The description is extremely concise: five words, front-loaded verb and resource, with no filler or repetition. Every word adds value.

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

Completeness4/5

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

For a one-parameter list operation with no output schema, the description is nearly complete. It states what is returned (API keys) and an important exclusion (secrets). Additional detail about pagination or response shape would be useful but is not critical for such a simple read operation.

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?

The schema already describes the only parameter (organization_id) with 100% coverage, so the description adds no parameter-level information. This meets the baseline for a fully schema-documented parameter.

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

Purpose5/5

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

The description states a specific verb ('List') and resource ('API keys'), with a meaningful qualifier 'without secrets' that distinguishes it from the sibling create/revoke tools. An agent can immediately understand what the tool does without inspecting 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 intended use case is evident from the description, but no explicit guidance is provided about when to use this tool versus commsharbor_api_key_create or commsharbor_api_key_revoke. There are no exclusions or alternative conditions mentioned.

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

commsharbor_audience_createCInspect

Create an audience or saved segment.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesstatic or saved_segment
nameYesAudience name
filterNo
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that this is a creation operation and adds no context about response format, duplicate handling, whether `filter` is required for saved_segments, side effects, or validation behavior. The description effectively restates what the tool name already implies, offering no behavioral depth beyond it.

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

Conciseness4/5

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

The description is six words, front-loaded, and entirely free of redundancy. Every word earns its place, which is good for conciseness, though the extreme brevity borders on under-specification rather than disciplined economy.

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

Completeness2/5

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

For a creation tool with a nested filter object, no output schema, and no annotations, this definition is incomplete. An agent cannot learn how to structure `filter`, whether `kind` changes required inputs, or what the response contains. The definition provides no bridge to likely follow-up tools like audience_get or audience_members.

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 75% with descriptions for organization_id, name, and kind; the description reinforces the kind values via 'audience or saved segment' but adds little beyond the schema. The `filter` nested object is undocumented in both the schema and the description, leaving an agent unsure how to structure it. Given the 75% coverage, baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Create an audience or saved segment.' The two kinds map directly to the `kind` parameter, and the create verb clearly distinguishes it from siblings like audience_delete, audience_get, and audience_update. However, it does not explicitly name alternatives or differentiate itself from close operations like audience_member_add.

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 guidance is given about when to use this tool versus alternatives. With over 100 siblings including audience_update, audience_delete, and audience_member_add, an agent receives no decision criteria for choosing this tool. There is no mention of prerequisites, context, or exclusions.

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

commsharbor_audience_deleteCInspect

Delete an audience.

ParametersJSON Schema
NameRequiredDescriptionDefault
audience_idYesAudience ID
organization_idYesActive organization ID

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and 'Delete an audience' does not carry it. It confirms the destructive nature honestly, but reveals nothing about irreversibility, cascading effects on audience members, permission requirements, or the expected response. The word 'delete' prevents a score of 1, but the burden is otherwise unmet.

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

Conciseness3/5

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

The three-word sentence has zero waste, but the brevity reflects under-specification rather than disciplined editing. For a destructive operation with no annotations and no output schema, a single clause is not an appropriately sized description.

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

Completeness2/5

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

With no output schema and no annotations, the description must carry the contextual load, and it does not. For a destructive tool with a closely related sibling (commsharbor_audience_member_remove), an agent needs to know whether deleting an audience also removes its members, whether the action is reversible, and what outcome to expect. All of this 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%, with both audience_id and organization_id already described in the input schema ('Audience ID' and 'Active organization ID'). The description adds nothing about parameters, so the baseline of 3 is appropriate — the schema does the heavy lifting.

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 ('Delete') and resource ('an audience'), and the destructive verb clearly differentiates it from sibling tools like commsharbor_audience_create, commsharbor_audience_get, and commsharbor_audience_update. However, it essentially restates what the tool name already implies, adding no detail about scope or operation semantics.

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 guidance is provided on when to use this tool versus alternatives. In particular, an agent gets no help distinguishing it from commsharbor_audience_member_remove (removing individual members) or commsharbor_audience_update (modifying an audience instead of destroying it). No conditions, prerequisites, or exclusions are stated.

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

commsharbor_audience_getCInspect

Read one audience.

ParametersJSON Schema
NameRequiredDescriptionDefault
audience_idYesAudience ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Read' signals a non-mutating operation, but nothing is disclosed about error behavior when the audience doesn't exist, what fields the response contains, whether audience members are included, or any permission prerequisites beyond the two IDs. The description adds only the minimal safety implication of 'read' and nothing more.

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?

At three words, the description has zero waste and is maximally front-loaded — the verb and resource appear immediately. It reads as a complete, grammatical utterance rather than a tautology. However, it borders on under-specification, which prevents a 5; brevity here may be cutting into content that should exist.

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

Completeness2/5

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

The tool is a simple getter with two fully documented parameters, but there is no output schema and no annotations, so the description is the only source of behavioral and return-value information. It does not state what the response contains, how it differs from listing via commsharbor_audiences, or what happens on not-found. For an agent choosing among 130+ siblings — several of which operate on audiences — this is under-specified.

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% — both audience_id and organization_id have descriptions in the schema. The tool description 'Read one audience' adds no parameter-level meaning beyond what the schema already provides. Per the baseline rule, with high schema coverage, a 3 is appropriate even without additional param detail in the description.

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 'Read one audience' states a specific verb (read), resource (audience), and cardinality (one), which clearly implies a singular get operation. The word 'one' implicitly differentiates it from the plural sibling commsharbor_audiences. However, it doesn't explicitly distinguish itself from other audience-related siblings, and the description is so terse that it relies on the tool name for most of the differentiation.

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 guidance is provided on when to use this tool versus alternatives such as commsharbor_audiences (list), commsharbor_audience_members, or commsharbor_audience_update. Given the enormous sibling list (130+ tools) and several similar audience tools, the description provides no context for selection. There are no usage conditions, exclusions, or alternative references.

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

commsharbor_audience_member_addAInspect

Add a CRM contact to a static audience.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesCRM contact ID
audience_idYesAudience ID
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses only the core mutation (adding a member) but does not state what happens when the contact is already a member, whether dynamic audience IDs are rejected, what error conditions apply, or what the result confirms. A mutation tool with zero annotation coverage needs more behavioral context than this.

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 nine-word sentence with the action verb front-loaded. Every word earns its place, and there is no duplication of schema content or filler material.

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

Completeness3/5

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

For a simple three-parameter mutation with fully described required parameters, the core is adequately covered. However, with no output schema, the description does not indicate what the call returns on success, how duplicate membership is handled, or whether the static-audience constraint is enforced — gaps an agent needs to know whether re-adding is safe or how to confirm the operation succeeded.

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 each parameter already described ('CRM contact ID', 'Audience ID', 'Active organization ID'). The description slightly enriches contact_id (must be a CRM contact) and audience_id (must be static) but adds no syntax, format, or relationship details 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.

Purpose5/5

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

The description uses a specific verb+resource pair: 'Add a CRM contact to a static audience.' It is readily distinguishable from siblings like commsharbor_audience_member_remove (opposite action) and commsharbor_audience_create (different resource). The 'static audience' qualifier adds precision beyond what the tool name alone conveys.

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 intended action is evident from the verb, but there is no explicit when-to-use or when-not-to-use guidance. It does not distinguish this tool from bulk import workflows (commsharbor_contact_import_*) that could also populate audiences, nor does it state what to do when the audience is dynamic. The 'static audience' phrase is an implied usage condition, but no alternative tool is named.

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

commsharbor_audience_member_removeAInspect

Remove a CRM contact from a static audience.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesCRM contact ID
audience_idYesAudience ID
organization_idYesActive organization ID

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the mutating action but does not clarify whether the CRM contact itself is deleted, whether removal is reversible or idempotent, or what happens if the contact is not already in the audience.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the verb, object, and scope without any filler. Every word 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?

Given the low complexity, fully documented required parameters, and lack of an output schema, the one-sentence description plus the input schema is nearly sufficient for safe invocation. It falls short of a 5 only because it does not address side effects, reversibility, or edge cases, especially with no annotations to cover those concerns.

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 all three parameters already have clear descriptions: CRM contact ID, Audience ID, and Active organization ID. The description adds no meaningful parameter-level 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.

Purpose5/5

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

The description uses a specific verb ('Remove') with an explicit object ('a CRM contact') and scope ('from a static audience'). This clearly differentiates the tool from sibling tools like commsharbor_audience_member_add, commsharbor_audience_members, and commsharbor_audience_delete.

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 tool is for removing a contact from an audience and narrows the context to static audiences. However, it does not explicitly name alternatives or provide when-not-to-use guidance, such as not using it for dynamic audiences or using commsharbor_audience_member_add to add members.

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

commsharbor_audience_membersCInspect

List audience contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size, maximum 100
cursorNoOpaque pagination cursor
audience_idYesAudience ID
organization_idYesActive organization ID

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'List audience contacts' and does not reveal pagination behavior, return format, ordering, or that this is a read-only operation. Minimal value is added beyond the tool name.

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

Conciseness3/5

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

The description is extremely short and free of fluff, but it is under-specified. It earns its place but does not provide enough useful content to be considered well-structured for an agent.

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

Completeness2/5

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

For a list endpoint with required organization_id and audience_id, pagination parameters, and no output schema or annotations, the description is too thin. It does not mention pagination, what contacts are returned, or any practical invocation context.

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 fully documents the four parameters. The description adds no additional semantic detail, but this is acceptable given the baseline of 3 when the schema handles parameter documentation.

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 'List audience contacts' uses a specific verb and resource, clearly distinguishing it from sibling tools like audience_create or audience_delete. It is somewhat generic compared to audience_member_add/remove, but the intent is clear.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as commsharbor_audiences or commsharbor_audience_get. The description simply states the function without any context or exclusions.

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

commsharbor_audiencesBInspect

List audiences and saved segments.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size, maximum 100
cursorNoOpaque pagination cursor
organization_idYesActive organization ID

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, this description carries the full burden of communicating behavior. It makes clear that the operation is a read-only listing and that saved segments are included, but it does not describe pagination behavior, response shape, or any operational boundaries beyond what the 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?

The description is a single sentence with no filler and names exactly what the tool returns. It is front-loaded and every word adds meaning.

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

Completeness3/5

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

For a simple list operation this is minimally adequate, but there are gaps: no output schema and no annotations exist, and the description does not mention pagination, the response format, or how this relates to sibling audience tools. The schema covers parameters, but the overall context is thin.

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?

The input schema already fully describes all three parameters (organization_id, limit, cursor) with 100% coverage, so the description adds no parameter-level meaning. This is the appropriate baseline for high schema coverage.

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 ('List') and names the resources ('audiences and saved segments'), so an agent can tell this is a collection-list operation rather than a single-item get/create/update. It is distinguishable from related siblings like commsharbor_audience_get, though it does not explicitly name an alternative.

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

Usage Guidelines2/5

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

The description gives no guidance about when to choose this tool over the related audience tools, and it mentions no exclusions or alternative tools. An agent must infer the use case solely from the word 'List', which is minimal guidance.

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

commsharbor_audience_updateCInspect

Update an audience.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoAudience name
filterNo
audience_idYesAudience ID
organization_idYesActive organization ID

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'Update an audience' and does not explain whether the update is partial or full, what happens to existing data, whether permissions are required, or what the response contains.

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

Conciseness2/5

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

The description is a single terse sentence with no wasted words, but it is so minimal that it provides little value beyond the tool name. It is under-specified for a tool with four parameters and a nested object, rather than appropriately structured.

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

Completeness2/5

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

For a mutation tool with no annotations, no output schema, and an opaque nested 'filter' object, 'Update an audience' leaves the agent without enough information about update semantics, effects, or return behavior. The required IDs are documented in the schema, but the overall definition is incomplete.

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 75%, covering name, audience_id, and organization_id, so the baseline is 3. The description adds no parameter-level meaning beyond the schema, and the nested 'filter' object remains undocumented in both the schema and the description.

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

Purpose4/5

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

The description states a specific verb ('update') and resource ('audience'), and the tool name makes it distinguishable from sibling tools like audience_create, audience_get, and audience_delete. However, it does not specify which audience attributes can be updated, so it is clear but minimal.

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 guidance is provided about when to use this tool versus related audience tools such as audience_create, audience_get, or audience_delete. There are no conditions, prerequisites, or exclusions mentioned.

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

commsharbor_auditAInspect

List tenant audit events.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque cursor
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral transparency burden. It does convey the core behavior—listing audit events—and implies a read-only operation. However, it omits useful behavioral details such as pagination semantics, result ordering, or whether the cursor is required for paginated retrieval.

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

Conciseness5/5

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

The description is four words long and front-loads the essential action and resource. There is no redundancy, filler, or irrelevant detail; every word contributes to the meaning.

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

Completeness3/5

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

For a simple listing tool with fully documented parameters, this is minimally viable: an agent knows what to call and what parameters to provide. Still, the lack of any mention of pagination, response shape, or event scope beyond 'tenant' leaves room for ambiguity about what the returned audit events look like.

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 input schema already documents both parameters adequately. The description adds no extra semantic detail beyond the word 'tenant', which hints at the organization scoping but does not meaningfully extend the schema.

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

Purpose4/5

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

The description clearly identifies the action ('List') and the resource ('tenant audit events'), making the tool's purpose immediately understandable. It does not explicitly differentiate from siblings, but no other sibling appears to cover audit events, so the risk of confusion is low.

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 phrasing implies this tool is for retrieving tenant audit events, which gives an agent a reasonable sense of when to reach for it. However, it provides no explicit guidance about alternatives, prerequisites, or when not to use it.

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

commsharbor_auth_startCInspect

Send an OTP to an email address.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesLogin email

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the core side effect (an email is sent) but discloses nothing else: no mention that OTPs expire, that sending may be rate-limited, that a previous OTP may be invalidated, or that this step does not itself authenticate the user.

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

Conciseness4/5

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

The description is a single tight sentence with no wasted words and the core action front-loaded. It is appropriately lean for a one-parameter tool, though it errs slightly toward under-specification rather than optimal sizing since a second sentence about the follow-up verify step would add high value without bloat.

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

Completeness2/5

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

Complexity is low (one required parameter, no nested objects), but the surrounding structured context is also thin: no annotations and no output schema. The description leaves the agent without essential flow context — there is no indication that authentication is a two-step process, no mention of what the tool returns (request ID, status, etc.), and no error conditions described. For a tool named auth_start, this is a meaningful 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 schema already documents the email parameter as 'Login email'. The description adds marginal meaning by clarifying that the OTP is delivered to this address, but this is largely redundant with the tool's own purpose. Baseline 3 is appropriate given the schema carries the heavy lifting.

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 has a specific verb ('Send'), a clear resource ('an OTP'), and a destination ('to an email address'). It clearly states the action. However, it does not differentiate itself from the closely related sibling commsharbor_auth_verify, and it never mentions that this is the first step of a two-step authentication flow.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool. It does not state that this initiates an auth flow that must be completed via commsharbor_auth_verify, does not mention prerequisites (e.g., whether the email must belong to an existing user), and gives no hints about when this is or isn't the right tool relative to its siblings.

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

commsharbor_auth_verifyBInspect

Verify an OTP and receive a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSix-digit code
emailYesLogin email

TDQS

B3.3/5.0
Behavior3/5

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

There are no annotations, so the description carries the burden of explaining behavior. It does disclose the primary state-changing outcome ('receive a session'), but it does not mention session properties, whether a token is returned, failure behavior, or rate-limit/security implications. It is marginally adequate but not transparent about side effects beyond receiving a session.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It directly conveys the essential action and result in eight words, earning its place without redundancy.

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

Completeness3/5

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

For a simple two-parameter tool, the description is minimally adequate: it states the purpose and that a session is received. However, it omits the surrounding auth flow context, such as needing to call auth_start first, what a session looks like, and error conditions. These gaps prevent it from being fully context-complete.

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

Parameters3/5

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

Schema description coverage is 100%, and both parameters (email, code) are already documented as 'Login email' and 'Six-digit code'. The description adds no parameter-level meaning beyond what the schema provides, so the baseline score of 3 applies.

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

Purpose4/5

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

The description clearly states the action (verify an OTP) and the outcome (receive a session), using a specific verb and resource. It is distinct from the related auth_start sibling by implying the verification step, though it does not explicitly name auth_start or other alternatives.

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

Usage Guidelines2/5

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

The description provides no explicit when-to-use guidance or alternatives. It does not say to call this after auth_start, nor does it describe when not to use it. The usage context is only weakly implied by the tool name and 'Verify an OTP' phrasing.

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

commsharbor_billingAInspect

Read tenant entitlements and available sends.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of indicating side effects. The word 'Read' clearly signals a read-only, non-mutating operation, which is useful. However, the description does not disclose what the response contains, whether the data reflects current usage, or any authorization/error implications, so it is only minimally transparent.

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 no filler or redundancy. It states the verb and resource immediately, making it fast for an agent to parse.

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

Completeness3/5

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

With no output schema and no annotations, the description could do more to explain what the returned entitlements/available sends look like and how this tool relates to billing_purchase or billing_catalog. However, the tool has only one required parameter and a clear read-only purpose, so it is adequate for basic selection and invocation but lacks richer context.

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?

The schema fully documents the only parameter as 'Active organization ID', and the description adds little beyond 'tenant', which loosely maps to organization_id. With 100% schema description coverage, the baseline of 3 is appropriate because the description does not need to compensate.

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 opens with a clear verb ('Read') and names specific resources ('tenant entitlements and available sends'), which distinguishes it from sibling tools like commsharbor_billing_catalog and commsharbor_billing_purchase by operation and scope. This is a specific, non-tautological purpose statement.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus the other billing siblings, and it does not mention exclusions or alternatives. The read-only wording implies a use case, but that is not enough to help an agent choose correctly among related billing tools.

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

commsharbor_billing_catalogBInspect

Read plans, prices and x402 network.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral disclosure burden. It does signal a read-only operation, but it does not describe the response format, the scope of the catalog, what 'x402 network' means, or any authentication expectations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler or redundant schema repetition. Every word contributes to identifying the action and the resources involved.

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

Completeness3/5

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

For a zero-parameter read-only tool this is minimally viable, but it leaves the meaning of 'x402 network' unstated and gives no sense of the returned catalog structure. It also does not clarify how it relates to the billing and billing_purchase siblings.

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 accepts zero parameters and the schema has no properties. With no required inputs, the 0-parameter baseline applies and the description does not need to add parameter-level detail.

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 concrete verb ('Read') and names specific resources ('plans, prices and x402 network'), so the core purpose is clear. It does not explicitly contrast itself with sibling billing tools like commsharbor_billing or commsharbor_billing_purchase, but the catalog/read framing makes it reasonably distinguishable.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of commsharbor_billing or commsharbor_billing_purchase, nor any when-not-to-use conditions. Only the implicit suggestion that plan/price questions map to this catalog.

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

commsharbor_billing_purchaseBInspect

Request a pass or top-up and receive the x402 challenge when payment is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
idempotency_keyYesStable logical purchase key
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It does disclose a non-obvious behavioral trait: the call returns an x402 payment challenge rather than completing the purchase outright, and only conditionally ('when payment is required'). However, it doesn'tsay what happens when no payment is needed, whether any charge is created, or how the flow continues after the challenge.

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 with zero filler; the action ('Request a pass or top-up') is front-loaded and the payment-conditioned challenge follows. Every word earns its place.

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

Completeness2/5

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

For a payment-adjacent operation with no annotations and no output schema, the description is too thin: it doesn'tdescribe the response shape, the no-payment path, or how the x402 challenge is resolved. An agent can'tpredict whether the tool is idempotent-safe or what success looks like.

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 67% — the action parameter has no description. The description echoes 'pass' and 'top-up', mapping to the action enum and supplying a little semantics, but doesn'texplain what distinguishes a pass from a top-up. It adds nothing about idempotency_key's role in preventing duplicate charges.

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 ('Request') and resource ('pass or top-up'), plus the distinctive consequence ('receive the x402 challenge'). Among billing siblings (commsharbor_billing, commsharbor_billing_catalog), this implies the purchase/action role, but it doesn'texplicitly differentiate from them and the 'x402 challenge' jargon is left unexplained.

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 exclusions, and no mention of alternatives such as commsharbor_billing or commsharbor_billing_catalog. The only usage signal is implied: if you want a pass or top-up, invoke this. An agent gets no help choosing between the three billing tools.

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

commsharbor_campaign_createBInspect

Create a campaign draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCampaign name
domain_idYesActive sending domain ID
audience_idYesAudience ID
template_idYesPublished marketing template ID
organization_idYesActive organization ID
template_versionNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that a draft is created, providing minimal side-effect context. It does not mention permissions, whether the draft is immediately available, whether it can be edited or launched afterward, or what response is returned.

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

Conciseness4/5

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

The description is extremely concise with no filler or repetition. It front-loads the core action and resource. However, it may be too terse given the complexity of the operation and the absence of annotations.

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

Completeness2/5

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

This is a creation tool with six parameters, no annotations, and no output schema, so the description should provide more context about the draft lifecycle, validation behavior, or expected result. It only says 'Create a campaign draft' and leaves important operational details unstated.

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 83%, so the input schema already documents five of six parameters. The description adds no parameter-level meaning, but the schema covers most semantics. The optional template_version parameter lacks a description, yet the schema provides a minimum constraint.

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 ('Create') and a specific resource ('a campaign draft'), which clearly distinguishes it from siblings like campaign_launch, campaign_update, and campaign_get. The word 'draft' conveys that this creates an unsent campaign rather than launching one. It is concise but could be slightly clearer about what a draft entails.

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 tool is used to create a campaign draft, but it does not explicitly say when to use it over campaign_launch or campaign_update, nor does it mention any prerequisites or exclusions. No alternative tools are named, so an agent must infer usage from sibling names and the word 'draft'.

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

commsharbor_campaign_getCInspect

Read a campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idYesCampaign ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations available, the description carries the full burden of behavioral disclosure. The word 'Read' implies a read-only operation, but the description does not mention response behavior, required permissions, error cases, or any other operational traits. It adds minimal value beyond the tool name itself.

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

Conciseness4/5

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

The description is a single, direct sentence with no filler or redundant wording. It is appropriately concise for a simple get-by-id operation, though it could afford a bit more context.

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

Completeness3/5

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

The two parameters are fully documented in the schema, and the operation is simple enough to infer from the name. However, the description does not clarify the return value, distinguish from campaign_report, or give any usage context. It is minimally adequate but has clear gaps.

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 both campaign_id and organization_id documented in the input schema. The description adds no additional parameter meaning, but the baseline of 3 applies because the schema already fully describes the parameters.

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

Purpose4/5

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

The description states a clear verb and resource: 'Read a campaign.' This distinguishes it from mutation tools like campaign_create, campaign_update, and campaign_launch. However, it does not differentiate it from the related campaign_report, which could also be described as reading campaign data.

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 guidance is provided on when to use this tool versus alternatives such as commsharbor_campaigns (listing campaigns) or commsharbor_campaign_report (reading campaign performance). The description gives no context, exclusions, or hints about selecting this tool over its siblings.

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

commsharbor_campaign_launchBInspect

Freeze and launch or schedule a campaign idempotently.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idYesCampaign ID
scheduled_forNoOptional ISO-8601 instant with offset
idempotency_keyYesStable launch key
organization_idYesActive organization ID

TDQS

B3.4/5.0
Behavior3/5

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

Lere are no annotations, so the description carries the disclosure burden. It does communicate two useful behavioral traits—constently idempotent and a 'freeze' side effect—but it doesn't explain what freezing means, what happens on retries, or the campaign's state transition.

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

Conciseness4/5

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

The description is a single short sentence with no filler and the core action is stated before the qualifier. The ambiguous 'freeze' term costs a point against maximum clarity, but overall it is efficient.

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

Completeness3/5

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

Given 100% schema coverage and relatively simple flat parameters, the description is adequate for basic invocation. However, with no annotations and no output schema, it leaves important context implicit—what 'freeze' does, whether scheduled_for absent means immediate launch, and what the caller should expect in return.

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 all four parameters. The description only loosely echoes scheduled_for and idempotency_key ('schedule', 'idempotently') and does not clarify that providing scheduled_for selects scheduling vs immediate launch.

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

Purpose4/5

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

The description names a specific action ('launch or schedule') on a specific resource ('campaign'), so an agent can identify the tool's main job. It is reasonably distinguishable from sibling tools like campaign_create and campaign_update because 'launch' signals a lifecycle action, though the word 'freeze' is ambiguous and no sibling is explicitly contrasted.

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 intended use is implied: call tlis tool when a campaign should be launched or scheduled. However, it provides no explicit guidance about prerequisites, when not to use it, or which sibling tool should be selected instead.

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

commsharbor_campaign_reportCInspect

Reconcile campaign deliveries and feedback.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idYesCampaign ID
organization_idYesActive organization ID

TDQS

C2.3/5.0
Behavior1/5

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

No annotations are present, so the description carries the full burden of disclosing behavior. 'Reconcile' does not clarify whether this tool is read-only, performs calculations, or has side effects. It also does not mention what kind of output the agent can expect, whether any state changes occur, or what 'reconcile' concretely produces. This is a major transparency gap for a tool whose name suggests reporting.

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

Conciseness3/5

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

The description is very short and front-loaded, with no filler. However, it is under-specified rather than concisely complete; six words convey the general subject matter but omit necessary details about the tool's purpose and behavior. It is not bloated, but it does not fully earn its place as a standalone definition.

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

Completeness2/5

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

While the tool has only two parameters and no nested objects, there is no output schema and no annotations, so the description must explain what the tool returns and how it behaves. It does neither. An agent cannot tell whether this is a safe read operation, what shape the reconciliation report takes, or how campaign deliveries and feedback are correlated.

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%: both parameters have basic descriptions ('Campaign ID' and 'Active organization ID'). The tool description adds no additional meaning, so it does not improve on the schema. A baseline of 3 is appropriate because the schema already documents both parameters sufficiently for basic invocation.

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

Purpose3/5

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

The description uses a specific verb ('reconcile') and names the resource ('campaign deliveries and feedback'), so it indicates a reporting/analysis action rather than a generic operation. However, 'reconcile' is ambiguous—it could mean generating a comparison report, adjusting records, or checking consistency—and the description does not clearly distinguish this tool from related siblings like commsharbor_campaign_get, commsharbor_delivery_events, or commsharbor_delivery_get.

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 guidance is provided about when to use this tool versus alternatives. With many closely related sibling tools (campaign_get, delivery_get, delivery_events, domain_report), an agent needs some indication of the specific scenario this report addresses, such as matching delivery status against feedback or producing a reconciliation summary. The description implies usage but never states it.

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

commsharbor_campaignsCInspect

List campaigns.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'List' implies a read-only operation, but the description does not mention what the response contains, whether pagination is involved, or how the organization_id parameter scopes results.

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

Conciseness4/5

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

The description is extremely concise and front-loaded with no filler. It earns its place by naming the action and resource, though it is arguably too sparse to be maximally useful.

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

Completeness2/5

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

For a tool with no output schema and no annotations, the description is too thin. It does not mention return values, pagination, or how the organization context affects the results, leaving an agent to guess important invocation expectations.

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 single organization_id parameter is already documented in the schema. The description adds no parameter-level meaning, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description states a clear verb and resource: 'List campaigns.' This makes it distinguishable in intent from campaign_create, campaign_get, and campaign_update by conveying a collection-level read operation. However, it does not explicitly contrast with campaign_get or describe any scoping/filtering behavior.

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 guidance is given about when to use this tool versus sibling tools such as campaign_get, campaign_create, or campaign_report. The intended context must be inferred entirely from the tool name and the plural 'campaigns'.

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

commsharbor_campaign_updateCInspect

Edit, pause, resume or cancel a campaign.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCampaign name
statusNopaused, running or canceled
domain_idNoActive sending domain ID
audience_idNoAudience ID
campaign_idYesCampaign ID
template_idNoPublished marketing template ID
organization_idYesActive organization ID
template_versionNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It correctly indicates a state-changing operation, but it does not mention consequences such as whether cancel is irreversible, whether pause/resume has restrictions, or what the response looks like. For a mutation tool, this is a meaningful 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?

The description is eight words, front-loaded with action verbs, and contains no filler. It is compact and easy to scan quickly, which is exactly what conciseness requires, even though it lacks some contextual depth.

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

Completeness2/5

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

With 8 parameters, no output schema, and no annotations, a single sentence is not enough operational context. The description does not explain which fields can be updated together, how status transitions work, or that campaign_id and organization_id are identifiers while other fields are optional. The schema gives field names but not the behavioral context an agent needs to use the tool 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 88%, so the schema already documents most parameters adequately. The description adds a little meaning by implicitly linking pause/resume/cancel to the status field, but it does not clarify optionality, field combinations, or template_version behavior. The high schema coverage keeps this at baseline 3.

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

Purpose4/5

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

The description names the campaign resource and a set of concrete actions: edit, pause, resume, or cancel. This is reasonably specific and distinguishes the tool from campaign_create, campaign_get, and campaign_launch, but 'edit' is generic and the description does not explicitly differentiate from sibling tools.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like campaign_launch or campaign_create. The intended use is only implied by the tool name and verbs, with no explanation of boundary cases such as whether setting status to 'running' is the same as launching a campaign.

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

commsharbor_contact_file_getAInspect

Download a tenant CSV before expiry.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesContact file ID
organization_idYesActive organization ID

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It does convey that this is a download and adds a non-obvious expiry constraint, but it does not disclose side effects, behavior after expiration, or error/response expectations.

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

Conciseness5/5

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

The description is a single seven-word sentence with no filler or repetition. The action, resource, and timing qualifier are front-loaded, and the schema is left to document parameters.

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

Completeness4/5

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

With only two required scalar parameters and no output schema, the description plus schema is nearly complete: the agent knows the required IDs and that the result is a CSV. It could still mention what happens after expiry, but the tool is simple enough that this is not a major 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% and both string parameters are already self-explanatory. The description adds no per-parameter meaning, but none is needed; the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a concrete action (Download) and resource (tenant CSV) plus a distinctive time qualifier (before expiry). It is clear on its own, but it does not explicitly differentiate from sibling download/export tools such as commsharbor_contacts_export or commsharbor_data_export_download.

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

Usage Guidelines3/5

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

The phrase 'before expiry' implies the tool should be used while a generated CSV is still valid, providing some usage context. However, it does not contrast this tool with alternatives or state when not to use it, so an agent must infer routing.

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

commsharbor_contact_import_confirmCInspect

Confirm an import with a mandatory idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
import_idYesContact import ID
idempotency_keyYesUnique confirmation key
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only restates the schema's requirement that an idempotency key is mandatory and says nothing about side effects, whether the confirmation triggers processing, reversibility, failure behavior, or what response to expect. The idempotency semantics are implied but not explained.

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

Conciseness4/5

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

The description is a single short sentence with the action front-loaded and no filler. It is concise, but it is so terse that it sacrifices substantive context, making it efficient yet minimally informative.

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

Completeness2/5

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

Given there are no annotations and no output schema, the description should provide more context about the import-confirmation workflow, prerequisites, and consequences. It does none of that; an agent must infer almost everything from the tool name and sibling list.

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 even without parameter details in the prose. The description adds no meaning beyond 'mandatory,' which is already captured by the required array; it doesn't clarify key format, generation, or how it relates to the import.

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 action ('Confirm'), a specific resource ('an import'), and highlights the mandatory idempotency key, so an agent can tell this is not a get/preview/list operation. However, it doesn't explain what confirming actually does (e.g., finalizing an import) and doesn't explicitly distinguish it from contact_import_preview or contact_import_get, 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 Guidelines2/5

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

There is no guidance about when to use this tool versus siblings like contact_import_preview, contact_import_get, or contact_imports. The word 'Confirm' implies a later stage in an import workflow, but no prerequisites, workflow position, or exclusions are stated, leaving the agent to guess.

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

commsharbor_contact_import_errorsCInspect

List deterministic row-level import errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size, maximum 100
cursorNoOpaque pagination cursor
import_idYesContact import ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. Saying 'List' implies a read operation, but the description does not explain pagination behavior, whether results are stable across calls, what fields appear in error rows, or what 'deterministic' really means for the caller. It adds little beyond the operation name.

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

Conciseness4/5

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

The description is a single succinct sentence with no filler or redundant restatement of the tool name. It sacrifices some helpful context for brevity, which keeps it concise but leaves the description feeling thin.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and a nuanced domain area (import lifecycle), a one-sentence description is not enough. Missing context includes how errors relate to an import, whether errors are final or depend on preview state, and what the response structure looks like.

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 all four parameters including the meaning of limit, cursor, import_id, and organization_id. The description adds no additional parameter-level semantics, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description names a specific resource (import errors) and action (List), and the phrase 'row-level import errors' differentiates it from sibling tools like contact_import_get and contact_import_preview. However, 'deterministic' is something of a jargon qualifier and the description does not explicitly contrast it with related import tools, so it is not a full 5.

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

Usage Guidelines2/5

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

No guidance is given about when this tool should be used versus contact_import_preview, contact_import_get, or contact_import_confirm. There is no stated context such as 'after an import completes' or 'when previewing failed rows,' leaving the agent to infer the intended scenario.

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

commsharbor_contact_import_getBInspect

Read one contact import.

ParametersJSON Schema
NameRequiredDescriptionDefault
import_idYesContact import ID
organization_idYesActive organization ID

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Read,' which conveys a read-only operation, but it does not describe what is returned, whether the import object includes status or error information, or what happens when the import ID is invalid. Minimal value is added beyond the tool name itself.

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

Conciseness5/5

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

The description is a single concise sentence with no unnecessary words. It is immediately clear and front-loaded.

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

Completeness3/5

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

For a simple two-parameter get operation, the description is minimally viable, but it lacks guidance on return values since there is no output schema. It also provides no usage context or behavioral caveats, so an agent must infer most non-parameter details.

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 import_id and organization_id are already documented. The description adds no additional parameter-level meaning, which is acceptable given the schema's completeness, hence the baseline score of 3.

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 'Read one contact import' uses a specific verb and resource, and the word 'one' distinguishes this from list-oriented siblings like commsharbor_contact_imports. However, it does not explicitly name alternative tools or clarify how it differs from related import tools such as preview, confirm, or errors.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description implies a single-record retrieval use case but does not state exclusions, prerequisites, or mention sibling tools like commsharbor_contact_imports or commsharbor_contact_import_preview.

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

commsharbor_contact_import_previewCInspect

Upload and preview a consent-declared CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvYesCSV, maximum 5 MB and 10,000 rows
basisYesConsent basis
sourceYesConsent source
mappingYes
captured_atYesISO-8601 capture time
organization_idYesActive organization ID

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'upload and preview'; it does notstate whether contacts are persisted, whether the file is stored, whether any consent data is validated or mutated, or what side effects occur. The 'consent-declared' phrasing hints at CSV requirements but does not clarify the operation's safety or outcome.

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

Conciseness3/5

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

The description is a single, easy-to-scan sentence with no wasted words. However, for a six-parameter operation with a nested mapping object and no output schema, this is closer to under-specification than deliberate conciseness.

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

Completeness2/5

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

The tool has no output schema, no annotations, and a complex nested mapping parameter, so the description should at least clarify what the preview returns and how the import workflow proceeds. It does not describe success/failure signals, preview contents, or the relationship to contact_import_confirm, leaving significant gaps for an agent to infer.

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 83%, so the schema already covers most parameter meanings: csv size limit, basis, source, captured_at format, and organization_id. The description adds no extra parameter-level context, and the nested 'mapping' object remains undescribed in both schema and description. Baseline 3 is appropriate because the schema handles most of the burden.

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 action ('upload and preview') on a specific resource ('consent-declared CSV'), so an agent can tell this is a pre-import validation step. It does not explicitly differentiate from commsharbor_contact_import_confirm or contact_import_get, but the word 'preview' strongly implies an early, non-committing stage.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives like contact_import_confirm, contact_import_errors, or contact_import_get. It does not mention the natural workflow of previewing before confirming an import, so the agent must infer the intended sequencing from the tool name alone.

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

commsharbor_contact_importsBInspect

List contact imports.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size, maximum 100
cursorNoOpaque pagination cursor
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'List' implies a read operation, but it does not disclose pagination behavior, ordering, filtering, statuses, or what fields are returned for each import. Behavioral transparency is minimal.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler or redundant wording. It is appropriately concise for a list operation, though slightly more context could have been added without harming clarity.

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

Completeness3/5

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

For a straightforward paginated list tool, the schema covers the parameters and the description states the core intent, so it is minimally viable. However, with no annotations and no output schema, an agent is left without information about return shape, import statuses, ordering, or how this tool fits with the other contact import tools.

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?

The input schema fully documents all three parameters with clear descriptions, including the required organization_id, limit with a maximum of 100, and cursor for pagination. The description adds no parameter-level meaning, but the 100% schema coverage sets the baseline at 3.

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 clear action with a specific resource: 'List contact imports'. The plural 'imports' helps differentiate it from singular operations like commsharbor_contact_import_get, though it does not specify scope, filtering, or relationship to related import tools.

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

Usage Guidelines3/5

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

Usage is implied: this is the tool for listing contact imports. However, there is no explicit guidance about when to prefer this over related tools such as contact_import_get, contact_import_errors, or contact_import_preview, nor any discussion of alternatives.

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

commsharbor_contact_marketing_getAInspect

Read consent and preference for a CRM contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesCRM contact ID
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral transparency burden. 'Read' clearly signals a non-mutating operation, which is useful, but the description does not disclose what fields are returned, what happens when the contact does not exist, or any organization-scoping behavior beyond the parameter names.

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

Conciseness5/5

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

The description is a single, focused sentence with no filler. The key verb and resource are front-loaded, making it easy for an agent to quickly parse the tool's purpose.

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

Completeness3/5

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

For a two-parameter read operation, the description is reasonably adequate, but the lack of an output schema means the agent is left without any information about the return shape or field names for consent and preference. Given the large sibling toolset, a short note clarifying scope or response structure would improve completeness.

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 both contact_id and organization_id already documented. The description adds no further parameter-level meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb, 'Read', with a clear resource: 'consent and preference for a CRM contact'. This makes the tool's purpose immediately understandable and distinguishes it from the write-oriented sibling commsharbor_contact_marketing_put.

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

Usage Guidelines2/5

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

The description implies the tool is used to fetch consent/preference data, but it gives no explicit guidance about when to use this tool versus alternatives like commsharbor_contact_marketing_put, commsharbor_preference_get, or commsharbor_crm_contacts_get. There are no exclusions or conditions provided.

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

commsharbor_contact_marketing_putCInspect

Record permission-based marketing consent.

ParametersJSON Schema
NameRequiredDescriptionDefault
basisYesexplicit or documented_relationship
sourceYesConsent source
contact_idYesCRM contact ID
captured_atYesISO-8601 capture time
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavior. It only states the action and does not explain whether existing consent is overwritten, whether the operation is idempotent, what validation applies to 'basis', what authorization is needed, or what the stored consent record looks like.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler or redundancy. It states the purpose in the fewest possible words, which is appropriate for conciseness even though deeper behavior is missing elsewhere.

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

Completeness2/5

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

For a write operation with no annotations and no output schema, the description is too thin. It does not mention return values, errors, idempotency, legal/compliance caveats, or how this consent record relates to the contact or to marketing send eligibility.

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?

The input schema has 100% parameter description coverage, so the baseline is 3. The description adds no parameter-level detail beyond what the schema already provides; the schema already describes each required field adequately.

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 ('Record') and resource ('permission-based marketing consent'), clearly identifying a write operation for contact marketing consent. It is easily distinguishable from the sibling commsharbor_contact_marketing_get, but it does not explicitly differentiate itself from alternatives or clarify whether this is create-only or upsert semantics.

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 guidance is provided about when to use this tool versus commsharbor_contact_marketing_get, suppression_create, preference_unsubscribe, or other consent-related tools. There are no conditions, exclusions, or prerequisite steps mentioned.

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

commsharbor_contacts_exportBInspect

Create a safe seven-day contact CSV export.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure, and it adds two facts: the export is 'safe' and lasts 'seven-day'. However, 'safe' is undefined, and it does not disclose whether the operation is asynchronous, whether it returns a download ID or URL, whether it overwrites previous exports, or whether special permissions are required. Transparency is partial.

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

Conciseness5/5

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

The description is a single sentence with no filler; every word contributes signal: create, safe, seven-day, contact, CSV, export. Key qualifiers are front-loaded and the text is easy to parse.

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

Completeness2/5

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

Despite having only one parameter, this is an export-creation workflow with no output schema and no annotations. The description does not explain what the agent receives after calling it, how the seven-day window affects follow-up, or how the export is later retrieved. Sibling tools like data_export_download indicate a larger workflow that the description leaves unexplained.

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 organization_id is already described as 'Active organization ID'. The description adds no parameter-specific meaning, but for a single obvious parameter the schema carries the burden. A baseline of 3 is appropriate.

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

Purpose4/5

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

The description names a specific action — create a contact CSV export — and clearly scopes it to contacts. It is distinct enough at a glance from generic exports, though 'seven-day' is ambiguous and no sibling tool is named to sharpen differentiation.

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

Usage Guidelines2/5

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

The description provides no when-to-use or when-not-to-use guidance. It does not contrast with related tools such as commsharbor_data_export_create, contact imports, or contact retrieval tools. The only implied context is 'use when a contact CSV export is needed', which is effectively circular.

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

commsharbor_contextBInspect

Resolve the active organization identity.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Resolve' implies a non-mutating lookup and 'active organization identity' names what is returned, but the description does not clarify whether the result is an ID, slug, or full organization object, or what authentication context is required.

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: every word contributes to the purpose. The core concept is front-loaded and nothing extraneous is included.

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

Completeness3/5

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

This is a simple zero-parameter tool, so the description is nearly sufficient. However, with no output schema, it should state the return shape or the exact form of the 'organization identity' and any dependency on an authenticated session; these details are missing.

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 has zero parameters and the empty input schema already communicates this completely. Per the zero-parameter baseline, no additional parameter explanation is needed from the description.

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

Purpose4/5

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

The description states a concrete verb ('Resolve') and a specific resource ('the active organization identity'), making the tool's purpose clear. It is implicitly distinct from siblings such as commsharbor_me, commsharbor_organizations, and commsharbor_organization_get, but it does not name those alternatives, 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 Guidelines2/5

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

There is no guidance about when to call this tool instead of the many related context/lookup tools such as commsharbor_platform_context, commsharbor_me, commsharbor_organizations, or commsharbor_organization_get. The agent is left to infer usage purely from the tool name and a one-line description.

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

commsharbor_crm_activities_createCInspect

create CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYesnote
deal_idNodeal id
activity_typeNoactivity type
organization_idYesorganization_id

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, but it only states that the tool creates an activity. It does not disclose side effects, required context, permissions, idempotency, or what data is returned.

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

Conciseness2/5

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

The description is one short sentence, but this is under-specification rather than effective conciseness. It front-loads the action with no supporting context that would help an agent invoke the tool correctly.

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

Completeness2/5

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

A 4-parameter CRM tool with no output schema and no annotations needs more context than 'create CRM activity.' It does not explain what an activity represents, how activity_type should be valued, how deal_id relates to the activity, or what a successful creation looks like.

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, but the parameter descriptions merely repeat the field names ('note', 'deal id', 'activity type', 'organization_id'). The long-form description adds nothing about parameter meaning or constraints, so it does not exceed the baseline.

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

Purpose4/5

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

The description names the exact operation and resource: creating a CRM activity. It is clear enough to distinguish from the delete/get/list/update siblings, though it does not clarify how it differs from the similarly named platform_crm_activities_create variant.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this tool over alternatives such as commsharbor_platform_crm_activities_create or the update/list variants. The intended use is only implied by the verb and sibling naming, with no when-to-use or when-not-to-use conditions.

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

commsharbor_crm_activities_deleteCInspect

delete CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
activity_idYesactivity_id
organization_idYesorganization_id

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'delete', implying mutation, but does not mention irreversibility, required permissions, whether related records are affected, or any side effects.

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

Conciseness4/5

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

The description is a single short sentence with no filler. It is concise, though it could have used the space to include a bit more context or scoping detail.

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

Completeness2/5

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

For a destructive operation with no annotations or output schema, the description is too sparse. It does not explain deletion semantics, scoping, or the distinction from the platform-scoped sibling tool, so an agent would not be fully equipped to invoke it correctly.

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

Parameters2/5

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

Although the schema has descriptions for both parameters, those descriptions merely repeat the parameter names and add no real semantic value. The tool description does not explain the role of organization_id or activity_id, or how they relate to the delete operation.

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 the core action, 'delete', and the resource, 'CRM activity', so an agent can tell it is a deletion tool. However, it does not differentiate this from the similarly named commsharbor_platform_crm_activities_delete sibling, so it lacks sibling distinction.

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 guidance is given for when to use this tool versus the platform-scoped delete variant or any other activity-related tool. The agent is left to infer usage from the name alone.

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

commsharbor_crm_activities_getCInspect

get CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
activity_idYesactivity_id
organization_idYesorganization_id

TDQS

C2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it says nothing beyond the bare action. It does not state whether the operation is read-only, what happens if the activity does not exist, whether auth is required, or what the response format is. The word 'get' weakly implies a safe read, but no confirmation or edge-case behavior is disclosed.

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

Conciseness2/5

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

At three words, the description is under-specified rather than appropriately concise; this is the classic case of under-specification masquerading as brevity. A simple GET with two parameters and two competing sibling families could merit multiple clarifying sentences, and none of that content is present.

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

Completeness2/5

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

The tool has no output schema and no annotations, so the description should clarify return values and distinguish it from commsharbor_crm_activities_list and the platform-scoped variant, but it does neither. The self-explanatory parameter names prevent this from being unusable, but the definition is not complete enough for an agent to confidently select it over its siblings or know what it will receive.

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

Parameters2/5

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

Although schema coverage is nominally 100%, both parameter descriptions are tautologies ('activity_id' describes 'activity_id'), so they add no real semantic value and the baseline-3 condition is not genuinely met. The tool description itself adds nothing about the parameters. An agent can guess that activity_id identifies the activity and organization_id scopes the request, but only because the parameter names are self-evident, not because the description helps.

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

Purpose2/5

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

"get CRM activity" is nearly a verbatim restatement of the tool name commsharbor_crm_activities_get, which the rubric treats as a tautology. It conveys a single-record fetch only because the name already implies it, and it offers no definition of what a CRM activity is. It fails to distinguish itself from nearby siblings like commsharbor_crm_activities_list or commsharbor_platform_crm_activities_get.

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

Usage Guidelines2/5

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

The description provides zero guidance on when to use this tool versus the list, create, update, or delete siblings, or the platform-scoped variant. No context, prerequisites, or alternative tools are mentioned. The agent is left to infer usage purely from the parameter names.

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

commsharbor_crm_activities_listCInspect

list CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoq
limitNoPage size from 1 to 100
cursorNoOpaque cursor returned by the previous page
deal_idNodeal_id
company_idNocompany_id
contact_idNocontact_id
activity_typeNoactivity_type
organization_idYesorganization_id

TDQS

C2.6/5.0
Behavior2/5

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

There are no annotations, so the description carries the full behavioral burden. 'list' implies a read operation, but the description does not disclose pagination behavior, cursor/limit semantics, filtering behavior, or what data is returned. For an 8-parameter list tool, this is a significant transparency gap.

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

Conciseness2/5

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

The description is short and free of fluff, but it is under-specified for a tool with eight parameters, filtering options, and pagination. 'list CRM activity' is more of a fragment than a structured description, and the minimalism harms usefulness rather than improving clarity.

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

Completeness1/5

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

Given the complexity of the input schema, no annotations, and no output schema, the description is severely incomplete. It fails to mention the required organization_id, available filters (deal_id, company_id, contact_id, activity_type), pagination via cursor/limit, or how results relate to other CRM list operations.

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 even though the tool description adds no parameter meaning. However, most parameter descriptions are tautological ('q', 'deal_id', etc.), and the tool description does nothing to clarify them, so no credit beyond baseline is warranted.

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 the core action ('list') and resource ('CRM activity'), so the general purpose is clear. However, it does not differentiate from the sibling commsharbor_platform_crm_activities_list, which also lists CRM activity, and it does not mention any scoping like the required organization_id.

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 guidance is provided about when to use this tool versus alternatives such as commsharbor_crm_activities_get, commsharbor_crm_activities_create, or the platform-level list variant. The description implies listing but gives no context on filtering, pagination, or when this list is preferable to other activity tools.

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

commsharbor_crm_activities_updateCInspect

update CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNonote
deal_idNodeal id
activity_idYesactivity_id
activity_typeNoactivity type
organization_idYesorganization_id

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations provided, the description bears the full burden of behavioral disclosure, but it only says the tool updates an activity. It does not explain partial-update behavior, whether omitted optional fields are cleared, authentication needs, or side effects.

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

Conciseness2/5

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

The description is short, but the brevity reads as under-specification rather than efficient completeness. For a mutation tool with five parameters and no annotations, a single tautological phrase is not appropriately sized.

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

Completeness2/5

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

This is incomplete for a mutation tool with no annotations and no output schema. It does not state that the optional fields are the fields being updated, that activity_id and organization_id are identifiers, or what result to expect. The complete schema coverage keeps it minimally usable.

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 even though the tool description adds no parameter detail. The schema documents note, deal_id, activity_type, activity_id, and organization_id, but the prose itself provides no extra semantic meaning.

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

Purpose2/5

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

The description 'update CRM activity.' essentially restates the tool name commsharbor_crm_activities_update, adding no information beyond the verb-object pair. It is not misleading, but it is a tautology and does not clarify scope, effect, or which fields are updatable.

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 guidance is given about when to use this tool versus the many sibling activity-related tools such as commsharbor_crm_activities_create, commsharbor_crm_activities_get, or commsharbor_platform_crm_activities_update. Prerequisites and selection criteria are entirely absent.

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

commsharbor_crm_companies_createCInspect

create CRM company.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesname
domainNodomain
websiteNowebsite
organization_idYesorganization_id

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'create CRM company.' It does not mention side effects, duplicate handling, idempotency, permissions, or response behavior. This is minimal transparency for a mutating operation.

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

Conciseness4/5

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

The description is extremely concise and wastes no words, with the core action front-loaded. It is arguably too terse for the complexity of the tool, but as a conciseness measure it is efficient and free of filler.

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

Completeness2/5

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

The tool has four parameters, two required ones, no annotations, and no output schema, yet the description only says 'create CRM company.' It omits what organization_id refers to, how domain and website relate to the company, and what the caller should expect after creation. An agent can guess the basic action but lacks enough context for confident invocation.

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 even without parameter details in the description. However, the schema descriptions are mostly tautological ('name', 'domain', 'website', 'organization_id'), adding little real semantic value. The description contributes no additional parameter-level meaning.

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

Purpose4/5

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

The description states a clear verb and resource: 'create CRM company.' The intent is unambiguous and distinct from sibling update/list/delete operations on companies. It does not explicitly contrast with sibling create tools, but the resource type is specific enough.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as commsharbor_crm_companies_update or commsharbor_crm_companies_list. It also does not mention prerequisites, such as needing an existing organization_id, or any related workflow context. The agent must infer usage entirely from the tool name.

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

commsharbor_crm_companies_deleteBInspect

delete CRM company.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYescompany_id
organization_idYesorganization_id

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'delete' and does not mention irreversibility, cascading effects, permissions, or side effects. The destructive nature is implied but not elaborated.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant wording. It says exactly what the tool does in the fewest possible words.

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

Completeness3/5

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

This is a simple delete tool with two required, fully described parameters, so the description together with the schema is minimally sufficient for invocation. However, it lacks context about return behavior, permanence, or any constraints, despite having no output schema or annotations.

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 required parameters are already documented. The description adds no additional meaning about how company_id and organization_id relate or should be used, but the schema sufficiently covers the basics.

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

Purpose4/5

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

The description clearly states the action and resource: 'delete CRM company.' It is specific enough to distinguish this delete operation from create, get, list, and update siblings, though it adds no scope or nuance beyond the tool name.

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 guidance is provided about when to use this tool versus alternatives, such as platform_crm_leads_delete or crm_companies_update. The description simply states the action without context, exclusions, or references to sibling tools.

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

commsharbor_crm_companies_getCInspect

get CRM company.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYescompany_id
organization_idYesorganization_id

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden, but 'get CRM company' only restates the operation and adds no behavioral detail about return shape, errors, permissions, or side-effect-free guarantees. It does at least convey that this is a retrieval rather than a mutation, but barely beyond the name.

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

Conciseness2/5

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

At four words, it is extremely brief, but this is under-specification rather than effective conciseness: there is no structured statement of purpose, scope, or constraints. A single bare clause does not earn its place as a useful specification.

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

Completeness2/5

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

No annotations, no output schema, and a one-clause description leave the agent without information about the return value, error behavior, or whether organization_id scopes the company lookup. The two required parameters are visible in the schema, but the surrounding context is incomplete for a tool call.

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 even though the parameter descriptions merely repeat the parameter names ('company_id', 'organization_id'). The tool description itself adds no extra meaning such as the relationship between the two IDs or how they are used.

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 verb 'get' plus resource 'CRM company' clearly specifies a read operation targeting a single company, distinguishing it from siblings like crm_companies_list, create, update, and delete. However, it does not elaborate on what is returned or that lookup is by the two identifiers, so it stops short of a fully rich purpose statement.

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

Usage Guidelines2/5

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

There is no guidance about when to choose this tool over alternatives; it does not mention crm_companies_list for bulk retrieval or note prerequisites such as having valid company and organization IDs. The agent must infer usage from the tool name and schema.

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

commsharbor_crm_companies_listCInspect

list CRM company.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoq
limitNoPage size from 1 to 100
cursorNoOpaque cursor returned by the previous page
organization_idYesorganization_id

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses only that companies are listed — nothing about pagination despite the cursor/limit parameters, result ordering, the filtering behavior of q, or how results are scoped to the organization.

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

Conciseness3/5

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

Three words with zero waste and the action front-loaded. But this is under-specification rather than effective conciseness — the single sentence fails to say anything meaningful about a 4-parameter tool's behavior.

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

Completeness2/5

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

With no annotations and no output schema, the description is the only behavioral source and it is nearly empty. The required organization_id and ambiguous q parameter are effectively undocumented, and the result shape is undisclosed. The schema's limit/cursor entries are the only real contributions.

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 tool description itself adds nothing about parameters. While limit and cursor have genuinely informative schema descriptions, q and organization_id are tautological ("q" and "organization_id"), so the schema only partially compensates.

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

Purpose3/5

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

"list CRM company." identifies the verb (list) and resource (CRM company), which distinguishes it from sibling company CRUD operations (create/get/update/delete). However, it is grammatically awkward (singular "company" for a list operation) and provides no detail about scope or what a company record contains.

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 guidance on when to use this tool over alternatives. It does not mention the required organization_id scoping, the distinction from commsharbor_crm_companies_get, or the platform-level list variants (e.g., commsharbor_platform_crm_leads_list). An agent must infer usage entirely from the tool name.

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

commsharbor_crm_companies_updateCInspect

update CRM company.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoname
domainNodomain
websiteNowebsite
company_idYescompany_id
organization_idYesorganization_id

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It merely says 'update' and does not clarify whether this is a partial update, whether unspecified fields are preserved, what permissions are needed, whether the operation is idempotent, or what response behavior to expect.

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

Conciseness2/5

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

The description is a single short sentence, so it is structurally compact, but it is under-specified rather than meaningfully concise. It does not earn its place beyond rephrasing the tool name.

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

Completeness2/5

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

For a mutation tool with five parameters, required identifiers, no annotations, and no output schema, this description is far from complete. The agent cannot infer the effect of omitting name/domain/website, the response shape, or any constraints around the identifiers.

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 property names like name, domain, website, company_id, and organization_id are self-explanatory at a basic level. However, the schema descriptions are trivial labels, and the tool description adds nothing about which optional fields are actually updatable or how partial updates behave.

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

Purpose3/5

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

The description states the verb 'update' and the resource 'CRM company', so an agent can tell this is a mutation of a company record. However, it mostly restates what the tool name already encodes and adds no scope, updatable fields, or distinguishing context versus the many sibling CRM tools.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus commsharbor_crm_companies_create, commsharbor_crm_companies_delete, commsharbor_crm_companies_get, or commsharbor_crm_companies_list. No prerequisites, alternatives, or exclusions are mentioned; the only hint is the verb 'update', which is already in the tool name.

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

commsharbor_crm_contacts_createBInspect

create CRM contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesemail
company_idNocompany id
first_nameYesfirst name
organization_idYesorganization_id

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'create CRM contact,' which reveals the basic mutation but does not mention response behavior, duplicate handling, organization scoping, or consequences of the create operation.

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

Conciseness4/5

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

The description is highly concise and free of filler, delivering the core action in three words. It is not padded, though it could have been slightly more informative without harming clarity.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the one-sentence description is thin. It does not state what the create operation returns, whether existing contacts with the same email are affected, or that organization_id is required beyond what the schema already lists. More context is needed given the many sibling CRM and import tools.

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 parameters (email, company_id, first_name, organization_id) are already documented in the input schema. The description adds no additional meaning about formats, constraints, or relationships between parameters, 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?

The description 'create CRM contact' uses a specific verb and resource, clearly stating the tool's function. It distinguishes this tool from siblings like crm_contacts_update, crm_contacts_delete, and crm_contacts_list by specifying the create action on a contact.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives such as commsharbor_contact_import_confirm for bulk imports or commsharbor_crm_contacts_update for modifying existing contacts. The description provides no exclusions, prerequisites, or context to help an agent choose correctly.

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

commsharbor_crm_contacts_deleteCInspect

delete CRM contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYescontact_id
organization_idYesorganization_id

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the burden for behavioral disclosure, but 'delete CRM contact' only conveys that a destructive mutation occurs. It does not state whether deletion is permanent, whether it cascades to related records such as activities or deals, which permissions are required, or what the success response is.

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

Conciseness4/5

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

The description is a single four-word sentence with no filler and the action verb is front-loaded. It is concise to the point of being terse, but it does not waste any words.

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

Completeness2/5

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

For an irreversible mutation tool with no annotations and no output schema, this is incomplete. An agent cannot know whether the delete is soft or hard, what happens to associated CRM data, or what indicates a successful delete, so extra context such as 'permanently removes' or 'cannot be undone' is needed.

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?

The schema covers both parameters at 100%, so the baseline is 3. The descriptions 'contact_id' and 'organization_id' are tautological and the tool description adds no further parameter meaning, but an agent can still infer that organization_id scopes the deletion and contact_id identifies the record.

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 the verb 'delete' and the resource 'CRM contact' directly, so an agent can tell this operation apart from crm_contacts_get/list/create/update. It is clear, though it does not go beyond the tool name to explain what 'CRM contact' means or how this relates to the platform_crm_contact siblings.

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 or when-not-to-use guidance is provided. The description does not mention confirming the contact exists first, nor does it contrast this tool with crm_contacts_update or any archive/soft-delete alternative.

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

commsharbor_crm_contacts_getCInspect

get CRM contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYescontact_id
organization_idYesorganization_id

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior. It only restates the operation implied by the tool name ('get') and adds no detail about return shape, not-found behavior, organization scoping, or whether any side effects occur. The description is too thin to meaningfully inform an agent beyond what the name already suggests.

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

Conciseness4/5

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

The description is a short, front-loaded sentence with no filler or redundant words. Every word contributes to identifying the operation and resource. It could be more informative without becoming bloated, but as far as conciseness goes it is efficient.

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

Completeness3/5

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

For a simple two-parameter retrieval tool, the description is minimally viable: an agent can infer that the tool fetches a CRM contact and that organization_id and contact_id are needed. However, with no output schema and no annotations, the absence of explicit return or error behavior is a noticeable gap. It is adequate but not complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3 even though the tool description adds nothing about parameters. The property descriptions are tautological ('contact_id' and 'organization_id'), but the names are self-explanatory and the required fields clearly identify the target contact. The tool description provides no additional semantic 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?

The description uses a specific verb and resource: 'get CRM contact.' This clearly indicates retrieval of a single CRM contact and is distinguishable from sibling tools like create, update, delete, and list operations. It does not explicitly differentiate from closely related get variants, but the singular resource plus required contact_id makes intent reasonably clear.

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

Usage Guidelines2/5

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

The description gives no guidance on when to choose this tool over alternatives such as commsharbor_crm_contacts_list, commsharbor_crm_contacts_create, or commsharbor_crm_contacts_update. It does not mention context, exclusions, or when a sibling tool would be more appropriate. An agent must infer usage purely from naming conventions.

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

commsharbor_crm_contacts_listCInspect

list CRM contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoq
limitNoPage size from 1 to 100
cursorNoOpaque cursor returned by the previous page
company_idNocompany_id
organization_idYesorganization_id

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'list', which hints at a read operation, but it does not disclose pagination behavior, required organization scoping, potential filters, or anything about the response shape.

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

Conciseness3/5

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

The description is very short and free of filler, but it is under-specified for a tool with five parameters and pagination. It is concise in length but not appropriately informative.

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

Completeness2/5

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

With no annotations, no output schema, and pagination/filter parameters, this list endpoint needs at least a sentence about result format, pagination, or scoping. The one-sentence description leaves an agent guessing about how to correctly invoke and page through the 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 coverage is nominally 100%, so the baseline applies. The description itself adds no meaning beyond the schema, and several schema descriptions are tautological ('q', 'company_id', 'organization_id'), though 'limit' and 'cursor' are adequately described.

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 clear verb ('list') and resource ('CRM contact'), making the basic operation understandable. However, it largely restates the tool name and does not add distinguishing detail relative to sibling tools like crm_contacts_get or crm_contacts_export.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives such as crm_contacts_get, crm_contacts_export, or platform_crm_leads_list. The only implied context is 'when you want a list', with no conditions, exclusions, or selection criteria.

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

commsharbor_crm_contacts_updateCInspect

update CRM contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoemail
company_idNocompany id
contact_idYescontact_id
first_nameNofirst name
organization_idYesorganization_id

TDQS

C2.7/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. It signals mutation via 'update' but does not clarify whether this is a partial update, whether omitted optional fields are cleared, whether the contact must already exist, what permissions are needed, or what the response contains.

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

Conciseness2/5

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

The description is short and free of filler, but it is under-specified rather than appropriately concise. A six-word phrase that essentially restates the tool name does not provide enough structure or content for a five-parameter mutation tool.

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

Completeness2/5

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

This is a mutating tool with five parameters, no output schema, and no annotations, so the description needs to supply meaningful context. It does not explain when to use it, what behavior to expect, what the return value is, or any edge cases, leaving the agent to rely almost entirely on the bare 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?

The input schema covers 100% of the parameters with at least minimal descriptions, so the baseline is 3. The description itself adds no extra semantic detail about parameters such as email uniqueness, field overwrite behavior, or relationships between organization_id and contact_id.

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

Purpose4/5

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

The description states the verb 'update' and the resource 'CRM contact,' which clearly identifies the core action and distinguishes it from sibling tools like create, get, list, and delete for CRM contacts. However, it adds almost no detail beyond what the tool name already conveys, so it is clear but not richly informative.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as com...crm_contacts_create, com...crm_contacts_get, or com...crm_contacts_delete. The word 'update' implies modifying an existing contact, but the description does not mention prerequisites, exclusions, or situations where a different CRM tool would be more appropriate.

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

commsharbor_crm_deals_createCInspect

create CRM deal.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYestitle
currencyNocurrency
stage_idYesstage id
pipeline_idYespipeline id
value_minorNovalue_minor
organization_idYesorganization_id

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only restates that the tool creates a deal and does not disclose whether valid pipeline/stage references are required, what side effects occur, whether the operation is idempotent, or what response the caller can expect.

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

Conciseness4/5

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

The description is a single short sentence with no filler or structural waste. It is easy to parse, though the brevity borders on under-specification rather than effective conciseness.

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

Completeness2/5

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

With six parameters, four required, no annotations, and no output schema, the description is insufficiently complete. An agent cannot infer valid value sources, required relationships among the parameters, or what successful creation returns.

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 all six parameters. The description adds no further meaning about parameter relationships, value_minor units, currency format, or how organization_id, pipeline_id, and stage_id interact.

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 the action ('create') and the resource ('CRM deal'), making the core purpose clear. It distinguishes from sibling get/list/update/delete tools via the create verb, though it does not define the deal scope beyond the tool name.

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 guidance is provided about when to use this tool versus alternatives such as crm_deals_update, crm_deals_list, or platform_crm_deals_create. There is also no mention of preconditions like needing an existing organization, pipeline, or stage.

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

commsharbor_crm_deals_deleteCInspect

delete CRM deal.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesdeal_id
organization_idYesorganization_id

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it only states the word 'delete.' It does not mention whether the deletion is permanent or reversible, whether it cascades to related records, what permissions are required, or what response to expect.

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

Conciseness2/5

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

The description is a single short sentence with no wasted words, but it is under-specified rather than appropriately concise. It provides no information beyond what the tool name already conveys, so the sentence does not earn meaningful value.

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

Completeness2/5

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

For a destructive operation with no annotations and no output schema, the description is far too thin. It does not explain the role of organization_id, the consequences of deleting a deal, error behavior, or any safety considerations, leaving an agent with only the raw parameter names to infer how to call it 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 parameter names are each documented in the schema, even if only by echoing the parameter name. The tool description itself adds no parameter-level meaning, but the high schema coverage justifies the baseline score of 3.

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

Purpose2/5

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

The description 'delete CRM deal' is essentially a word-for-word expansion of the tool name commsharbor_crm_deals_delete. It names the action and resource clearly but adds no distinguishing detail, scope, or qualifier, and does not help differentiate it from sibling delete operations.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as commsharbor_crm_contacts_delete, commsharbor_crm_activities_delete, or other CRM delete tools. There are no conditions, exclusions, or hints about prerequisites for deletion.

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

commsharbor_crm_deals_getCInspect

get CRM deal.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesdeal_id
organization_idYesorganization_id

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'get CRM deal.' does not explain the response format, error behavior, authentication requirements, or side-effect-free read behavior. It adds no behavioral context beyond what the tool name already implies.

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

Conciseness3/5

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

The description is extremely short and front-loaded, but this is under-specification rather than effective conciseness. It contains no filler, yet it also fails to provide useful context beyond the tool name.

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

Completeness2/5

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

For a tool with two required parameters, no annotations, and no output schema, the description is insufficiently complete. It does not mention return value shape, not-found behavior, or the role of organization_id, leaving an agent to infer most behavior from the name and parameter names alone.

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% for both required parameters, reaching the high-coverage baseline. However, the schema descriptions are just 'deal_id' and 'organization_id', and the tool description adds no extra meaning about why both are required or how they relate. The baseline of 3 applies, but the description itself contributes no parameter clarity.

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 clear verb and resource: 'get CRM deal.' It unambiguously identifies the operation as retrieving a single CRM deal, and the singular 'deal' distinguishes it from list-style operations. It does not explicitly describe how it differs from sibling tools, but the core purpose is not vague.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives like commsharbor_crm_deals_list, commsharbor_crm_deals_update, or commsharbor_crm_deals_delete. There are no prerequisites, exclusions, or scenario-based selection cues.

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

commsharbor_crm_deals_listCInspect

list CRM deal.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoq
limitNoPage size from 1 to 100
cursorNoOpaque cursor returned by the previous page
statusNostatus
stage_idNostage_id
pipeline_idNopipeline_id
organization_idYesorganization_id

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden of behavioral disclosure. It only says 'list CRM deal' and does not describe return format, pagination behavior, filtering semantics, organization scoping, or whether the operation is read-only. It adds minimal behavioral context beyond the tool name.

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

Conciseness2/5

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

The description is short, but brevity here reflects under-specification rather than disciplined conciseness. It is a single vague phrase with no structured breakdown of behavior, filters, or usage context, so it does not earn a higher score.

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

Completeness2/5

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

With 7 parameters, no output schema, and no annotations, a one-phrase description is inadequate. The agent is not told which parameters are filters, that organization_id is required, what the list contains, or what the response shape looks like. The description leaves too many essential details unresolved.

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

Parameters2/5

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

Although schema coverage is nominally 100%, most parameter descriptions are tautological (e.g., 'q': 'q', 'status': 'status', 'organization_id': 'organization_id'). The tool description adds no explanation of how parameters interact, what filters mean, or how cursor pagination works, so the agent is left with unhelpful placeholder semantics.

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 action ('list') on a specific resource ('CRM deal'), which distinguishes it from sibling tools like crm_deals_get, crm_deals_create, and crm_deals_update. However, it is terse and uses singular 'deal' rather than describing a collection, so it does not fully articulate scope or response behavior.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no context about filtering or pagination. An agent must infer usage purely from the tool name and schema.

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

commsharbor_crm_deals_updateCInspect

update CRM deal.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNotitle
deal_idYesdeal_id
currencyNocurrency
stage_idNostage id
pipeline_idNopipeline id
value_minorNovalue_minor
organization_idYesorganization_id

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Update' signals mutation, but the description does not disclose permissions, partial-update semantics, side effects, or whether an existing deal must already exist.

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

Conciseness2/5

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

The description is very short and has no wasted words, but this is under-specification rather than effective conciseness. A single generic sentence is not appropriately sized for a 7-parameter mutation tool.

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

Completeness2/5

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

For a mutation tool with 7 parameters, no annotations, and no output schema, the description should explain update behavior, required identifiers, and how it differs from sibling tools. It provides none of that, leaving an agent to infer the full contract.

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 even though the tool description adds no parameter meaning. The schema's property descriptions are mostly tautological ('title: title'), and the description does not clarify that organization_id and deal_id identify the target deal.

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 clear verb ('update') and resource ('CRM deal'), so an agent can tell this is a mutation operation on deals. However, it is generic and does not distinguish this tool from similar siblings like commsharbor_crm_deals_create or commsharbor_platform_crm_deals_update.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives such as deal creation, listing, or retrieval. No context, prerequisites, or exclusions are provided to help an agent choose correctly.

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

commsharbor_crm_pipelines_createCInspect

create CRM pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesname
stagesNo
organization_idYesorganization_id

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but 'create CRM pipeline' only restates the obvious action. It does not mention side effects, required preconditions like an existing organization, validation behavior, idempotency, or what the response contains.

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

Conciseness3/5

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

The description is a single efficient sentence with no fluff, which is good, but it is also under-specified. It earns its place without wasted words, yet it is not sufficiently informative for the tool it describes.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and several parameters, this description is too thin. It omits behavioral context, the meaning of stages, and return expectations, leaving the agent to rely almost entirely on the name and schema.

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

Parameters2/5

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

Schema coverage is 67%, but the existing descriptions are unhelpful tautologies: 'name' and 'organization_id'. The tool description adds nothing about parameters, and the optional 'stages' array is left entirely unexplained. The schema provides structure, but the description does not compensate for the missing semantic detail.

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 'create CRM pipeline' names a specific verb and resource, and it clearly differentiates this tool from sibling pipeline tools like commsharbor_crm_pipelines_get, list, update, and delete. It is minimal but genuinely states what the tool does.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. An agent has to infer from the tool name and sibling list that this is the creation action; there is no explicit context about when to choose create over update or delete.

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

commsharbor_crm_pipelines_deleteCInspect

delete CRM pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_idYespipeline_id
organization_idYesorganization_id

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. Saying 'delete' implies a destructive operation, but the description does not state whether deletion is permanent or reversible, whether it cascades to associated stages or deals, whether it is idempotent, or what permissions are required. For a destruction tool this is a significant gap.

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

Conciseness3/5

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

The description is three words with zero wasted content, and the action is front-loaded. However, it is so minimal that it borders on under-specification — there is no information beyond what the tool name already conveys, so the description earns little independent value.

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

Completeness2/5

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

With no output schema, no annotations, and only a terse description, the tool is incomplete for a destructive operation. An agent would not know what the call returns on success/failure, whether deletion is permanent or cascades, or any safety considerations. The simple 2-parameter schema lowers the bar, but a deletion tool should disclose side effects.

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% (both pipeline_id and organization_id have descriptions), so the schema already documents the parameters. The description adds no additional meaning about how the parameters relate (e.g., that pipeline_id is scoped within organization_id or how to obtain valid IDs). Baseline 3 applies because the schema carries the load.

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 'delete CRM pipeline.' uses a specific verb (delete) and resource (CRM pipeline), clearly identifying the operation. It inherently distinguishes from sibling tools like commsharbor_crm_pipelines_create, _get, _list, and _update, since 'delete' states the exact action. However, it gains no additional precision from the title (null) and offers no elaboration on what a pipeline deletion entails.

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 guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or distinguish this from other delete tools in the sibling set (e.g., crm_pipelines_delete vs crm_stages_delete vs crm_deals_delete). An agent must infer usage entirely from the tool name.

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

commsharbor_crm_pipelines_getCInspect

get CRM pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_idYespipeline_id
organization_idYesorganization_id

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. 'Get' implies a read-only operation, but the description does not explain what is returned, whether authentication is required, how errors are handled, or any side effects. This is minimal transparency.

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

Conciseness3/5

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

The description is short and contains no fluff, but it is under-specified. A single sentence that only repeats the resource name is concise in length but not in content, leaving important context about scope and behavior unstated.

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

Completeness2/5

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

For a tool with no output schema and no annotations, the description should state what the tool returns or what 'get' means in terms of response behavior. It does not mention return shape, data included, or any caveats. The two required parameters are clear from the schema, but the overall definition is incomplete for an agent invoking it blindly.

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 both parameters. The description itself adds no semantic detail beyond the schema, but the parameter names 'pipeline_id' and 'organization_id' are self-explanatory in context. This meets the baseline for a get-by-ID operation.

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 clear verb ('get') and a specific resource ('CRM pipeline'), and the singular form distinguishes it from sibling 'commsharbor_crm_pipelines_list'. However, it does not explicitly say that it retrieves a single pipeline by pipeline_id, and it largely restates the tool name without adding detail.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives such as list, create, update, or delete. There is no mention of prerequisites, how it differs from the list operation, or any conditions that would make this tool the right choice.

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

commsharbor_crm_pipelines_listCInspect

list CRM pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoq
limitNoPage size from 1 to 100
cursorNoOpaque cursor returned by the previous page
organization_idYesorganization_id

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'list CRM pipeline' only restates the obvious read-oriented action and fails to disclose behavior around pagination, cursor usage, limit defaults, search filtering via 'q', or output shape.

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

Conciseness4/5

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

The description is extremely short and front-loaded, with no wasted words. It is appropriately sized for a simple list operation, though it borders on under-specification by omitting useful context.

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

Completeness2/5

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

With no output schema, no annotations, and a four-parameter input schema, a one-line description is not enough. The agent is left without return-value expectations, pagination behavior, or clarification of what 'pipeline' means in this CRM context.

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 even though the description adds no parameter-level detail. The schema already names organization_id, q, limit, and cursor, but their descriptions are terse (e.g., 'q' and 'organization_id'), so the description could have added meaningful semantics but did not.

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 ('list') and identifies the resource ('CRM pipeline'), which distinguishes it from sibling operations like create, get, update, and delete. It could be slightly clearer by saying 'pipelines' plural and noting what scope is returned, but the core purpose is unambiguous.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus the many sibling tools. It does not mention that this should be used to retrieve multiple pipelines rather than a single pipeline via commsharbor_crm_pipelines_get, nor does it explain any filtering or pagination context.

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

commsharbor_crm_pipelines_updateCInspect

update CRM pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoname
stagesNo
pipeline_idYespipeline_id
organization_idYesorganization_id

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'update,' which implies mutation, but does not explain whether this is a partial or full update, whether stages are replaced, what permissions are needed, or what the response is. This is minimal transparency and leaves important behavioral details unknown.

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

Conciseness2/5

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

The description is short, but it is under-specified rather than efficiently structured. It is a single fragment that mostly restates the tool name, so it does not earn its place by adding useful information. There is no structure that helps an agent parse what is being updated or how.

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

Completeness2/5

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

With no annotations and no output schema, the description alone is the only narrative context, and it is far from complete. It does not explain the update semantics, the role of the four parameters, or what the agent should expect after calling the tool. The required parameters in the schema help, but the overall definition is insufficient for confident invocation.

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

Parameters2/5

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

The schema descriptions are mostly tautological ('name': 'name', 'pipeline_id': 'pipeline_id'), and the stages parameter has no description. The tool description does not mention any parameters or clarify that name and stages are the updatable fields while organization_id and pipeline_id identify the target. At 75% schema description coverage, the existing descriptions add little real semantic value.

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

Purpose3/5

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

The description states a clear verb and resource ('update CRM pipeline'), so an agent can tell this is a mutation tool for pipelines. However, it does not specify what aspects of the pipeline can be updated, such as name or stages, and it largely restates the tool name without adding meaningful detail. It is not misleading, but it is vague about scope.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus the many sibling tools such as commsharbor_crm_pipelines_create, commsharbor_crm_pipelines_delete, or commsharbor_crm_pipelines_get. There is no mention of prerequisites, required existing pipeline, or when not to use this tool. The only implied usage is the verb 'update.'

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

commsharbor_crm_stages_createCInspect

create CRM stage.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesname
positionNoposition
pipeline_idYespipeline_id
probabilityNoprobability
organization_idYesorganization_id

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of explaining behavior. It only says 'create CRM stage,' which conveys mutation but nothing about required relations, idempotency, duplicate handling, default positioning, or what happens after creation. This is minimal disclosure for a write operation.

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

Conciseness4/5

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

The description is extremely compact with no filler or redundant phrasing. It is front-loaded with the action and object. It does sacrifice useful context for brevity, but for pure conciseness and simple structure it is effective.

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

Completeness2/5

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

For a 5-parameter creation tool with no annotations and no output schema, the description is far too thin. It does not explain that a stage belongs to a pipeline, that organization and pipeline identifiers are required, what optional fields like position and probability mean, or what the expected result is. The schema captures parameter names but not the operational context needed to confidently call the 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 the baseline is 3 even though the description adds no parameter-level meaning. The parameter descriptions are largely just field-name repetitions, but the required fields organization_id, pipeline_id, and name are at least listed. The description itself does not explain why these are needed or how position and probability behave.

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 clear action and resource: 'create CRM stage.' This is a specific verb and object that distinguishes the tool from stage retrieval, update, deletion, and list operations. However, it adds no detail beyond what the tool name itself already communicates, 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 Guidelines2/5

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

The description gives no guidance about when to use this tool versus alternatives, such as crm_stages_update or crm_pipelines_create. There is also no mention of prerequisites like needing an existing pipeline before creating a stage. Usage context is left entirely to the agent's inference.

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

commsharbor_crm_stages_deleteCInspect

delete CRM stage.

ParametersJSON Schema
NameRequiredDescriptionDefault
stage_idYesstage_id
pipeline_idYespipeline_id
organization_idYesorganization_id

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior. It only says 'delete', which implies a destructive operation, but it does not state whether the deletion is permanent, whether it cascades to related deals, or what side effects or permissions are involved.

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

Conciseness3/5

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

The description is extremely short and contains no fluff, but it is so minimal that it borders on under-specification. There is no structure beyond a single terse sentence, so it is appropriately concise but not meaningfully informative.

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

Completeness2/5

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

For a destructive mutation with no annotations, no output schema, and three required identifiers, the description is incomplete. It fails to mention what happens to the stage's associated data, whether the deletion is reversible, or how the three IDs scope the operation.

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 even though the description adds no parameter-level meaning. The individual parameter descriptions in the schema merely repeat the parameter names and do not explain relationships or constraints beyond the three required IDs.

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 the specific verb 'delete' and the resource 'CRM stage', which clearly differentiates it from the sibling stage tools like create, get, list, and update. However, it is a near-verbatim restatement of the tool name and omits the organizational/pipeline context implied by the required parameters.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of the other CRM stage operations, and no prerequisites or conditions such as whether the stage must be empty, whether deals need to be reassigned, or if deletion is restricted. The only usage signal is the verb 'delete' itself.

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

commsharbor_crm_stages_getCInspect

get CRM stage.

ParametersJSON Schema
NameRequiredDescriptionDefault
stage_idYesstage_id
pipeline_idYespipeline_id
organization_idYesorganization_id

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. 'get' implies a read operation, but the description does not mention side effects, return shape, error behavior, or required permissions. With no output schema, this leaves significant behavioral ambiguity.

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

Conciseness3/5

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

The description is very short with no filler, so it is easy to scan and front-loaded. But it is under-specified for a tool with three required parameters and no output schema; conciseness comes at the cost of missing useful details.

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

Completeness2/5

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

With no output schema and no annotations, the description should at least indicate what is returned and how the required IDs identify a stage. It does neither. An agent can infer mechanics from parameter names, but the description is not complete enough to reliably drive correct use.

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%, which sets the baseline at 3. However, the parameter descriptions are merely the parameter names repeated, and the main description adds no explanation of how organization_id, pipeline_id, and stage_id relate to identify the target stage. The description contributes no additional parameter meaning.

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

Purpose4/5

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

The description states a specific operation ('get') and a specific resource ('CRM stage'), so the purpose is not vague. It is clear that this tool retrieves a single stage, but it does not explicitly differentiate itself from siblings like commsharbor_crm_stages_list, leaving some distinction to be inferred from the naming convention.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as commsharbor_crm_stages_list, commsharbor_crm_stages_create, or commsharbor_crm_stages_update. It states neither prerequisites nor exclusion cases, so an agent must guess usage from the tool name and input schema.

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

commsharbor_crm_stages_listCInspect

list CRM stage.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size from 1 to 100
cursorNoOpaque cursor returned by the previous page
pipeline_idYespipeline_id
organization_idYesorganization_id

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'List' implies a read-only operation, but nothing is revealed about pagination defaults, ordering, how stages are scoped to an organization/pipeline, or what the response contains. The description conveys the operation type but none of the behavioral traits an agent needs to invoke it correctly.

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

Conciseness3/5

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

At three words, the description is maximally brief, but this is under-specification rather than disciplined conciseness. The phrase 'list CRM stage' is grammatically malformed (singular/plural mismatch) and omits essential context in favor of brevity. It is short enough to be scannable, but the sentence structure is sloppy.

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

Completeness2/5

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

For a tool with 4 parameters (2 required), pagination controls, no annotations, no output schema, and a large sibling family, a three-word description is inadequate. The agent is left without knowledge of the return shape, whether the result is scoped to a pipeline, or how limit/cursor pagination behaves. The required pipeline_id strongly implies pipeline-scoped listing, but the description never states 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 description coverage is 100%, so the agent can read the parameter meanings directly from the schema, establishing a baseline of 3. The description itself adds no parameter insight—it never mentions organization_id, pipeline_id, limit, or cursor. The schema's own descriptions are somewhat circular (e.g., 'pipeline_id' as the description of pipeline_id), but that gap is outside the description's scope.

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

Purpose2/5

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

The description 'list CRM stage' is a near-tautology that restates the tool name (commsharbor_crm_stages_list). It uses the singular 'stage' for what is clearly a plural list operation and does not distinguish this tool from siblings like commsharbor_crm_stages_get or commsharbor_crm_pipelines_list. The verb and resource are present, but the description adds no clarifying scope, such as stages being tied to a pipeline.

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

Usage Guidelines2/5

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

The description provides zero guidance on when to use this tool versus alternatives. It does not mention that this lists multiple stages while commsharbor_crm_stages_get retrieves a single one, nor does it reference the required pipeline context. No exclusions, no alternatives, and no conditions are given.

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

commsharbor_crm_stages_updateCInspect

update CRM stage.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoname
positionNoposition
stage_idYesstage_id
pipeline_idYespipeline_id
probabilityNoprobability
organization_idYesorganization_id

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'update CRM stage' merely restates the tool name and reveals nothing about partial vs. full updates, side effects, required identifiers, permissions, or response behavior.

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

Conciseness2/5

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

The description is extremely short, but this is under-specification rather than effective conciseness. It omits essential behavioral and usage context for a six-parameter update operation.

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

Completeness1/5

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

With six parameters, no annotations, no output schema, and only the phrase 'update CRM stage,' the description is completely inadequate for an agent to invoke the tool correctly. It does not explain which fields are updatable, what is required, or what the operation returns.

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 even though the description itself adds no parameter-level meaning. However, the parameter descriptions in the schema are self-referential ('name': 'name', 'position': 'position'), so little real semantic value is added anywhere.

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 clear verb and resource: 'update CRM stage.' It is unambiguous about the operation and object, though it does not differentiate from sibling stage tools beyond the verb itself.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus related tools such as crm_stages_create, crm_stages_delete, crm_stages_get, or crm_stages_list. The description provides no contextual selection criteria.

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

commsharbor_crm_tasks_createCInspect

create CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYestitle
statusNostatus
deal_idNodeal id
organization_idYesorganization_id

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden and only says 'create CRM task.' It discloses no side effects, permissions, organizational scoping, validation behavior, or return value, adding little beyond the tool name.

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

Conciseness3/5

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

The description is a single short sentence with no wasted words, but it is under-specified rather than efficiently detailed. It is not bloated, but it lacks the contextual content needed to be a well-rounded description.

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

Completeness2/5

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

For a create tool with 4 parameters, no output schema, and no annotations, the description should clarify what a CRM task is, which fields are meaningful (deal_id relation, status options), and what happens on success. The current description is too sparse to support correct invocation beyond the required fields visible 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 coverage is 100%, so the baseline is 3 even though the description itself adds no parameter meaning. The schema descriptions are mostly labels ('title', 'status', 'deal id', 'organization_id'), so the agent gets limited semantic help, but this is a schema-level weakness rather than a description-level failure.

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 ('create') and resource ('CRM task'), making the core action clear. However, it does not distinguish this tool from the similar sibling commsharbor_platform_crm_tasks_create, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as commsharbor_crm_tasks_update or the platform-scoped variant. Usage must be inferred entirely from the tool name.

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

commsharbor_crm_tasks_deleteCInspect

delete CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYestask_id
organization_idYesorganization_id

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'delete CRM task.' It does not state whether the deletion is permanent, whether it has cascading effects, what permissions are required, or what the response will be.

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

Conciseness4/5

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

The description is extremely concise and front-loaded, with no filler or unnecessary detail. It is appropriately sized for a simple delete operation, though it largely restates the tool name.

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

Completeness3/5

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

For a simple delete with two clearly required parameters and no output schema, the description is minimally adequate. However, it omits important context such as irreversibility, scoping guarantees, and any side effects, which matters more because no annotations exist.

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?

The input schema has 100% coverage, so the schema documents both task_id and organization_id. The description adds no additional meaning beyond the schema; it merely implies which resource is being targeted.

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 clear verb and resource: 'delete CRM task.' It clearly identifies the operation and object, and the tool name reinforces that. However, it does not explicitly distinguish itself from closely related sibling tools such as commsharbor_platform_crm_tasks_delete.

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 guidance is provided about when to use this tool versus alternatives. The description does not mention conditions, exclusions, or relationships to sibling tools, leaving the agent to infer usage solely from the name.

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

commsharbor_crm_tasks_getCInspect

get CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYestask_id
organization_idYesorganization_id

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'get', which weakly implies a read operation, but it does not mention read-only behavior, response format, error conditions, authentication needs, or what the returned task object contains.

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

Conciseness4/5

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

The description is a single short, front-loaded sentence with no filler or redundant clauses. It is concise, though its brevity comes at the cost of useful operational context.

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

Completeness2/5

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

The tool is simple, but the description omits key context: that it retrieves a single task by task_id within an organization, what the response looks like, and how it differs from the closely named commsharbor_platform_crm_tasks_get sibling. The absence of output schema means more descriptive burden falls on the description, which is unmet.

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 both required parameters. The description adds no parameter-level meaning beyond what the schema provides, which aligns with the baseline score of 3 for high schema coverage.

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

Purpose2/5

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

The description 'get CRM task' is a near-verbatim restatement of the tool name commsharbor_crm_tasks_get, adding no new information. It does not differentiate this single-task retrieval from commsharbor_crm_tasks_list or the similarly named commsharbor_platform_crm_tasks_get.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives. Siblings such as commsharbor_crm_tasks_create, commsharbor_crm_tasks_list, and commsharbor_platform_crm_tasks_get exist, but the description provides no context for selection or exclusion.

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

commsharbor_crm_tasks_listCInspect

list CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoq
limitNoPage size from 1 to 100
cursorNoOpaque cursor returned by the previous page
statusNostatus
deal_idNodeal_id
contact_idNocontact_id
organization_idYesorganization_id
assignee_user_idNoassignee_user_id

TDQS

C2.8/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'list,' which implies a read operation, but does not mention pagination via limit/cursor, default ordering, filtering semantics, or response shape.

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

Conciseness3/5

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

The description is extremely short and front-loaded, which is economical. However, it mostly restates the tool name and omits useful operational context, making it under-specified rather than efficiently complete.

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

Completeness2/5

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

With eight parameters including filters and pagination, no output schema, and no annotations, a one-sentence description is far from sufficient. An agent cannot determine what each filter does, what a task contains, or how paging works.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no parameter-level meaning, and the schema descriptions are mostly tautological ('q' -> 'q', 'status' -> 'status'), but the high coverage means the description is not required to compensate.

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 clear verb ('list') and resource ('CRM task'), so the basic operation is understandable. However, it does not differentiate this tool from sibling commsharbor_platform_crm_tasks_list or adjacent crm_activities_list tools, and 'task' is left vague.

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 guidance is given about when to use this tool versus the platform-level tasks list or other CRM list tools. The required organization_id, filtering options, and pagination behavior are all left to inference from the schema.

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

commsharbor_crm_tasks_updateDInspect

update CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNotitle
statusNostatus
deal_idNodeal id
task_idYestask_id
organization_idYesorganization_id

TDQS

D1.9/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says "update CRM task," revealing nothing about whether this is a partial or full update, what fields can be changed, response behavior, permissions, side effects, or error conditions.

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

Conciseness2/5

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

The description is extremely short, but this is under-specification rather than effective conciseness. It contains a single sentence that conveys no information beyond the tool's name and fails to include anything about fields, parameters, or behavior.

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

Completeness1/5

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

With 5 parameters, no annotations, no output schema, and a large sibling set, the description is far too minimal to be complete. It does not explain update semantics, required identifiers, return values, or how this differs from the platform-level CRM task update sibling.

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 has at least a minimal description in the input schema. The tool description adds no parameter-level meaning, but the high coverage sets a baseline of 3 even though the schema descriptions themselves are quite terse.

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

Purpose2/5

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

The description "update CRM task." simply restates the tool name (crm_tasks_update) in natural language, so it is essentially tautological. It identifies the action and resource but adds no scope, field-level detail, or distinction from the similar sibling commsharbor_platform_crm_tasks_update.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives such as commsharbor_crm_tasks_create, commsharbor_crm_tasks_get, or commsharbor_platform_crm_tasks_update. The description provides no context, prerequisites, or conditions for use.

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

commsharbor_data_export_createCInspect

Create a seven-day tenant JSON export.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states that an export is created. It does not disclose whether the export is asynchronous, whether a job ID is returned, how long the export remains available, or whether this operation has side effects or replaces existing exports.

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

Conciseness5/5

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

The description is a single, concise sentence with no filler. The key action and resource are front-loaded, making it immediately clear what the tool does.

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

Completeness2/5

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

For a tool with no output schema and no annotations, the description omits important workflow context. The sibling commsharbor_data_export_download strongly suggests a follow-up step, but the description never tells the agent that the export is created separately and must be downloaded later, nor what the response contains.

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 only parameter, organization_id, is already described as 'Active organization ID.' The description adds no additional meaning about how the organization_id affects the export, but since the schema fully documents the parameter, the baseline of 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb, 'Create', and a specific resource, 'a seven-day tenant JSON export,' which clearly distinguishes it from related tools like commsharbor_data_export_download and commsharbor_data_exports. It is not a tautology and adds detail about the export's scope and format.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as commsharbor_data_export_download or commsharbor_data_exports. It does not mention that this creates a job that must later be downloaded, nor does it exclude other export paths like commsharbor_contacts_export.

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

commsharbor_data_export_downloadCInspect

Download a tenant JSON export.

ParametersJSON Schema
NameRequiredDescriptionDefault
export_idYesTenant export ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Download' implies retrieval, but it does not explain whether this mutates state, what authentication/authorization is required, whether the response is raw JSON content or a file download, or how export lifecycle works.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no filler, which is easy to parse. It is concise, though it is perhaps too terse to carry the additional usage and behavior context that would make it fully informative.

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

Completeness2/5

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

There is no output schema and no annotations, so the description should explain what the caller receives and how the export_id is obtained. It only says 'Download a tenant JSON export,' leaving unclear whether the result is a JSON body, a link, or an attachment, and not connecting this tool to data_export_create/data_exports.

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 export_id as 'Tenant export ID' and organization_id as 'Active organization ID'. The description adds no parameter-level meaning beyond confirming the export is tenant JSON, so the schema is doing the work and 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 action ('Download') and resource ('a tenant JSON export'), so an agent knows what the tool does. It doesn't explicitly name sibling alternatives like data_export_create or data_exports, but the verb+resource makes the core purpose unambiguous.

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 guidance is given about when to use this tool instead of data_export_create, data_exports, contacts_export, or template_export. The description does not mention prerequisites such as first creating an export or looking up its export_id.

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

commsharbor_data_exportsBInspect

List tenant JSON exports.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description carries the behavioral burden. 'List' implies a read-only enumeration, but the description does not disclose pagination, result scope beyond the tenant, whether export statuses are returned, or any side-effect guarantees. For a tool with no annotation safety net, this is too little behavioral detail.

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

Conciseness5/5

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

The single sentence contains only the essential verb and resource and is front-loaded with the action. There is no filler or redundant restatement.

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

Completeness3/5

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

The tool is simple, with one required parameter fully documented by the schema, but there is no output schema and no description of what a returned export entry looks like or how this list relates to the create/download lifecycle. It is adequate for basic invocation but leaves material context gaps.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter is described as 'Active organization ID', so the schema already documents everything needed. The description adds no parameter detail, but no compensation is required; baseline 3 is appropriate.

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

Purpose4/5

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

The description 'List tenant JSON exports' uses a specific verb and resource, making the enumeration action clear. It is distinguishable from the sibling create/download export tools by verb and resource, though it does not explicitly contrast with them. Slight ambiguity remains about whether 'exports' refers to export jobs or files, so it falls short of a 5.

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

Usage Guidelines2/5

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

No guidance is provided on when to call this tool instead of commsharbor_data_export_create or commsharbor_data_export_download, nor on any prerequisites such as completing an export first. The implied use case is easy to guess but not stated.

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

commsharbor_dead_letter_replayBInspect

Replay one campaign or webhook dead letter.

ParametersJSON Schema
NameRequiredDescriptionDefault
record_idYesDead-letter record ID
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not explain what 'replay' does operationally: whether it resends a message, requeues the record, removes the dead letter, or has side effects such as sending emails or webhook payloads. The term 'replay' implies mutation, but its consequences are 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?

The description is a single, focused sentence with no redundant wording. It front-loads the action and clearly names the object being acted on, making it easy to scan and parse.

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

Completeness2/5

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

For a side-effecting action with no annotations and no output schema, the description is too thin. It does not indicate how to obtain the dead-letter record, what happens after replay, whether the operation can be undone, or how the result is observed. An agent would need additional context to confidently invoke this 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 parameters already have clear descriptions ('Dead-letter record ID' and 'Active organization ID'). The description adds no additional meaning beyond the schema, so the baseline score of 3 applies.

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

Purpose5/5

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

The description states a specific verb ('replay') and resource ('one campaign or webhook dead letter'), making the operation clear. It is also distinguishable from the sibling tool commsharbor_dead_letters, which presumably lists dead letters rather than replaying them.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives, no prerequisites, and no mention of when replay is appropriate. The description does not state whether the dead letter should first be inspected via commsharbor_dead_letters or what conditions justify replaying it.

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

commsharbor_dead_lettersCInspect

Inspect nominal dead letters.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Inspect' implies a read-only operation, but the description does not state what the returned data looks like, whether it lists all dead letters, or how it differs behaviorally from replaying them. It also does not disclose side effects, limits, or ordering.

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

Conciseness3/5

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

The description is very short and front-loaded, but it is terse to the point of under-specification. 'Inspect nominal dead letters' may be efficient, but it leaves important context unexplained and the word 'nominal' does not earn its place without definition.

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

Completeness2/5

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

There is no output schema and no annotations, so the description should explain enough about the invocation and expected result on its own. It identifies the resource and the required organization parameter, but it does not describe the return shape, whether this is a list or detail view, or the relationship with dead-letter replay. This is not complete enough for an agent to predict the behavior confidently.

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?

The schema already documents organization_id with 'Active organization ID' and has 100% description coverage, so the baseline is 3. The tool description adds no additional parameter-level meaning beyond what the schema 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?

The description states a clear verb, 'Inspect', and a clear resource, 'dead letters', so an agent can tell this is a read-style tool. It does not explicitly contrast with the sibling commsharbor_dead_letter_replay, but the inspect-versus-replay distinction is reasonably inferable. The modifier 'nominal' is unexplained and slightly weakens clarity.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as commsharbor_dead_letter_replay or the delivery-event tools. The description does not mention conditions, exclusions, or when a different tool would be more appropriate.

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

commsharbor_deletion_cancelAInspect

Cancel a scheduled tenant erasure.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesDeletion request ID
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral disclosure burden. 'Cancel a scheduled tenant erasure' only states the action; it does not disclose consequences, idempotency, prerequisites (e.g., whether the erasure has already started), 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?

The description is a single concise sentence with no filler words. The action verb is front-loaded, making the tool's primary behavior immediately visible.

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

Completeness3/5

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

The tool is low-conplexity with a fully documented 2-parameter schema, so a minimal description is workable. However, there is no behavioral context about cancellation limitations, idempotency, or what happens after cancellation, and no reference to related deletion tools; it is adequate but not rich.

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?

The input schema documents both required parameters fully: request_id as 'Deletion request ID' and organization_id as 'Active organization ID'. With 100% schema coverage, the baseline is 3; the description adds no additional parameter-monthly context such as how to obtain the request_id or the relationship between the parameters.

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

Purpose5/5

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

The description states a specific verb ('Cancel') and a specific resource ('a scheduled tenant erasure'), so an agent immediately knows the action and target. The word 'scheduled' also distinguishes it from siblings like commsharbor_deletion_request and commsharbor_deletion_schedule, which are about requesting or scheduling rather than canceling.

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 use case: cancel a tenant erasure that has been scheduled. However, it provides no explicit guidance on when not to use it, no alternatives, and no indication of how it relates to commsharbor_deletion_request or commsharbor_deletion_schedule.

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

commsharbor_deletion_requestBInspect

Read the latest tenant deletion request.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral burden. 'Read' clearly signals a non-mutating operation and 'latest' provides recency context, but the description does not disclose the response shape, absence behavior, or organizational scoping 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?

The description is a single, front-loaded sentence with no unnecessary words. It is concise, though it lacks any structural elaboration about behavior or expected output.

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

Completeness2/5

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

There is no output schema, so the description should explain what the returned deletion request contains or what happens when none exists, but it does not. It also does not clarify the relationship between 'tenant' and the organization_id parameter, leaving the agent to guess response semantics.

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?

The only parameter, organization_id, is fully described in the schema as 'Active organization ID', and the description adds no additional parameter-specific context. With 100% schema coverage, the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description states a specific action (Read) and resource (latest tenant deletion request), clearly indicating this is a retrieval tool. It distinguishes from deletion_schedule and deletion_cancel by being a read operation, though it does not explicitly name those siblings.

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 guidance is given on when to use this tool versus alternatives, when not to use it, or how it relates to deletion_schedule and deletion_cancel. An agent must infer usage from the name and one-line description alone.

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

commsharbor_deletion_scheduleAInspect

Schedule tenant erasure after seven days using the exact confirmation phrase.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmationYesExact phrase: delete <organization_id>
organization_idYesActive organization ID

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It communicates the destructive nature, the delayed timing, and the confirmation-phrase requirement, but does not state whether the erasure is irreversible or how it can be canceled.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It packs the action, timing, and the key safety requirement into a compact structure the agent can parse quickly.

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

Completeness3/5

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

For a high-stakes destructive action, the description and schema together are enough to invoke the tool correctly: both required parameters are documented and the purpose is clear. However, with no output schema and no mention of cancellation or post-schedule behavior, the lifecycle around the operation remains incomplete.

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?

The input schema already fully documents both parameters, including the exact confirmation phrase format and organization_id. The description adds the context that the confirmation phrase gates a scheduled erasure, but it does not add new parameter-level detail 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?

The description names a specific action ('Schedule tenant erasure'), the target resource ('tenant'), and the timing ('after seven days'). It also states the required confirmation gate, which distinguishes it from sibling deletion tools such as commsharbor_deletion_cancel and commsharbor_deletion_request.

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 clearly implies when to use it: when a tenant erasure should be scheduled seven days out. It does not explicitly mention alternatives or exclusions, such as using commsharbor_deletion_cancel to cancel a scheduled erasure.

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

commsharbor_deliverabilityBInspect

Read deliverability and backlog aggregates.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior3/5

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

The verb 'Read' and the word 'aggregates' communicate that this is a non-mutating summary operation, which is useful given that no annotations are provided. However, the description does not disclose what the response looks like, whether data is time-scoped, or whether the 'backlog' refers to messages, dead letters, or queue depth. It is transparent at a basic level but leaves meaningful behavioral details unstated.

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

Conciseness5/5

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

The description is a single sentence with no wasted words. It front-loads the action and resource, and every word adds meaning. It is concise without being overly sparse to the point of tautology.

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

Completeness2/5

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

Given that there is no output schema and no annotations, the description should more fully contextualize the return shape and the meaning of 'backlog'. The sibling list contains many deliverability-related tools, and without additional context an agent gets little help selecting among them. The tool has a simple parameter set, but the description is too terse to be fully actionable in a large tool namespace.

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?

The schema description coverage is 100% and the single parameter organization_id is described as 'Active organization ID', so the schema carries the parameter documentation burden. The tool description adds no additional parameter-level meaning beyond implying that the aggregates are organization-scoped. This meets the baseline for high schema coverage.

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 ('Read') and names a concrete resource ('deliverability and backlog aggregates'). The word 'aggregates' helps distinguish this from event-level tools like commsharbor_delivery_events. However, it does not explicitly differentiate from other deliverability-related siblings such as commsharbor_delivery_get, commsharbor_domain_deliveries, or commsharbor_domain_report.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description implies usage when aggregate deliverability or backlog information is needed, but it does not state exclusions or point to sibling tools for more specific scenarios (e.g., per-domain reports, event logs).

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

commsharbor_delivery_eventsAInspect

List normalized SES feedback events for one delivery.

ParametersJSON Schema
NameRequiredDescriptionDefault
delivery_idYesDelivery ID
organization_idYesActive organization ID

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It adds genuine context by disclosing that events originate from SES and are 'normalized,' which is real signal beyond the schema. But it says nothing about pagination, ordering, which event types are included, or the read-only nature of the call, which is only implied by the verb 'List.'

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?

Eight words with zero filler and the verb front-loaded. Every token ('List', 'normalized', 'SES', 'feedback', 'events', 'one', 'delivery') contributes verb, resource, data source, or scope.

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 list operation with full schema coverage and no nested objects or enums, the description covers the essentials: what is returned (feedback events) and for what entity (a single delivery). Because there is no output schema, the agent must infer the exact return shape and pagination behavior, but given the low tool complexity these are minor gaps.

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% ('Delivery ID', 'Active organization ID'), so the schema already documents both parameters. The phrase 'for one delivery' adds marginal semantics by tying delivery_id to a singular scope, but the description does not clarify the relationship between organization_id and delivery_id (e.g., authorization scoping) beyond what the parameter names already suggest.

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 ('List') and a specific resource ('normalized SES feedback events') scoped to 'one delivery,' so the operation is unmistakable. The 'feedback events' phrase implicitly differentiates it from the sibling commsharbor_delivery_get (which presumably fetches the delivery record itself), but it never names a sibling explicitly, so it stops short of the top tier.

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 call context: use this when you hold a delivery_id and want the SES feedback events for that single delivery. However, it never names an alternative (e.g., commsharbor_delivery_get for the delivery record, commsharbor_domain_deliveries for domain-wide lists) nor states any when-not-to-use condition, leaving routing decisions to inference.

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

commsharbor_delivery_getAInspect

Read one delivery and its SES MessageId without recipient data.

ParametersJSON Schema
NameRequiredDescriptionDefault
delivery_idYesDelivery ID
organization_idYesActive organization ID

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It explicitly states that the operation reads one delivery, exposes the SES MessageId, and intentionally omits recipient data, which is useful privacy-relevant context. It does not discuss error cases or permissions, but for a simple getter this is acceptable.

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

Conciseness5/5

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

The description is a single efficient sentence, front-loading the action and resource before the scoping constraint. Every word adds value with no repetition of the tool name or schema details.

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?

Given the low complexity, fully described parameters, and absence of an output schema, the description adequately explains what the tool returns and explicitly excludes recipient data. It could be more complete by mentioning error/failure behavior or the relationship to delivery events, but nothing critical is missing for basic invocation.

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?

The input schema already fully describes both parameters (delivery_id, organization_id) at 100% coverage, so by baseline this dimension is a 3. The description adds some context by connecting the delivery to its SES MessageId, but it does not provide meaningful additional parameter-level semantics.

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 uses a specific verb ('Read') and a precise resource ('one delivery'), and further clarifies exactly what is included (SES MessageId) and excluded (recipient data). This distinguishes it from broader delivery-related tools such as commsharbor_delivery_events or commsharbor_domain_deliveries.

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 clearly establishes the context for use: fetching a single delivery by ID and getting its SES MessageId without recipient data. It does not explicitly name alternative tools, so it misses the 'when-not-to-use' element, but the intent is unambiguous.

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

commsharbor_domain_createBInspect

Register the organization's exact sending domain and queue SES provisioning.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesSending domain
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description must carry the behavioral disclosure burden. It does reveal a meaningful side effect beyond simple creation by saying it will 'queue SES provisioning,' which tells the agent that setup is initiated asynchronously. However, it does not explain what happens after queueing, whether verification is required, or what response the caller should expect.

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

Conciseness4/5

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

The description is a single, efficient sentence with no filler. It front-loads the core action ('Register... sending domain') and then states the follow-on effect ('queue SES provisioning'). Some jargon like 'SES provisioning' could be clearer, but the structure is appropriately compact.

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

Completeness3/5

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

For a low-complexity creation tool with two simple parameters, the description is mostly adequate for selection and invocation. However, there is no output schema and no annotation coverage, so the agent is left without information about return values, success indicators, or next steps such as verification. These gaps pull it below a 4 but the simplicity of the operation keeps it above a 2.

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 structured schema already documents both parameters clearly. The description adds only slight semantic color with 'exact sending domain,' but it does not materially enhance the meaning of organization_id or domain beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb ('Register') and a clear resource ('sending domain'), and adds the scope qualifier 'organization's exact sending domain.' It distinguishes from sibling tools like commsharbor_domain_verify and commsharbor_domain_get by implying creation rather than verification or retrieval, though it does not explicitly name alternatives.

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 guidance is provided on when to use this tool versus alternatives such as domain_verify, domain_get, or domain_smoke. The phrase 'exact sending domain' hints at the intended input but does not state preconditions, exclusions, or which other tools should be used for related steps.

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

commsharbor_domain_deliveriesAInspect

List a domain's deliveries without recipient addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYesSending domain ID
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full disclosure burden. It does add one meaningful behavioral trait — the response intentionally excludes recipient addresses — which tells the agent what not to expect. But it does not disclose pagination, ordering, date filtering, what fields are actually returned, or whether the operation is purely read-only, so the transparency is thin.

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?

Eight words, one sentence, zero filler — the verb and resource are front-loaded, and the 'without recipient addresses' qualifier earns its place by conveying a key behavioral constraint. This is an appropriately minimal description with nothing extraneous.

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

Completeness3/5

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

The tool is simple (2 required scalar params, no nested objects), and the description covers its core purpose. However, there is no output schema and no annotations, so the description bears the burden of explaining the return shape, and it only states what is excluded — not what deliveries look like, how they're paginated, or how this differs from commsharbor_delivery_events and commsharbor_domain_report. Adequate for a simple list tool, but with clear gaps.

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%: both domain_id ('Sending domain ID') and organization_id ('Active organization ID') are documented in the schema, so the baseline of 3 applies. The description reinforces that domain_id scopes the listing but adds no new parameter-level 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?

The description states a specific verb ('List'), a resource ('a domain's deliveries'), and a meaningful scope qualifier ('without recipient addresses'). This is clearer than a bare name, but it doesn't explicitly differentiate from siblings like commsharbor_delivery_get, commsharbor_delivery_events, or commsharbor_domain_report, leaving the agent to infer how 'deliveries' differs from those concepts.

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 qualifier 'without recipient addresses' implies a use case (listing deliveries when recipient PII is not needed or should not be exposed), which gives some directional guidance. However, no alternatives are named and there is no when-to-use vs. when-not-to-use guidance, so the agent must infer usage from the sibling list.

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

commsharbor_domain_getAInspect

Read one stored sending-domain resource.

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYesSending domain ID
organization_idYesActive organization ID

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It clearly signals a non-mutating read operation, but it does not mention behavior for missing or invalid IDs, permission requirements, or what the response contains. This is adequate for a simple read but leaves notable gaps.

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

Conciseness5/5

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

The description is a single six-word sentence with no filler. The core verb and object are front-loaded, and every word contributes to meaning.

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

Completeness3/5

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

This is a simple two-parameter read tool, so the description is minimally adequate. However, with no output schema and no annotations, it would benefit from explicitly stating that the matching domain resource is returned and what happens when the domain does not exist. It is not misleading, just thin.

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 domain_id and organization_id already have meaningful descriptions in the input schema. The tool description adds no parameter-level meaning beyond implying a singular resource, 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?

The description uses a specific verb ('Read') and a precise resource ('one stored sending-domain resource'). The qualifier 'one' distinguishes it from the list-style sibling commsharbor_domains, and 'stored' separates it from create/verify/smoke domain operations, making the tool's role immediately identifiable.

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 singular phrasing implies this is the tool to use when a specific stored sending domain is needed, but the description does not explicitly state when to prefer it over alternatives such as commsharbor_domains or commsharbor_domain_report, nor does it provide exclusions or prerequisites. The usage guidance is only implied.

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

commsharbor_domain_reportCInspect

Read domain delivery and feedback aggregates.

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYesSending domain ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden. It only says 'Read', implying a non-mutating operation, but it does not disclose what aggregates are included, what time range applies, or what the response will contain.

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

Conciseness4/5

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

The description is one short sentence with no filler and front-loads the action. It is appropriately concise, though it sacrifices useful context.

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

Completeness2/5

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

With no output schema and no annotations, the description should explain return values and scope more fully. 'Feedback aggregates' is vague, and the tool is not distinguished from several similar delivery-report siblings, leaving gaps for an agent selecting among them.

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?

The input schema already documents both parameters with 100% coverage, so the baseline is 3. The description adds no further meaning about how the organization_id and domain_id relate or are formatted.

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 clear action ('Read') and a specific resource ('domain delivery and feedback aggregates'). It is understandable on its own, but it does not differentiate itself from sibling tools like commsharbor_domain_deliveries or commsharbor_delivery_events.

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 guidance is provided about when to use this tool versus related report/delivery tools. The description simply says what it reads, leaving the agent to infer selection criteria from the name alone.

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

commsharbor_domainsBInspect

List sending domains with their last observed state.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It conveys that this is a read-only listing containing a state snapshot, but it omits pagination behavior, ordering, whether domains in all states (unverified/failed) are included, and what the response structure looks like. For a tool with zero annotation support, this is a notable 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?

An eight-word sentence with the verb front-loaded and zero filler. Every word earns its place by naming the action, the resource, and the distinguishing data content.

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

Completeness3/5

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

For a very simple tool (one required parameter, no enums, no nested objects), the input side is fully covered by the schema and the description states the core output content. However, with no output schema and no annotations, the meaning of 'last observed state' and the shape of the returned list remain undefined — adequate but with clear gaps.

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% — the single parameter organization_id is already documented as 'Active organization ID' in the schema. The description adds no parameter-level meaning, so the baseline of 3 applies.

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

Purpose4/5

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

The description uses a specific verb ('List') with a clear resource ('sending domains') and adds a distinguishing detail ('last observed state'). It is implicitly differentiated from the many singular-domain siblings (domain_create, domain_get, domain_verify, domain_report) by its plural, listing-oriented framing, though it never names an alternative 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?

The description provides no guidance on when to use this tool versus its six domain-related siblings. There is no mention of alternatives, exclusions, or the condition under which an agent should pick, say, commsharbor_domain_get over commsharbor_domains. Usage is only trivially implied by the verb 'List'.

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

commsharbor_domain_smokeAInspect

Send one controlled smoke to the server-side recipient secret; never accepts a recipient argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYesSending domain ID
organization_idYesActive organization ID

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose a key behavioral trait: the smoke is controlled, exactly one, and directed to a server-side secret, with no recipient argument accepted. However, it omits other behavioral details like whether a real email is sent, what side effects occur, or whether the domain must be verified first.

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

Conciseness5/5

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

The description is one compact sentence that front-loads the primary action and then states an important constraint. Every word earns its place, with no filler or repetition.

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 two-parameter tool with no output schema and no annotations, the description covers the essential purpose and the most critical misuse risk. It is slightly incomplete in not providing any guidance on when to prefer this over sibling tools like commsharbor_marketing_smoke or commsharbor_domain_verify, but it is otherwise sufficient for the tool's low complexity.

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 both parameters. The description adds little about domain_id or organization_id beyond what the schema provides. The 'never accepts a recipient argument' note clarifies the absence of a recipient parameter, but this is already implied by the schema's additionalProperties: false.

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 action ('Send one controlled smoke') and target ('server-side recipient secret'), and adds a distinguishing constraint ('never accepts a recipient argument'). It is somewhat jargon-heavy ('smoke' is not defined as a test message), and it does not explicitly differentiate from the sibling commsharbor_marketing_smoke, but it is still clear enough for an agent to infer the tool's role.

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 when to use the tool: to send a smoke test to a preconfigured server-side recipient rather than to an arbitrary address. It provides a negative constraint ('never accepts a recipient argument') but does not explicitly state alternatives, prerequisites, or conditions such as domain verification, so usage guidance is mostly inferred.

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

commsharbor_domain_verifyBInspect

Refresh domain readiness from real SES and DNS observations.

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYesSending domain ID
organization_idYesActive organization ID

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral burden. It does disclose one useful trait: the check uses live SES and DNS observations, implying external calls, latency, and possible failure if DNS is misconfigured. However, it does not state whether 'Refresh' mutates stored state, whether it is idempotent, or what happens on failure.

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 efficient sentence with zero filler; verb, resource, and data source are all front-loaded. The phrasing 'real ... observations' is slightly awkward but every word earns its place.

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

Completeness2/5

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

For a 2-param tool with 100% schema coverage and no nested objects, the input side is complete. However, with no output schema, no annotations, and a sibling set containing the similar-sounding domain_smoke and domain_report, the description leaves the agent uncertain about expected return values and how this differs from nearby domain tools.

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 both domain_id and organization_id clearly described. The description adds no parameter-level meaning, but the baseline of 3 applies because the schema already documents both inputs adequately.

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

Purpose4/5

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

The description names a specific verb ('Refresh'), a specific resource ('domain readiness'), and a distinguishing source ('real SES and DNS observations'). This separates it from siblings like domain_get (fetch stored data) and domain_report (generate a report). The noun 'readiness' is slightly vague, keeping this from a 5.

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

Usage Guidelines2/5

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

No explicit when-to-use guidance, exclusions, or named alternatives. Given the crowded domain-tool sibling set (domain_get, domain_report, domain_smoke, domain_deliveries), an agent gets no help choosing this over a smoke test or a readiness report. Usage is only weakly implied by the word 'Refresh'.

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

commsharbor_healthBInspect

Read deployment health and build.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

The word 'Read' conveys a read-only behavior, which is useful since no annotations are present. However, the description does not disclose what 'deployment health and build' actually includes, how fresh the data is, or what error or response patterns to expect.

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

Conciseness5/5

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

The description is a single concise sentence with no filler or redundant wording. Every word adds meaning, and the core read action is front-loaded.

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

Completeness3/5

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

For a zero-parameter health check, this description is minimally sufficient to invoke the tool successfully. However, with no output schema or annotations, it does not explain what result the agent should expect, and it lacks context for choosing this tool over similar status-related siblings.

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 input schema has zero parameters and the description coverage is 100%, so there are no parameter semantics to clarify. The description adequately covers the no-input nature of the call.

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

Purpose4/5

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

The description clearly states the action ('Read') and the resource ('deployment health and build'), so an agent can tell it is a health/status tool. However, it does not distinguish itself from sibling status-oriented tools like commsharbor_operations, commsharbor_domain_smoke, or commsharbor_deliverability.

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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or which sibling tools serve related but different purposes, so an agent must infer usage solely from the tool name.

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

commsharbor_invitation_acceptCInspect

Accept an invitation.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesInvitation token

TDQS

C2.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It merely states 'Accept an invitation' and gives no information about side effects, reversibility, success/failure outcomes, or authorization requirements. For a state-changing operation, this is a significant transparency gap.

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

Conciseness4/5

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

The description is only three words with no redundant language, ensuring the core action is immediately front-loaded. It is appropriately brief for a one-parameter tool, though this conciseness comes at the cost of contextual depth. There is no wasted text or irrelevant detail.

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

Completeness2/5

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

For a mutation tool with one parameter and no output schema, the description omits what happens after accepting, the expected response, and any consequences such as joining an organization. The context must be inferred solely from the tool name and sibling names like commsharbor_invitation_create. This leaves important information missing for an agent to call the tool confidently.

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 token parameter is already documented as 'Invitation token' in the input schema. The description adds no additional meaning about how to obtain, format, or validate the token. The high schema coverage means the baseline of 3 is appropriate.

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

Purpose4/5

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

The description 'Accept an invitation' provides a specific verb and resource, clearly stating the core action. It does not explicitly distinguish itself from sibling invitation tools like commsharbor_invitation_create, but 'accept' is semantically distinct enough to avoid confusion. It is concise and direct, though it lacks scope detail such as accepting an invitation to an organization.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like commsharbor_invitation_create or commsharbor_invitations. It does not mention prerequisites, such as the need for a valid token or prior invitation creation. Usage is only implied by the verb 'accept', with no explicit exclusions or alternative conditions.

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

commsharbor_invitation_createAInspect

Invite a member and reveal the acceptance token once.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesMember role
emailYesInvitee email
organization_idYesActive organization ID

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It does disclose an important behavior — the acceptance token is revealed exactly once — which is non-obvious and operationally critical. It does not, however, mention side effects such as whether an invitation email is sent, permission requirements, or what happens after the token is revealed.

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 tight sentence that front-loads the action and includes the critical one-time-token caveat. No filler words or redundant restatement of the tool name.

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

Completeness3/5

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

The tool is simple and well-parameterized, and the description covers the core behavior and the one-time token constraint. However, there is no output schema, and the description does not specify the response shape or how the returned token relates to commsharbor_invitation_accept, leaving some ambiguity for correct invocation.

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 parameters are already documented. The description adds no additional parameter-level detail, such as allowed role values or the exact format of the email and organization ID, so it stays at the baseline.

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

Purpose5/5

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

The description states the exact action ('Invite a member') and the distinctive result ('reveal the acceptance token once'). This makes it immediately distinguishable from sibling tools like commsharbor_invitation_accept and commsharbor_invitations while still naming the resource.

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: when the goal is to invite a member, this is the tool. However, there is no explicit guidance about when to prefer it over related siblings such as commsharbor_invitation_accept, nor any exclusion criteria or prerequisites.

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

commsharbor_invitationsCInspect

List invitations.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'List invitations' and does not disclose pagination, filtering, sorting, return shape, or whether the operation requires specific permissions. The verb 'List' weakly implies a non-mutating operation, but nothing else is revealed.

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

Conciseness4/5

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

The description is extremely concise and front-loaded with the core operation. There is no filler or redundant text. It is slightly too terse to carry useful contextual details, but as a short definition it is efficient and scannable.

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

Completeness3/5

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

For a one-parameter list tool, the schema covers the only required input. However, with no output schema and no annotations, the description does not clarify what an invitation record contains, whether results are paginated, or whether the list is scoped beyond organization_id. It is minimally adequate but leaves room for agent uncertainty.

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?

The schema has 100% description coverage and documents organization_id as 'Active organization ID,' so the schema already explains the only parameter. The description adds no additional meaning about how organization_id is used or what values are acceptable, but with full schema coverage the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'List invitations.' This clearly identifies the operation as a read-only collection listing. It doesn't explicitly distinguish itself from commsharbor_invitation_create or commsharbor_invitation_accept, but the verb choice makes the purpose unambiguous.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives, no mention of prerequisites, and no indication of scope such as whether it lists all organization invitations or only pending ones. The description relies entirely on the tool name and context to convey usage.

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

commsharbor_logoutAInspect

Revoke the current session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. 'Revoke the current session' clearly indicates a state-changing action scoped to the current session. It does not elaborate on side effects such as whether subsequent authenticated requests will fail until a new session is started, but for a zero-parameter logout the core effect is conveyed.

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

Conciseness5/5

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

The description is a single five-word sentence with no filler, no duplication of the schema, and no unnecessary context. It is front-loaded and every word contributes meaning.

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 tool with no parameters and no output schema, the description is mostly complete: an agent can invoke it with an empty object and understand the action. The only omitted context is the post-condition behavior, such as token invalidation and the need to re-authenticate afterward.

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?

There are zero parameters and the schema is empty, so the description cannot be expected to add parameter-level detail; per baseline, a 0-parameter tool receives a 4. The phrase 'current session' confirms the operation targets the authenticated context rather than requiring an explicit identifier.

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 uses a specific verb ('revoke') and a precise resource ('the current session'), making the operation unambiguous. It also naturally distinguishes from auth_start/auth_verify, which establish or verify sessions, and from api_key_revoke, which revokes API keys rather than the current session.

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 intended use is implied by the action: call this when the user wants to end the current session. However, there is no explicit when/when-not guidance or reference to alternatives, such as clarifying that it does not revoke API keys or terminate other members' sessions.

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

commsharbor_marketing_smokeCInspect

Send one controlled permission-based marketing smoke.

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYesActive sending domain ID
contact_idYesCRM contact matching the server-side QA recipient
idempotency_keyYesUnique send key
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description bears the full burden of behavioral disclosure. It reveals only that the tool sends a single controlled, permission-based marketing smoke, but it does not explain side effects, idempotency behavior, delivery outcomes, or what happens when parameters are invalid. For a send operation, this is thin disclosure.

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

Conciseness5/5

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

The description is one sentence with no filler, and the core action is front-loaded. It is as concise as it could be, even though the content is thin.

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

Completeness2/5

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

For a tool with four required parameters, no output schema, and no annotations, the description is too sparse. It omits the expected outcome, return format, failure modes, idempotency semantics, and the relationship to sibling smoke/send tools, leaving an agent without enough context to invoke it confidently.

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 already having a meaningful description ('Active sending domain ID', 'CRM contact matching the server-side QA recipient', 'Unique send key', 'Active organization ID'). The tool description adds no parameter-level meaning 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.

Purpose4/5

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

The description states a clear verb ('Send') and a specific resource ('one controlled permission-based marketing smoke'), and the qualifiers 'controlled' and 'permission-based' narrow the operation. However, it does not explicitly distinguish this from sibling tools like commsharbor_domain_smoke or commsharbor_message_send, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

The description provides no explicit when-to-use guidance, alternatives, or exclusions. An agent can infer only that this is for a permission-based marketing smoke send; it is not told when to prefer this over commsharbor_domain_smoke or commsharbor_campaign_launch, nor any prerequisites like domain verification or contact consent validation.

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

commsharbor_meAInspect

Read the current profile and memberships.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It explicitly states that the operation is a read, implying no side effects, which is helpful. However, it does not describe what the response contains, whether it reflects the current authenticated user, or any authorization requirements.

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

Conciseness5/5

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

The description is a single, efficient sentence with no filler. It front-loads the verb and resource and is appropriately sized for a simple parameterless read tool.

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 parameterless read with no output schema, the description names the two result areas (profile and memberships), which is sufficient for basic invocation. It could specify the response shape or scope of memberships, but the low complexity makes that a minor gap.

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 has zero parameters and an empty schema, so there are no parameter semantics to document. The description correctly implies no inputs are needed, and the schema coverage is complete by nature.

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 clear verb ('Read') and identifies the resource ('the current profile and memberships'), making its core purpose unmistakable. It does not explicitly differentiate itself from siblings like commsharbor_members or commsharbor_profile_update, but the 'current' and 'me' framing helps distinguish it.

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 guidance is given about when to use this tool versus alternatives such as commsharbor_profile_update, commsharbor_members, or commsharbor_context. The intended use can be inferred from the name and description, but no selection conditions or exclusions are provided.

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

commsharbor_member_roleCInspect

Change a non-owner member role.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesNew role
user_idYesMember user ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a mutation ('change') but does not reveal side effects, permission requirements, reversibility, error behavior, or whether owner roles are protected. The 'non-owner' constraint is the only behavioral nuance, which is insufficient for an agent to understand consequences.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is appropriately terse for a straightforward mutation, though it omits contextual details. It earns a 4 for efficiency rather than 5 because it sacrifices useful behavioral context for brevity.

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

Completeness2/5

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

For a simple tool with three required parameters and no output schema, the description is too thin. It fails to specify valid role values, whether the operation is reversible, who can perform it, or how the 'non-owner' constraint is enforced. An agent may not be able to invoke it correctly without additional knowledge.

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% ('New role', 'Member user ID', 'Active organization ID'), so the baseline is 3. The description adds no additional meaning for parameters, such as allowed role values or ID formats, but it doesn't need to compensate for schema gaps.

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 action ('Change') and a clear resource ('non-owner member role'), making the tool's primary function understandable. It is distinct from sibling tools since no other tool in the list explicitly targets role changes, though it does not explicitly call out alternatives.

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 guidance is provided about when to use this tool versus alternatives, what preconditions exist (e.g., administrative permissions), or any exclusions beyond the 'non-owner' qualifier. There is no 'use when' or 'instead of' information, leaving the agent to infer usage purely from the name and action.

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

commsharbor_membersBInspect

List organization members.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior3/5

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

Since no annotations are provided, the description carries the behavioral burden; the verb 'List' reasonably signals a read-only operation. However, it does not mention pagination, response contents, permissions, or any other behavioral details that would fully inform an agent.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no filler or repetition. It is appropriately concise, though it lacks the extra useful context that would make it an exemplary description.

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

Completeness3/5

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

For a simple one-parameter list tool, the description provides the core operation and resource, and the schema covers the required organization_id. It is still thin on output expectations, pagination, and sibling-tool differentiation, leaving some gaps for the agent.

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 only parameter is already documented as 'Active organization ID'. The description adds no additional parameter-level meaning, so it sits at the baseline.

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 ('List') and a clear resource ('organization members'), so an agent can tell what the tool does. It does not explicitly distinguish itself from sibling tools like commsharbor_audience_members or commsharbor_invitations, which keeps it from a 5.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus related member/audience/invitation tools, and no exclusions or alternative tool mentions. The agent must infer usage entirely from the tool name and description.

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

commsharbor_message_sendBInspect

Queue one idempotent transactional delivery.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient email
reply_toNoOptional reply-to email
domain_idYesActive sending domain ID
variablesYes
template_idYesPublished template ID
idempotency_keyYesUnique logical message key
organization_idYesActive organization ID
template_versionNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. 'Queue' communicates that the send is asynchronous rather than immediate, and 'idempotent' signals safe retries with the same key. It does not disclose what happens on duplicate idempotency keys, failure behavior, or whether a delivery identifier is returned.

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

Conciseness4/5

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

The single sentence is tight, front-loaded, and contains no filler words. It is concise without being redundant, though it is so short that some useful elaboration is sacrificed.

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

Completeness2/5

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

For a tool with 8 parameters, a nested variables object, no annotations, and no output schema, the description is far too sparse. It does not explain return behavior, how variables should be structured, what happens after queueing, or how this relates to the many sibling messaging tools. The description provides a useful seed but is not complete enough for an agent to invoke this tool confidently in complex scenarios.

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?

The schema covers 75% of parameters, and the description adds minimal parameter-specific meaning. 'Idempotent' loosely maps to the idempotency_key parameter and 'delivery' to the recipient/template context, but the description does not clarify the nested 'variables' object or 'template_version' semantics. Schema already documents most parameters, so a baseline of 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb ('Queue') with a resource ('one idempotent transactional delivery'), making the core operation clear. It distinguishes itself from campaign and marketing tools by emphasizing 'transactional' and 'one' delivery, though it does not explicitly mention that this is an email message.

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 word 'transactional' implies this is for single operational messages rather than marketing campaigns, and 'one' suggests it is not a bulk-send tool. However, it does not explicitly state when not to use it or name an alternative sibling tool, leaving some routing decisions to inference.

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

commsharbor_messaging_settingsBInspect

Read timezone and marketing state.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It communicates that this is a non-mutating read operation and names the fields involved, which is useful. However, it does not disclose permissions, error behavior, response format, or whether the operation is scoped to the active organization beyond what the schema already indicates.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler words. It states the verb and the specific data returned in under six words, which is appropriately sized for a tool of this low complexity. Every word earns its place.

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

Completeness3/5

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

For a one-parameter read tool with no output schema, the description is minimally sufficient: it tells the agent what the tool reads, and the required parameter is fully documented in the schema. However, it leaves gaps around the meaning of 'marketing state,' the exact response shape, and when to prefer this tool over the update sibling. These gaps make it adequate but not complete.

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

Parameters3/5

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

The input schema provides 100% coverage of the single parameter, describing `organization_id` as 'Active organization ID.' The description itself adds no parameter-level details beyond what the schema already documents. With full schema coverage, the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description uses the specific verb 'Read' and names the exact data returned (timezone and marketing state), making the tool's function clear. It is naturally distinguished from the sibling `commsharbor_messaging_settings_update` by framing this as a read operation. However, it does not explicitly state the organization-level scope or reference any alternative tools, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance about when to use this tool versus alternatives such as `commsharbor_messaging_settings_update` or `commsharbor_contact_marketing_get`. It relies entirely on the verb 'Read' to imply usage, but there are no explicit conditions, exclusions, or alternative names mentioned. An agent must infer appropriate usage from the tool name and sibling list.

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

commsharbor_messaging_settings_updateCInspect

Update timezone or pause state.

ParametersJSON Schema
NameRequiredDescriptionDefault
timezoneNoIANA timezone
marketing_stateNoactive or paused
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states that it updates timezone or pause state. It does not mention that this is a mutating operation with potential side effects, whether the update applies to the specified organization, what happens to existing settings, or what the response format is. The behavior beyond the action itself is largely opaque.

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

Conciseness5/5

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

The description is a single efficient sentence with no filler or repetition. It front-loads the core purpose and omits unnecessary detail, which is appropriate for a tool with only three parameters.

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

Completeness2/5

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

Given the tool is a mutating operation with no annotations and no output schema, the description is too sparse to be fully actionable. It does not state that organization_id is required, whether at least one of timezone or marketing_state must be supplied, or what the update implies for messaging delivery. The schema covers parameter names but not the overall call contract, so the contextual picture is incomplete.

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 all three parameters clearly, establishing a baseline of 3. The description loosely maps 'timezone or pause state' to the timezone and marketing_state parameters, but it uses the non-schema term 'pause state' rather than the exact parameter name, adding slight ambiguity rather than meaningful semantic enrichment.

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

Purpose4/5

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

The description clearly identifies the verb 'Update' and the resource (messaging settings), and specifies the two mutable aspects: timezone and pause state. It distinguishes this from the sibling commsharbor_messaging_settings, which is presumably the read counterpart. However, 'pause state' is slightly imprecise relative to the schema parameter 'marketing_state'.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives, such as commsharbor_messaging_settings for reading settings. While the verb 'Update' implies a mutation context, there is no stated condition, prerequisite, or exclusion to help the agent decide between this and related tools.

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

commsharbor_operationsAInspect

List current operational alerts without PII.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It conveys that the tool returns a list of operational alerts and explicitly promises no PII, which gives some safety-relevant context, but it does not mention response structure, pagination, authorization, or whether alerts are cached.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. Every word contributes to understanding the purpose and a key constraint (no PII).

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

Completeness3/5

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

The tool has only one parameter and no output schema, so the description is the only source for return-value context. 'List current operational alerts' does communicate the general result shape, but alert severity, timestamps, and whether any pagination or limits apply are left unspecified.

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

Parameters3/5

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

Schema description coverage is 100%, so the single `organization_id` parameter is already documented in the schema as 'Active organization ID'. The description adds no additional parameter-level meaning, and the baseline of 3 applies because the schema handles the documentation burden.

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 uses a specific verb ('List') and resource ('current operational alerts'), making the tool's function immediately clear. It also differentiates itself from the sibling `commsharbor_operations_refresh` by describing a read/list operation rather than a refresh operation.

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 guidance is given about when to use this tool versus alternatives like `commsharbor_operations_refresh`, `commsharbor_health`, or `commsharbor_audit`. The word 'current' implies a status check, but there is no explicit context, prerequisite, or exclusion.

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

commsharbor_operations_refreshCInspect

Refresh alerts, quota and capacity observations.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It does not mention whether the operation is asynchronous, has side effects, invalidates data, returns updated observations, or requires any particular permissions beyond the organization context.

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

Conciseness4/5

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

The description is a single concise, front-loaded sentence with no redundant wording. It earns its place, though it is terse enough that some behavioral details are absent.

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

Completeness2/5

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

With no annotations and no output schema, the description is too sparse for an agent to fully understand the tool's effect, return value, or when to invoke it. The one parameter is adequately covered, but the operation semantics remain underspecified.

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%: organization_id is described as 'Active organization ID'. The tool description adds no parameter-specific meaning, so the baseline of 3 applies.

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

Purpose4/5

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

The description uses the specific verb 'Refresh' with a clear resource ('alerts, quota and capacity observations'), which distinguishes it from a simple viewing tool like commsharbor_operations. However, 'observations' is somewhat vague and the exact effect of 'refresh' is not elaborated.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as commsharbor_operations or commsharbor_health. The description implies a refresh action but does not state conditions, prerequisites, or exclusions.

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

commsharbor_organization_createCInspect

Create the verified owner's single trial.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesOrganization name
sending_domainYesSending domain

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does hint that the trial belongs to the 'verified owner' and that only a 'single' trial exists, but it does not explain side effects, idempotency, permission requirements, or what response the caller should expect after creation.

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

Conciseness4/5

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

The description is a single short sentence with no filler or redundant phrasing. It is front-loaded with the main action, though the wording is compact enough that some clarity is sacrificed.

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

Completeness2/5

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

For a create tool with no annotations and no output schema, this description is too thin. It does not explain whether creation is a one-time trial setup, what the success response looks like, whether an organization record is returned, or what happens if a trial already exists for the verified owner.

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 name and sending_domain are already documented in the schema. The description adds no extra meaning about how these parameters should be formatted, validated, or used beyond 'Organization name' and 'Sending domain'.

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

Purpose3/5

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

The description states a create action and names a resource ('the verified owner's single trial'), so it is not a pure tautology. However, it never explicitly says this creates an organization or account; the resource is only called a 'trial', which is vague without the tool name and schema providing context.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives like commsharbor_organization_update, commsharbor_organization_get, or commsharbor_organizations. The description does not state when a new organization should be created, whether this is a one-time setup action, or what prerequisites must exist.

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

commsharbor_organization_getCInspect

Read an organization.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. The single word 'Read' implies a non-mutating operation, but the description says nothing about return format, errors, permissions, or side effects. Minimal additional behavioral context is provided beyond the tool's name.

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

Conciseness4/5

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

The description is a single clear sentence with no wasted words, effectively front-loading the core action. While it is efficient, it is slightly too terse to include helpful context like 'by organization ID', but it is appropriately sized for a simple one-parameter read tool.

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

Completeness2/5

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

With no output schema and no annotations, the description is too sparse for the agent to know what is returned, how failures surface, or how this tool relates to other organization tools. The schema documents the parameter but the overall context is incomplete.

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%: the required parameter organization_id is already described as 'Active organization ID'. The tool description adds no parameter-level information, so the baseline 3 is appropriate given the schema already carries the semantic weight.

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 ('Read') and a specific resource ('an organization'), clearly indicating a retrieval operation. It is slightly less clear in distinguishing itself from the sibling list tool commsharbor_organizations, but the singular phrasing implies fetching a single organization by ID.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as commsharbor_organizations or commsharbor_organization_update. There is no mention of conditions, exclusions, or related tools.

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

commsharbor_organizationsCInspect

List memberships.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'List memberships' implies a read operation but does not disclose whose memberships are returned, what scope applies, whether results are paginated, or what the response contains.

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

Conciseness3/5

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

At two words, the description is undeniably concise, but the brevity borders on under-specification. It states the obvious action without adding scope, context, or differentiation, so it does not truly earn its place beyond echoing the name.

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

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description must explain what the call returns and in what context, but it does neither. The empty parameter list keeps complexity low; still, the unresolved meaning of 'memberships' and its relation to sibling tools leaves a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters and the schema documents this exhaustively with an empty properties object and 100% coverage, so there is nothing for the description to add. The baseline 4 for a zero-parameter tool applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a verb ('List') and a resource ('memberships'), so it minimally states what the tool does. However, the resource term diverges from the tool name ('organizations') and overlaps with the sibling commsharbor_members, leaving genuine ambiguity about whether this lists organization memberships, the caller's memberships, or something else.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus closely related siblings such as commsharbor_members, commsharbor_member_role, or commsharbor_organization_get. An agent must guess which list operation fits its task, and the short phrase provides no differentiators.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_organization_updateCInspect

Update an organization.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesOrganization name
organization_idYesActive organization ID

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that a mutation occurs; it does not disclose whether this is a partial update, whether the organization is replaced, side effects, permissions, idempotency, or what is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single brief sentence with no redundant content and the action is front-loaded. However, it is under-specified; being short here comes at the expense of useful details such as the update scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is structurally simple with only two required parameters and no output schema, so the minimum viable information is nearly present. Still, for a mutating operation with no annotations, the description does not confirm what changes or what the caller should expect, leaving a clear 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 schema already documents name and organization_id. The description adds no semantic detail beyond the schema, such as clarifying that name is the new value to set, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete action and resource ('Update an organization'), which distinguishes it from organization_create and organization_get by verb. However it is essentially a restatement of the tool name and gives no indication that the update is limited to the organization name.

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 guidance on when to use this tool rather than organization_create, organization_get, or organizations. It does not state prerequisites such as requiring an active organization ID or that the organization must already exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_contextBInspect

Confirm the caller's platform role.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. The verb 'confirm' and the resource 'caller's platform role' imply a non-mutating read operation, but the description does not disclose the return shape, authentication requirements, or possible role values. It is honest but thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single six-word sentence with no filler, front-loads the core action, and contains nothing that duplicates the schema or annotations. It is maximally concise for a zero-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-input tool, the description is minimally viable: it tells the agent what the tool confirms. However, with no output schema, no annotations, and nearby sibling tools that could serve a similar role-checking purpose, the absence of return-value details and selection guidance leaves noticeable gaps.

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 input schema has zero parameters, so there is nothing for the description to add about parameter meaning or formats. The baseline of 4 applies because no parameter documentation is needed.

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 action ('Confirm') and a specific target ('the caller's platform role'), so an agent can understand this is a role/context lookup. However, it does not distinguish itself from similarly named siblings such as commsharbor_context, commsharbor_member_role, or commsharbor_me, so it falls short of the top score.

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 guidance is given about when to invoke this tool or when to prefer related tools like commsharbor_context or commsharbor_member_role. The single sentence provides no conditions, exclusions, or alternatives, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_activities_createCInspect

create CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYesnote
lead_idYeslead_id
activity_typeNoactivity type

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description bears the full burden, yet it reveals nothing beyond the verb itself. No mention of required lead association, side effects, permissions, response, or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short and front-loaded but is under-specified rather than concise: a three-word sentence cannot carry the usage and behavior detail needed. It contains no structuring that helps an agent parse the operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create operation with no annotations and no output schema, the description is far too thin; it omits return value, required context (e.g., the activity is tied to lead_id), and how activity_type is used. The sibling ambiguity makes this gap more damaging.

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 per calibration the baseline is 3. The description does not add any parameter-level meaning, but all three parameters have schema descriptions, so no parameter is wholly undocumented.

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 clear verb and resource ('create CRM activity'), so an agent knows the core action. However, it does not explain how this differs from the sibling commsharbor_crm_activities_create or what 'platform' scopes, so it fails the sibling-differentiation test.

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/when-not guidance or alternative tools are mentioned; there is only a bare imperative. An agent has no basis to choose this over the similar commsharbor_crm_activities_create or the other activity tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_activities_deleteCInspect

delete CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
lead_idYeslead_id
activity_idYesactivity_id

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only says 'delete,' which conveys destructiveness, but it does not mention permanence, required permissions, side effects, or whether deletion is scoped to a lead. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no filler and the action is front-loaded. It is efficient, though it is under-specified in terms of behavior and context, which prevents a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive operation with no annotations and no output schema, the description is too thin. It does not explain how lead_id and activity_id relate, whether the activity is deleted from the lead's timeline, what response to expect, or how this platform-scoped delete differs from the non-platform variant.

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 even though the description adds no parameter-level meaning. The schema's own descriptions ('lead_id', 'activity_id') are tautological, and the tool description contributes nothing beyond what the field names already imply.

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: 'delete CRM activity.' It is clear about the operation, but it does not differentiate from the nearly identical sibling commsharbor_crm_activities_delete or from the other activity-oriented siblings, so it misses the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus the create, get, list, or update activity tools, nor about the platform-scoped variant. The agent receives no routing context from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_activities_getCInspect

get CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
lead_idYeslead_id
activity_idYesactivity_id

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only conveys that the operation is a read ('get'), but says nothing about what the response contains, whether the lead_id scoping matters, error behavior, or access requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words, which is good for front-loading, but it is under-specified rather than optimally concise. It omits the distinguishing detail that a specific activity is fetched within a lead's context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, the description is the only source of context, and it is insufficient. It does not explain what a single success returns, what the required parameter pair refers to, or how this differs from the platform and non-platform sibling get/list tools.

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 tool description adds no parameter meaning beyond the schema, and the schema's own parameter descriptions are tautological ('lead_id' described as 'lead_id'), so neither source explains why both lead_id and activity_id are required together or what they reference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'get CRM activity' states a verb and resource, so an agent can tell this performs a read operation on a CRM activity. However, it is vague about scope: it doesn't clarify that this returns a single activity identified by lead_id and activity_id, and it doesn't distinguish itself from the near-identical sibling commsharbor_crm_activities_get or from the list variant commsharbor_platform_crm_activities_list.

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 usage guidance is provided. The description never says when to prefer this tool over commsharbor_platform_crm_activities_list, commsharbor_crm_activities_get, or other CRM resource getters, nor does it state any exclusions or prerequisites for calling it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_activities_listCInspect

list CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoq
limitNoPage size from 1 to 100
cursorNoOpaque cursor returned by the previous page
lead_idYeslead_id

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden, but it only repeats the read verb 'list' and does not disclose pagination behavior, lead scoping, response contents, or absence of side effects. It at least signals a non-mutating list operation, so it is not a complete blank.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only five words, so it is technically brief, but it is under-specified rather than usefully structured. It omits essential scoping and behavioral information that the agent needs, making brevity a deficit here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There are no annotations, no output schema, one required parameter, and many overlapping sibling tool names. The description supplies none of the needed context, such as that activities are tied to a lead_id, what 'q' filters, or how cursor-based pagination works, so the tool is not safely invocable from this description alone.

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 even though the description itself adds no parameter meaning. The schema descriptions for 'q' and 'lead_id' are unhelpfully tautological, but 'limit' and 'cursor' are adequately documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The sentence 'list CRM activity.' simply restates the tool name's verb and resource without defining what counts as an activity, how it is scoped, or how it differs from sibling tools like commsharbor_crm_activities_list and commsharbor_platform_crm_activities_get. It adds no new information beyond the name, making it a tautology rather than an informative purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when to prefer this tool over its siblings, such as commsharbor_crm_activities_list, commsharbor_platform_crm_activities_create, or commsharbor_crm_tasks_list. No context, exclusions, or alternative routing is provided, so an agent receives zero guidance on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_activities_updateCInspect

update CRM activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNonote
lead_idYeslead_id
activity_idYesactivity_id
activity_typeNoactivity type

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'update CRM activity' only communicates mutation; it does not explain what fields are affected, whether the update is partial or full, whether identifiers must already exist, or what the response will be.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with no wasted words. However, it is under-specified rather than usefully concise; for a mutating operation with four parameters, more contextual detail would be appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a family of similar CRUD tools, the description is too thin. It does not explain update semantics, return behavior, or how to use the required parameters, leaving an agent to guess the tool's full behavior.

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 even though the parameter descriptions are tautological ('note', 'lead_id', etc.). The tool description adds no parameter-level meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'update CRM activity.' This is enough to understand the basic operation. However, it does not differentiate this tool from sibling tools like commsharbor_crm_activities_update, which has the same purpose on the same resource.

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 guidance is given about when to use this tool versus its many siblings, such as commsharbor_crm_activities_update or commsharbor_platform_crm_tasks_update. There is no mention of context, prerequisites, or exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_leads_createBInspect

create CRM lead.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesname
emailYesemail
stageNostage
sourceNosource
company_nameNocompany name
organization_idNoorganization id

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'create CRM lead' tells the agent the operation is a write, but it does not disclose side effects, authentication requirements, duplicate-handling behavior, whether organization_id is required for scoping, or what the response will contain. Without annotations, this is a significant transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loaded, with no filler or redundant phrasing. It is appropriately concise for a simple CRUD create operation, though it could carry a bit more useful context without becoming bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a mutation tool with no annotations and no output schema, so the description should compensate by explaining expected behavior, return values, or semantics for key fields like stage and organization_id. It does none of this; six parameters are present but only two are required, and the description gives no guidance on how the optional fields relate to creating a lead.

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 per the baseline the description does not need to repeat parameter details. However, the schema descriptions are tautological ('name', 'email', 'stage', etc.) and add little meaning. The tool description itself adds nothing about parameter semantics, so the score stays at the baseline 3.

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 clear action and object: 'create CRM lead.' This is specific enough to identify the tool's core purpose and to distinguish it from sibling operations like delete, get, list, and update. It lacks extra context about what a lead is or any nuance, but it is not vague or tautological.

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 use case is implied by the verb 'create': an agent should use this tool when creating a new CRM lead, while update/get/list/delete siblings exist for other operations. However, the description does not explicitly state when to use it over related create tools for contacts, companies, or deals, nor does it mention any prerequisites or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_leads_deleteCInspect

delete CRM lead.

ParametersJSON Schema
NameRequiredDescriptionDefault
lead_idYeslead_id

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It communicates only that this is a destructive operation, which is already implicit in the tool name. It does not disclose whether deletion is irreversible, whether it cascades to related records, what happens to audits/history, or what response the agent should expect. For a delete operation with zero annotation support, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is maximally short with zero wasted words and front-loads the key action. However, it crosses from conciseness into under-specification: at 16 characters it restates nearly exactly what the tool name already conveys and contributes almost no new information to the agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description is the only source of context beyond the parameter schema. It fails to explain deletion semantics, reversibility, confirmation behavior, or return value. For a destructive tool, even a low-complexity one with a single parameter, the description should disclose consequences and expected outcomes; this one leaves those entirely unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — the single lead_id parameter is fully documented in the schema. Per the baseline rule, the description need not repeat parameter details when the schema covers them. The description adds nothing about lead_id format or semantics, but the schema adequately carries that weight, so a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'delete CRM lead.' This clearly identifies the operation and the resource type, distinguishing it from sibling delete tools that target contacts, deals, activities, or tasks. However, it does not differentiate the 'platform' scoping from the non-platform CRM lead tools, and it offers no additional distinguishing detail beyond the obvious, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. Given the large sibling set containing commsharbor_platform_crm_leads_create/get/list/update and other entity delete tools, the description gives no context about prerequisites, when deletion is appropriate, or which sibling to prefer instead. It provides neither exclusions nor alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_leads_getCInspect

get CRM lead.

ParametersJSON Schema
NameRequiredDescriptionDefault
lead_idYeslead_id

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the behavioral burden. The verb 'get' reasonably implies a read-only retrieval, which is the most important behavioral signal. However, the description does not disclose potential failure modes, output expectations, or whether any related state is affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and free of filler, which is appropriate for a tool with one parameter. However, it is more of a minimal fragment than a complete explanatory sentence; adding 'by ID' or 'returns the lead record' would improve value without hurting conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should provide more context about what a successful retrieval returns and what happens when the lead does not exist. The current description only names the action and object, leaving the agent to guess important runtime semantics.

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 defines lead_id as a required string. The description itself adds no additional meaning about the parameter, such as format, source, or how to obtain it, but the schema is sufficient for basic invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a verb ('get') and a resource ('CRM lead'), making the core operation recognizable and distinguishable from sibling create/update/delete/list tools. It is less specific than it could be—it does not explicitly say 'by lead_id'—but the required parameter makes that intent fairly clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance about when to use this tool instead of the sibling list, create, update, or delete operations, nor does it state any prerequisites such as needing an existing lead ID. An agent would have to infer usage entirely from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_leads_listCInspect

list CRM lead.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoq
limitNoPage size from 1 to 100
stageNostage
cursorNoOpaque cursor returned by the previous page

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavior. It reveals only that the tool lists leads; it says nothing about pagination, filtering by q or stage, return shape, or whether these parameters are mutually exclusive. The word 'list' implies read-only, but little else is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

'list CRM lead.' is extremely short and free of filler, so it is concise in the literal sense. However, it is under-specified enough that it does not count as appropriately sized; a little more context about filters or pagination would improve it without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With four optional parameters, no annotations, and no output schema, the description should explain what q and stage mean and what kind of result is returned. It does neither. The one-line description is insufficient for confident invocation beyond the simplest default call.

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 even though the tool description itself adds no parameter meaning. The schema explains limit and cursor well, but q and stage are documented only as 'q' and 'stage', leaving their semantics unclear.

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 clear verb ('list') and resource ('CRM lead'), which matches the tool name and indicates this returns a list rather than a single lead. It distinguishes the action from sibling tools like commsharbor_platform_crm_leads_get, but it does not explicitly differentiate this from other list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool instead of alternatives such as commsharbor_crm_contacts_list or other CRM list tools. It says only 'list CRM lead' and leaves usage context entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_leads_updateCInspect

update CRM lead.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoname
emailNoemail
stageNostage
sourceNosource
lead_idYeslead_id
company_nameNocompany name
organization_idNoorganization id

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'update CRM lead,' which signals mutation, but reveals nothing about partial vs full updates, required identifier behavior, side effects, idempotency, permissions, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only three words, which is concise but under-specified. For a tool with seven parameters and no annotations, this length is not appropriately sized and lacks the structure needed to convey key usage or behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, seven parameters, and a large sibling tool set, the description is far too minimal. An agent would not know what updating a CRM lead entails, which fields are updatable beyond the schema names, or what to expect after the call.

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 schema provides only terse descriptions like 'name' and 'email,' but parameter names are mostly self-explanatory. The tool description adds no additional parameter 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?

The description uses a direct verb and specific resource: 'update CRM lead.' This is clear and effectively distinguishes the tool from sibling create, delete, get, and list tools for CRM leads. It lacks additional nuance, but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The verb 'update' implies operating on an existing lead, but the description does not state prerequisites, contrast with create/delete/get/list siblings, or mention any conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_tasks_createCInspect

create CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYestitle
due_atNodue at
lead_idNolead id

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It only states that the tool creates a task; it does not mention required permissions, side effects, reversibility, or what happens on success. The only behavioral signal is the implied mutation from 'create.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words and is easy to parse. However, it is arguably too terse to carry the context needed for such a generic-sounding tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large sibling list containing commsharbor_crm_tasks_create and multiple platform CRM tools, the description does not explain what makes this tool distinct. Without annotations or an output schema, the description leaves important usage context unexplained.

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 even though the description itself adds no parameter detail. The schema descriptions are tautological ('title' -> 'title'), but the description does not need to compensate for missing parameter coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: 'create CRM task.' It is understandable on its own, but it does not distinguish this tool from its near sibling commsharbor_crm_tasks_create, which likely has the same action.

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 guidance is provided about when to use this tool versus the similarly named commsharbor_crm_tasks_create or other CRM task tools. There is no mention of the 'platform' context, prerequisites, or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_tasks_deleteCInspect

delete CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYestask_id

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden of behavioral disclosure. The word 'delete' implies a destructive mutation, but the description does not state whether the deletion is permanent, whether it cascades to related records, whether it is idempotent, or what happens when an invalid task_id is supplied. For a destructive operation with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only three words and is certainly short, but this is under-specification rather than crafted conciseness — the sentence fragment omits almost all useful content. There is no structure to speak of, and brevity is achieved at the expense of informativeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite low schema complexity (one parameter), the description is incomplete for the operational context: no annotations, no output schema, and an ambiguous twin sibling (commsharbor_crm_tasks_delete) that the description fails to disambiguate. A destructive tool with no safety annotations needs to disclose permanence, side effects, and selection context, none of which are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, which establishes the baseline of 3. However, the schema's parameter description is merely the tautological string 'task_id', adding no semantic value, and the tool description contributes nothing about the parameter either. The parameter's purpose (identifying which task to delete) is simple enough to infer, so this is adequate but not helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('delete') and resource ('CRM task'), so the basic action is identifiable. However, it essentially restates the tool name (crm_tasks_delete) and provides zero differentiation from the near-identical sibling commsharbor_crm_tasks_delete, which appears in the same sibling list. An agent cannot tell whether 'platform' scope matters or how these two delete tools differ.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance whatsoever about when to use this tool versus alternatives such as commsharbor_crm_tasks_delete or commsharbor_platform_crm_tasks_update. No prerequisites, no context, and no exclusions are mentioned, leaving the agent to guess at selection criteria from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_tasks_getCInspect

get CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYestask_id

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'get' and offers no detail on return format, error behavior, authorization requirements, or whether the task is fetched in any particular state. For a mutation or retrieval tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words, making it highly concise and front-loaded. It loses a point because it is so minimal that it borders on under-specification, though the core verb-resource pair is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although the tool is simple with only one parameter and no output schema, the description does not explain the 'platform' distinction in a family of CRM tools, nor what the response will contain. An agent cannot confidently choose this over the similar commsharbor_crm_tasks_get without inspecting sibling behavior.

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 schema documents task_id with a description, and the description 'get CRM task' adds no semantic nuance beyond the schema; it neither clarifies the ID format nor the scope of the task being fetched.

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 ('get') and resource ('CRM task'), so an agent can tell this is a retrieval operation. However, it does not distinguish this from the closely related sibling commsharbor_crm_tasks_get, and the meaning of 'platform' is left unexplained.

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 guidance is given about when to use this tool versus alternatives such as commsharbor_crm_tasks_get or commsharbor_platform_crm_tasks_list. The description is entirely silent on selection criteria, exclusions, or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_tasks_listCInspect

list CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoq
limitNoPage size from 1 to 100
cursorNoOpaque cursor returned by the previous page
statusNostatus
lead_idNolead_id
assignee_user_idNoassignee_user_id

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure, but it only says 'list CRM task.' It does not mention pagination behavior, filter semantics, ordering, side-effect-free behavior, response shape, or any operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and economical, but this is under-specification rather than effective conciseness. It omits all usage, filter, and behavioral context that an agent would need beyond the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter list endpoint with no required parameters, no output schema, and no annotations, a four-word description is far too thin. Key details such as what 'q' searches, which status values are valid, how filters combine, and what the response contains are completely 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?

The schema documents all six parameters with 100% coverage, including useful descriptions for 'limit' and 'cursor', so the baseline of 3 applies. The tool description itself adds no parameter meaning, and some schema descriptions are tautological, so there is no basis to score higher.

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 the verb 'list' and the resource 'CRM task', making the core operation clear. However, it does not differentiate from the similarly named sibling commsharbor_crm_tasks_list or clarify what the 'platform' scope adds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus commsharbor_crm_tasks_list, commsharbor_crm_tasks_get, or the other CRM task tools. No exclusions, alternatives, or selection criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_platform_crm_tasks_updateCInspect

update CRM task.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNotitle
due_atNodue at
lead_idNolead id
task_idYestask_id

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states 'update', implying mutation, but does not disclose whether missing fields are preserved or cleared, whether the update is partial or full, or any other effects like validation or audit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only three words, which is under-specified rather than appropriately concise. It omits key information about update semantics and updatable fields, so the brevity comes at the cost of usefulness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and no annotations, this description is incomplete. It does not mention the required task_id, how omitted fields are handled, or what the response looks like, leaving an agent without enough context to call the tool 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 baseline is 3. The description adds no parameter meaning beyond the schema, which already documents task_id as required and title, due_at, and lead_id as optional strings.

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 the verb 'update' and the resource 'CRM task', which clearly indicates the operation. However, it does not differentiate this tool from the sibling 'commsharbor_crm_tasks_update', which also updates CRM tasks, so sibling differentiation is missing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like the other CRM task update tool, the create tool, or the list/get tools. The description provides no context, preconditions, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_preference_getBInspect

Read preference through a signed capability.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesSigned preference token

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. 'Read' inplies a non-mutating operation but that is already inferable from the name; the signed-capability detail largely repeats the schema's token description. It does not disclose behavior for invalid or expired tokens, response shape, or any other operational traits.

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?

Six words, front-loaded, and no extraneous content. Every word earns its place, and the core mechanism is stated immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read operation, the description is minimally viable: it tells the agent what to pass and what action is performed. However, it does not explain how to obtain the token, what a preference represents, or what the agent should expect in response, so an unfamiliar agent would still need to infer several things.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the single token parameter is already documented as 'Signed preference token'. The description adds only the phrase 'signed capability', which does not materially extend the schema's meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb (Read) and resource (preference), plus the auth mechanism (signed capability). It is distinct enough from sibling preference_token_create and preference_unsubscribe, although it does not explicitly contrast with them.

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 guidance on when to prefer this tool over siblings like commsharbor_preference_token_create or commsharbor_preference_unsubscribe. It implies a signed token is needed but does not explain where that token comes from or when this tool should be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_preference_token_createCInspect

Create signed preference and unsubscribe URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesCRM contact ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and no output schema, the description carries the full behavioral burden. It reveals that the URLs are 'signed' but gives no information about side effects, token expiry, required authorization, rate limits, or what the response contains. For a creation tool this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly worded sentence with no filler. It is appropriately short for a two-parameter tool, though it could earn a 5 by adding a brief note on the output or intended usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool, the description captures the core purpose, but with no output schema and no usage context, an agent cannot tell what the returned URLs are for or how to apply them. The description is minimally viable but leaves meaningful gaps.

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 are already documented in the schema. The description does not add meaning beyond what the properties say, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Create') and resource ('signed preference and unsubscribe URLs'). It is specific enough to distinguish from siblings like commsharbor_preference_get and commsharbor_preference_unsubscribe, though it could more explicitly say the URLs are for a given contact.

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 guidance is given about when to use this tool versus related tools such as preference_get, preference_unsubscribe, or suppression_create. The description implies a use case but does not state conditions, prerequisites, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_preference_unsubscribeBInspect

Apply one-click unsubscribe through a signed capability.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesSigned preference token

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden, but it only states the operation and mechanism. It does not explain side effects (e.g., which preferences or lists are updated), idempotency, success or failure semantics, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler, making it structurally efficient. However, the brevity sacrifices behavioral and usage detail, which prevents it from earning the top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, yet the description omits return behavior, effect scope, and prerequisite token origin. For a one-click unsubscribe action, an agent needs at least basic outcome and side-effect information, all of which are 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?

The schema already fully documents the token parameter with 'Signed preference token', so the baseline is 3. The description adds a slight conceptual link between the token and the 'signed capability' but no additional syntax, source, or validation details.

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 phrase 'Apply one-click unsubscribe' names a specific action and resource, and the signed-capability mechanism distinguishes it from sibling tools like commsharbor_preference_get and commsharbor_preference_token_create. The purpose is immediately clear without needing to inspect 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as commsharbor_preference_token_create or commsharbor_suppression_create. The only implicit context is that a signed token/capability must already exist, but there is no explicit conditional or exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_profile_updateCInspect

Update the current profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeYes
display_nameYesDisplay name

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden for behavioral disclosure. It indicates mutation via 'update' but does not disclose authorization requirements, side effects, reversibility, or return behavior. This is a significant gap for a write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is appropriately concise for a simple update operation, though it leans toward under-specification rather than rich content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no annotations and no output schema, and the description does not explain the effect of the update, required authentication, or what response to expect. While the schema covers required parameters, the overall definition is too sparse for an agent to fully understand the operation's context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, but the description does not compensate by naming or explaining the parameters. It adds no meaning beyond the input schema; display_name has a schema description and locale has an enum, but the description itself provides zero parameter guidance.

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 action (update) and resource (the current profile), which is clear and distinguishable from organization or member tools. It does not explicitly contrast with siblings like commsharbor_me, but the 'current profile' scope provides enough distinction.

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 guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description simply states the action without explaining the intended context or why it should be selected over similar profile-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_suppression_createCInspect

Suppress a recipient in one organization.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesRecipient email
contact_idNoOptional CRM contact ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The single sentence states the action but does not disclose whether suppression is permanent or reversible, whether it is idempotent for already-suppressed recipients, whether it halts in-flight campaigns, or what the tool returns. For a mutation operation with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently front-loaded with the verb and resource, and every word earns its place with no fluff or repetition of schema content. It is arguably too terse given the missing behavioral context, but as a concise statement of intent it is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a mutation tool with no annotations, no output schema, and many confusingly similar siblings, the description is incomplete. An agent cannot determine the side effects of suppression, how it differs from unsubscribe or deletion tools, or what happens after a successful call. The definition needs at least usage context and behavioral expectations to be adequate.

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 all three parameters (email, contact_id, organization_id) clearly, setting the baseline at 3. The description's phrase 'in one organization' adds marginal reinforcement that organization_id scopes the operation to a single org, but it doesn't explain how contact_id interacts with email or when the optional contact_id is needed.

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 ('Suppress') with a clear resource ('a recipient') and a scope qualifier ('in one organization'), so an agent can tell what action this performs. However, it doesn't explicitly differentiate itself from behaviorally adjacent siblings like commsharbor_preference_unsubscribe, commsharbor_deletion_request, or commsharbor_audience_member_remove, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use suppression versus alternatives such as preference_unsubscribe (marketing opt-out), deletion_request (data erasure), or audience_member_remove (list removal). With over 100 siblings including several related suppression/deletion/preference tools, the agent is left to infer the right context with no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_suppressionsBInspect

List organization suppressions.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size, maximum 100
cursorNoOpaque pagination cursor
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The verb 'List' conveys a read-only operation, and 'organization suppressions' scopes the data, which is useful in the absence of annotations. However, the description does not disclose pagination behavior, response shape, ordering, or whether only active suppressions are returned. With no annotations, the description carries the full transparency burden and only partially meets it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, readable sentence with no filler or repetition. It is appropriately short for a simple list operation, though slightly more detail could have been added without hurting conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward list operation, the combination of description and fully documented input schema is mostly sufficient for invocation. However, there is no output schema and no description of what data is returned, and the term 'suppressions' is vague. The definition is adequate but leaves meaningful gaps for an agent.

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?

The input schema provides 100% coverage for all three parameters, including descriptions for limit, cursor, and organization_id. The description adds no parameter-specific meaning beyond tying the operation to the organization, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('List') and resource ('organization suppressions'), making the tool's basic purpose unambiguous. It is distinguishable from the adjacent commsharbor_suppression_create tool, though it doesn't explicitly name that sibling. The term 'suppressions' is not elaborated, leaving some ambiguity about what entities are returned.

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 guidance is given for when to use this tool versus alternatives, and no alternatives are mentioned. The agent must infer from the tool name and the sibling list that this is the read/list counterpart to suppression creation, rather than being told directly. There is no when-not-to-use or prerequisite context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_template_archiveBInspect

Archive a template and preserve its versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesTemplate ID
organization_idYesActive organization ID

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of explaining behavior. It discloses that versions are preserved, but does not state whether the template is removed from active use, whether archiving is reversible, what permissions are required, or what response is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler. It front-loads the action and adds a useful guarantee about versions without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter operation, the core action is stated clearly. However, with no annotations and no output schema, the agent is left without details on post-archive state, reversibility, or expected outcomes, making the definition workable but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the two parameters, with descriptions for both template_id and organization_id. The description adds no parameter-specific meaning beyond naming the target, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Archive a template') and adds a meaningful behavioral detail ('preserve its versions'). This clearly distinguishes the tool from sibling template operations like template_publish, template_update, and template_versions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as template_update or template_publish, and no mention of prerequisites or exclusions. The only usage signal is the verb 'Archive,' which requires the agent to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_template_createCInspect

Create a canonical block template draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTemplate name
blocksYes
subjectYesSubject with declared {{variables}}
variablesYes
message_typeYes
organization_idYesActive organization ID

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. 'Draft' implies the template is not immediately published, which is useful, but it does not mention write effects, permissions, validation, or the relationship to template_publish. A create operation without further context leaves behavioral expectations vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler and the core verb front-loaded. It is appropriately concise, though it sacrifices informational content for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 required parameters, no output schema, and no annotations, the one-line description is insufficient for reliable invocation. It does not explain the template draft lifecycle, the meaning of the block-based structure, or what success looks like, leaving major gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, and the description adds no parameter information. It does not explain what 'blocks' or 'message_type' mean, nor does it clarify the structure of variables. Required parameters like organization_id are left to the schema, so the description fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Create') and resource ('canonical block template draft'), clearly identifying the operation. It does not explicitly distinguish itself from sibling template tools like template_import_html or template_update, though the 'draft' qualifier and 'block template' hint at a structured creation flow.

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 guidance on when to use this tool versus template_update, template_import_html, or template_publish. The only hint is the name, so an agent cannot learn selection criteria or exclusions from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_template_exportAInspect

Export the latest published HTML, text and MJML.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesTemplate ID
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral information. It does disclose the selection behavior ('latest published') and the returned content types (HTML, text, MJML), but it leaves unstated whether this is read-only, how the content is delivered, and what happens when no published version 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?

A single sentence with no filler words. The verb, resource, version qualifier, and output content are front-loaded, and every word contributes to the tool's meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only two required parameters and no output schema, the description is minimally sufficient: an agent knows what is exported and from which template. However, it would be more complete with a note on return format, error behavior for an unpublished template, and a pointer to the sibling tool for template metadata.

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?

The input schema covers both parameters at 100%, so the baseline is 3. Each parameter already has a description in the schema, and the tool description adds no additional parameter-level meaning beyond that.

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 operation ('Export') on a concrete resource (template) and states the exact payload: the latest published HTML, text, and MJML. This distinguishes it from sibling tools like template_get, template_preview, template_publish, and template_versions.

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 guidance is given about when to use this tool versus the many template-related siblings. The intended use is implied by the phrase 'Export the latest published', but there are no explicit alternatives, exclusions, or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_template_getAInspect

Read one template.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesTemplate ID
organization_idYesActive organization ID

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral disclosure burden. It only says 'Read one template,' which signals a non-mutating operation, but it does not mention permissions, return payload, error behavior, or whether a missing template produces a 404. This leaves notable gaps for a bare GET-like tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three words long, with no filler, repetition, or unnecessary detail. It is concise and front-loaded with the core action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool with two required string parameters and no nested objects or enums, the description plus schema is minimally viable. However, with no output schema and no annotations, the agent has no stated expectation about what a successful read returns or how errors are surfaced.

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% for both required parameters, so the schema already provides the necessary meaning. The description adds no extra parameter guidance, which is acceptable given the schema is self-sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Read one template.' The word 'one' distinguishes it from the plural templates list and from sibling operations like template_create, template_update, template_archive, and template_preview. An agent can immediately tell what this tool does.

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 that this tool is for fetching a single template, but it does not explicitly explain when to choose it over alternatives such as template_versions, template_export, or templates. Usage context is present but mostly left to inference from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_template_import_htmlCInspect

Import a safe HTML subset as a draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlYesSafe HTML subset
nameYesTemplate name
subjectYesSubject with declared {{variables}}
variablesNo
message_typeYes
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, and it only reveals that the operation imports sanitized HTML and creates a draft. It does not state whether existing drafts are overwritten, whether invalid HTML is rejected or silently stripped, what the returned object looks like, or any permission/side-effect details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler words, and the key qualifiers 'safe' and 'as a draft' are immediately visible. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 6 parameters, no output schema, and no annotations, the description only states the high-level action. It omits meaningful context about what happens after import, what the draft state implies, how sanitization behaves, or how this tool relates to the many sibling template operations.

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 67%, so the schema already documents most parameters. The phrase 'safe HTML subset' adds useful semantic context to the html parameter, but the description does not clarify variables, message_type, or the required organization_id context beyond what the schema 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?

The description uses a specific verb ('Import') with a clear resource ('a safe HTML subset') and outcome ('as a draft'), making the core operation understandable. However, it does not differentiate this from sibling template tools like template_create or template_update, so an agent cannot tell when to choose this over those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only implies via 'as a draft' that this creates a draft rather than a published template, but it gives no explicit guidance on when to use this tool versus template_create, template_export, or template_publish. There are no exclusions, prerequisites, or alternative-routing hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_template_previewCInspect

Compile and render a safe template preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoTemplate name
blocksYes
valuesNo
subjectYesSubject with declared {{variables}}
variablesYes
message_typeNo
organization_idYesActive organization ID

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden, and 'compile and render a safe template preview' gives only minimal process information. It does not explain whether the operation persists anything, sends anything, is non-destructive, or what the preview output looks like; 'safe' is ambiguous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler words. Every word earns its place, though the extreme terseness leaves important functional details uncovered.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This tool has seven parameters, nested objects, no annotation coverage, and no output schema, yet the description is only eight words. It lacks essential context about required inputs, the meaning of blocks/values, safety guarantees, and what response is returned, making it incomplete for an agent to invoke confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (43%), so the description should compensate by explaining key parameters such as blocks, values, and message_type. It does not: no parameter is mentioned, and the only implicit link is that 'compile and render' suggests variables and blocks are inputs, but that is insufficient for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies specific actions ('compile', 'render') and a clear resource ('a safe template preview'), which distinguishes it from sibling template tools like get, update, publish, and export. The word 'safe' is a useful qualifier but is vague, so it stops short of a fully 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this preview tool over alternatives such as template_get, template_export, or template_publish. The 'preview' wording implies pre-publication checking, but no conditions, exclusions, or alternatives are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_template_publishBInspect

Publish an immutable template version.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesTemplate ID
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. The word 'immutable' conveys an important behavioral trait: once published, the template version is permanent. However, it does not disclose whether the action can be undone, what permissions are required, or how existing published versions are affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no filler or repetition. It is front-loaded and readable, though slightly terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter operation with a fully documented schema, the description is minimally adequate. It still lacks broader context about the template publication workflow, what happens after publishing, and whether the version becomes available immediately, which would help an agent use it 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 parameters are already fully documented in the schema. The description adds no extra parameter-level detail, but for this simple two-parameter tool the baseline score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Publish') and a specific resource ('immutable template version'), so the core action is clear. It does not explicitly distinguish itself from sibling template tools like template_update or template_versions, but 'publish' is distinctive enough that the main purpose is understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this tool instead of template_create, template_update, template_archive, or template_versions. It does not mention prerequisites, workflow placement, or any exclusions; the only usage signal is the verb itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_templatesCInspect

List email templates.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNoOpaque cursor
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'List email templates' and does not mention pagination, organization scoping, filtering, sorting, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence with no fluff, and the operation is front-loaded. It could still hint at pagination or return content without becoming verbose, so it is concise but not maximally informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three parameters, no annotations, and no output schema, so the description should compensate by explaining pagination, org scoping, and response expectations. 'List email templates' leaves all of that to inference and does not adequately guide an agent.

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 67%; organization_id and cursor have descriptions, and limit is minimally constrained by min/max. The description itself adds no parameter-level meaning, but the schema already does most of the work, so a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('email templates'), so the core operation is clear. It does not distinguish this from sibling tools like commsharbor_template_get or commsharbor_template_versions, but it is unambiguous as a list operation.

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 guidance is given about when to use this tool versus alternatives such as commsharbor_template_get, commsharbor_template_versions, or the many other list tools. There is no mention of exclusions, preconditions, or selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_template_updateBInspect

Update one template draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoTemplate name
blocksNo
subjectNoSubject with declared {{variables}}
variablesNo
template_idYesTemplate ID
message_typeNo
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It only states that a draft is updated, but does not explain whether this is a partial or full replacement, what happens to a published version, what side effects occur, or what the response looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, front-loaded, and contains no wasted words. It is slightly too terse for a 7-parameter mutation tool, but conciseness is high.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-param update operation with no annotations and no output schema, a single sentence leaves major gaps: required identifiers, which fields can be updated, draft-only behavior, and mutation semantics. An agent would have to rely almost entirely on the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 57%, and the description adds no parameter-level meaning. It does not clarify which fields are patchable, how blocks or variables should be structured, or how message_type interacts with templates.

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?

"Update one template draft" names a specific verb (update), a specific resource (template draft), and the singular scope. It clearly stands apart from siblings like template_create, template_publish, template_archive, and template_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase "template draft" implies this is for editing an existing draft rather than creating, publishing, or archiving one. However, there is no explicit when-to-use guidance, no mention of when not to use it, and no named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_template_versionsBInspect

List immutable versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesTemplate ID
organization_idYesActive organization ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of disclosure. It correctly implies a read-only operation via 'List' and notes that versions are immutable, but it does not mention pagination, ordering, response shape, or any other behavioral details an agent might need.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with no filler or redundancy. It is front-loaded with the core action, though it is closer to a fragment than a fully structured description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with fully documented parameters, this is minimally viable, but it lacks context about what 'versions' means, what the output contains, and when to choose this over related template tools. Since there is no output schema, the description should provide at least some return-value context.

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?

The input schema already documents both required parameters at 100% coverage, so per the rubric this is a baseline 3. The description adds no extra detail about the parameters, but the schema sufficiently explains template_id and organization_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('List') and resource ('immutable versions'), and the tool name ties it to template versions. It is distinguishable from sibling tools like commsharbor_template_get and commsharbor_templates, though it could more explicitly say 'template versions' rather than relying on the name.

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 guidance is given for when to use this tool versus alternatives, and no exclusions or conditions are stated. The intended use is only implied by the tool name and parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_webhook_createBInspect

Create a webhook and reveal its secret once.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic HTTPS URL
event_typesYes
organization_idYesActive organization ID

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It usefully reveals that the secret is shown exactly once, which is important behavior. However, it does not disclose whether duplicate webhooks are rejected, whether the webhook is active immediately, or any validation or permission requirements.

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 concise sentence with no filler. The one-time secret detail is valuable and front-loaded. Nothing extraneous is included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter create tool with no annotations and no output schema, this description is too thin. It leaves valid event_type values, the response shape beyond the secret, and the relationship to sibling webhook tools unstated. The secret-once warning is helpful but insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-level meaning. The schema documents url and organization_id, but the required event_types array is completely undescribed and has no enum or examples. The description does not compensate for this gap.

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 ('Create') and resource ('webhook') and adds a distinctive behavioral detail ('reveal its secret once'). This clearly distinguishes it from sibling tools like webhook_get, webhooks, webhook_disable, and webhook_deliveries.

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 guidance is given about when to use this tool versus the sibling webhook tools. It never mentions that webhooks lists existing webhooks, webhook_get retrieves one, or webhook_disable disables one. Usage is only implied by the create verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_webhook_deliveriesCInspect

List webhook retries and outcomes.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhook_idYesWebhook endpoint ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral disclosure burden. 'List' implies a read operation, and mentioning 'retries and outcomes' adds some content context, but it does not disclose pagination, ordering, date filtering, or whether the response includes full delivery details. The agent is left without key behavioral expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It earns its place, though the brevity also reflects a lack of useful detail rather than efficient compression of rich content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter list operation, the description names the returned subject matter (webhook retries and outcomes) and the schema fully defines the inputs. However, there is no output schema and no annotation coverage, so details like response structure, limits, or result fields are missing; this is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; both organization_id and webhook_id are already described in the schema. The tool description adds no additional meaning, context, or relationships between the parameters, 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 uses a specific verb and resource ('List webhook retries and outcomes'), making the operation and focus clear. It is distinguishable from siblings like commsharbor_webhook_get and commsharbor_webhooks, which manage webhook configuration rather than delivery attempts/outcomes. It does not explicitly call out that differentiation, 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, prerequisites, or exclusions are provided. The description does not mention how this differs from related delivery/event tools such as commsharbor_delivery_events or commsharbor_domain_deliveries, leaving selection to infer from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_webhook_disableCInspect

Disable a webhook.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhook_idYesWebhook endpoint ID
organization_idYesActive organization ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only reveals that this is a mutating action; it does not state whether disabling is reversible, whether the webhook must already exist, whether it affects ongoing deliveries, or what permissions are required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words and the action is front-loaded. It is concise to the point of being terse, but it still communicates the primary purpose efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter mutation with full schema coverage, the description is minimally adequate. However, with no annotations and no output schema, the agent still lacks context about side effects, reversibility, and expected result, so the definition is not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully describes both parameters with 100% coverage, so the description adds no additional parameter meaning. The baseline score of 3 applies because the schema handles the documentation burden adequately.

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 and resource, 'Disable a webhook', so the agent can identify the core operation. It is distinct from sibling webhook tools like create, get, deliveries, and list, although it does not add any detail about scope or consequences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusion conditions. The only usage signal is the implicit meaning of the verb 'disble', which is too weak to count as real guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_webhook_getAInspect

Read a webhook without its secret.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhook_idYesWebhook endpoint ID
organization_idYesActive organization ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Read' implies a non-mutating operation, and 'without its secret' discloses a key security-relevant behavior. However, it does not clarify what other fields are returned, whether any permissions or ownership checks apply, or what happens when the webhook does not exist. For a simple read operation this is adequate but not 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?

The description is a single, immediately parsable sentence with zero filler. It states the verb, the resource, and the important exclusion ('without its secret') in that order, making the critical caveat 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?

For a tool with only two required, well-described parameters and no output schema, the description is nearly complete: it tells the agent what operation is performed and the one notable behavioral caveat. 'Read a webhook' sufficiently implies the return value will be webhook data, and 'without its secret' prevents a critical misassumption. A full response-shape description would be a nice addition but is not essential for invoking the tool 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%, and both parameters already have clear descriptions: 'Webhook endpoint ID' and 'Active organization ID'. The tool description adds no additional parameter-level context, but none is needed because the schema already carries that burden.

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 uses a specific verb ('Read') and a specific resource ('a webhook'), and adds a meaningful qualifier ('without its secret') that helps distinguish this from listing or managing webhooks. An agent can immediately understand this is a single-webhook retrieval operation, especially given sibling names like webhooks and webhook_disable.

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 when to use it — when you need a webhook's details excluding its secret — but it does not explicitly contrast with sibling tools like commsharbor_webhooks for listing or commsharbor_webhook_deliveries for delivery history. There is no when-not-to-use guidance, so an agent must infer routing from the tool name and context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commsharbor_webhooksAInspect

List webhook endpoints without secrets.

ParametersJSON Schema
NameRequiredDescriptionDefault
organization_idYesActive organization ID

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden, and it does disclose a key trait: secret fields are deliberately omitted from the response. This provides useful safety information beyond a bare 'list' operation. It does not detail pagination or filtering of disabled endpoints, but for a simple read-only listing tool the redaction guarantee is the most important 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?

Five words, front-loaded, with no filler or repetition. Every token adds information: the operation, the resource, and the redaction qualifier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter listing tool, the description plus full schema coverage is nearly complete. The absence of an output schema is partially compensated by the 'without secrets' return qualifier. Minor omissions are pagination behavior and whether inactive endpoints are included, but these are not critical for selecting and invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the only parameter (organization_id) is already documented as 'Active organization ID'. The description adds no additional parameter semantics, so the schema carries the full weight and the 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?

The description uses a specific verb ('List') and a concrete resource ('webhook endpoints'), and adds a meaningful qualifier ('without secrets'). The plural 'endpoints' clearly distinguishes it from singular sibling webhook_get, while webhook_create, webhook_disable, and webhook_deliveries are obviously different operations.

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 plural list verb implies this is the enumeration tool, and the required organization_id in the schema indicates it operates at the organization level. However, the description never explicitly says when to choose this over webhook_get or other webhook-related tools, nor does it mention constraints like pagination.

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. Dates show when Glama detected each change.

  1. 141 tool updates
    • First observedcommsharbor_api_key_create
    • First observedcommsharbor_api_key_revoke
    • First observedcommsharbor_api_keys
    • First observedcommsharbor_audience_create
    • First observedcommsharbor_audience_delete
    • First observedcommsharbor_audience_get
    • First observedcommsharbor_audience_member_add
    • First observedcommsharbor_audience_member_remove
    • First observedcommsharbor_audience_members
    • First observedcommsharbor_audience_update
    • First observedcommsharbor_audiences
    • First observedcommsharbor_audit
    • First observedcommsharbor_auth_start
    • First observedcommsharbor_auth_verify
    • First observedcommsharbor_billing
    • First observedcommsharbor_billing_catalog
    • First observedcommsharbor_billing_purchase
    • First observedcommsharbor_campaign_create
    • First observedcommsharbor_campaign_get
    • First observedcommsharbor_campaign_launch
    • First observedcommsharbor_campaign_report
    • First observedcommsharbor_campaign_update
    • First observedcommsharbor_campaigns
    • First observedcommsharbor_contact_file_get
    • First observedcommsharbor_contact_import_confirm
    • First observedcommsharbor_contact_import_errors
    • First observedcommsharbor_contact_import_get
    • First observedcommsharbor_contact_import_preview
    • First observedcommsharbor_contact_imports
    • First observedcommsharbor_contact_marketing_get
    • First observedcommsharbor_contact_marketing_put
    • First observedcommsharbor_contacts_export
    • First observedcommsharbor_context
    • First observedcommsharbor_crm_activities_create
    • First observedcommsharbor_crm_activities_delete
    • First observedcommsharbor_crm_activities_get
    • First observedcommsharbor_crm_activities_list
    • First observedcommsharbor_crm_activities_update
    • First observedcommsharbor_crm_companies_create
    • First observedcommsharbor_crm_companies_delete
    • First observedcommsharbor_crm_companies_get
    • First observedcommsharbor_crm_companies_list
    • First observedcommsharbor_crm_companies_update
    • First observedcommsharbor_crm_contacts_create
    • First observedcommsharbor_crm_contacts_delete
    • First observedcommsharbor_crm_contacts_get
    • First observedcommsharbor_crm_contacts_list
    • First observedcommsharbor_crm_contacts_update
    • First observedcommsharbor_crm_deals_create
    • First observedcommsharbor_crm_deals_delete
    • First observedcommsharbor_crm_deals_get
    • First observedcommsharbor_crm_deals_list
    • First observedcommsharbor_crm_deals_update
    • First observedcommsharbor_crm_pipelines_create
    • First observedcommsharbor_crm_pipelines_delete
    • First observedcommsharbor_crm_pipelines_get
    • First observedcommsharbor_crm_pipelines_list
    • First observedcommsharbor_crm_pipelines_update
    • First observedcommsharbor_crm_stages_create
    • First observedcommsharbor_crm_stages_delete
    • First observedcommsharbor_crm_stages_get
    • First observedcommsharbor_crm_stages_list
    • First observedcommsharbor_crm_stages_update
    • First observedcommsharbor_crm_tasks_create
    • First observedcommsharbor_crm_tasks_delete
    • First observedcommsharbor_crm_tasks_get
    • First observedcommsharbor_crm_tasks_list
    • First observedcommsharbor_crm_tasks_update
    • First observedcommsharbor_data_export_create
    • First observedcommsharbor_data_export_download
    • First observedcommsharbor_data_exports
    • First observedcommsharbor_dead_letter_replay
    • First observedcommsharbor_dead_letters
    • First observedcommsharbor_deletion_cancel
    • First observedcommsharbor_deletion_request
    • First observedcommsharbor_deletion_schedule
    • First observedcommsharbor_deliverability
    • First observedcommsharbor_delivery_events
    • First observedcommsharbor_delivery_get
    • First observedcommsharbor_domain_create
    • First observedcommsharbor_domain_deliveries
    • First observedcommsharbor_domain_get
    • First observedcommsharbor_domain_report
    • First observedcommsharbor_domain_smoke
    • First observedcommsharbor_domain_verify
    • First observedcommsharbor_domains
    • First observedcommsharbor_health
    • First observedcommsharbor_invitation_accept
    • First observedcommsharbor_invitation_create
    • First observedcommsharbor_invitations
    • First observedcommsharbor_logout
    • First observedcommsharbor_marketing_smoke
    • First observedcommsharbor_me
    • First observedcommsharbor_member_role
    • First observedcommsharbor_members
    • First observedcommsharbor_message_send
    • First observedcommsharbor_messaging_settings
    • First observedcommsharbor_messaging_settings_update
    • First observedcommsharbor_operations
    • First observedcommsharbor_operations_refresh
    • First observedcommsharbor_organization_create
    • First observedcommsharbor_organization_get
    • First observedcommsharbor_organization_update
    • First observedcommsharbor_organizations
    • First observedcommsharbor_platform_context
    • First observedcommsharbor_platform_crm_activities_create
    • First observedcommsharbor_platform_crm_activities_delete
    • First observedcommsharbor_platform_crm_activities_get
    • First observedcommsharbor_platform_crm_activities_list
    • First observedcommsharbor_platform_crm_activities_update
    • First observedcommsharbor_platform_crm_leads_create
    • First observedcommsharbor_platform_crm_leads_delete
    • First observedcommsharbor_platform_crm_leads_get
    • First observedcommsharbor_platform_crm_leads_list
    • First observedcommsharbor_platform_crm_leads_update
    • First observedcommsharbor_platform_crm_tasks_create
    • First observedcommsharbor_platform_crm_tasks_delete
    • First observedcommsharbor_platform_crm_tasks_get
    • First observedcommsharbor_platform_crm_tasks_list
    • First observedcommsharbor_platform_crm_tasks_update
    • First observedcommsharbor_preference_get
    • First observedcommsharbor_preference_token_create
    • First observedcommsharbor_preference_unsubscribe
    • First observedcommsharbor_profile_update
    • First observedcommsharbor_suppression_create
    • First observedcommsharbor_suppressions
    • First observedcommsharbor_template_archive
    • First observedcommsharbor_template_create
    • First observedcommsharbor_template_export
    • First observedcommsharbor_template_get
    • First observedcommsharbor_template_import_html
    • First observedcommsharbor_template_preview
    • First observedcommsharbor_template_publish
    • First observedcommsharbor_template_update
    • First observedcommsharbor_template_versions
    • First observedcommsharbor_templates
    • First observedcommsharbor_webhook_create
    • First observedcommsharbor_webhook_deliveries
    • First observedcommsharbor_webhook_disable
    • First observedcommsharbor_webhook_get
    • First observedcommsharbor_webhooks

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Security-first SendGrid MCP server: two-phase sends, dry-run by default, recipient allowlists, rate limits, audit log, no BCC. One auditable file.
    11
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A local email server for AI assistants that enables sending transactional and marketing emails with template management, recipient groups, and automatic consent flow handling.
    1
    -
  • A
    license
    A
    quality
    B
    maintenance
    A multi-service email platform for MCP-compatible clients that supports standard email providers, transactional APIs, and local testing environments. It enables users to send and receive emails, monitor service health, and integrate with messaging webhooks like Slack and Discord through natural language commands.
    10
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Manages email accounts via IMAP/SMTP, enabling reading, searching, sending, replying, forwarding, and folder management with multi-user and OAuth support.
    22
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

C2.6/5.0
Disambiguation2/5

Most resource CRUD sets are distinct, but the server duplicates entire CRM activity/task tool groups under crm_* and platform_crm_* with identical descriptions, so an agent cannot tell which set to call. Additional overlap exists around identity/context (me, context, platform_context, organizations) and exports (contacts_export vs data_export_create).

Naming Consistency3/5

Names generally follow commsharbor_<resource>_<action>, but list endpoints are split between plural nouns (audiences, webhooks) and *_list suffixes (crm_activities_list), and some tools use bare nouns or verbs (health, me, context, logout). The mixed conventions are readable but not fully predictable.

Tool Count1/5

141 tools is far beyond a coherent surface for an agent to select from. Even with a broad CRM/email platform scope, the set should be consolidated, namespaced more aggressively, or split into multiple focused servers.

Completeness4/5

Coverage is broad: campaigns, templates, audiences, CRM objects, imports/exports, auth, billing, domains, webhooks, and suppressions all have lifecycle tools. Gaps like suppression deletion, webhook update, and a non-platform leads group are minor relative to the overall surface, though the duplicate platform sets muddy completeness.

Resources