Add an internal comment on a lead
crm_add_commentInternal team note on the lead card (not visible to the lead). Supports @mentions via user ids.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | Yes |
crm_add_commentInternal team note on the lead card (not visible to the lead). Supports @mentions via user ids.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. It discloses that the note is internal, not visible to the lead, and supports @mentions via user ids, which are genuinely useful behavioral traits beyond the fact that it adds a comment. It does not disclose return values or whether mentions notify users, but those are minor gaps for a simple creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the core behavior is stated first, and the additional mention feature is added in the second sentence. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no output schema and no annotations, the description is mostly functional, but it does not explicitly define the id parameter as the lead id or describe the expected response behavior. The internal visibility and mention support help, but the parameter ambiguity and lack of outcome information keep it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the two undocumented parameters. It implies id refers to the lead and body contains the comment text, and mentions of user ids in body are supported, but it never explicitly defines what id and body mean or their expected formats. This is a significant gap even though the parameter names are suggestive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair: add an internal comment on a lead. It also distinguishes this from sibling communication tools by explicitly stating the comment is not visible to the lead, so an agent can tell it apart from crm_reply_to_lead or similar external-facing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description communicates the use case clearly: an internal team note on a lead card, not visible to the lead. It does not explicitly name alternative tools or state when not to use it, but the visibility distinction provides enough context for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Despite consistently detailed descriptions, several tool pairs have unclear boundaries: `get_subscription_limits` and `get_agent_plan_limits` describe essentially the same agent-slot check, `crm_get_conversation` and `crm_communication_thread` both claim to return the full message thread, and `get_credit_usage_by_agent` vs `get_credit_usage_for_agent` differ only by preposition. At 149 tools, an agent will regularly misselect between these near-duplicates.
The dominant pattern is verb_noun with domain prefixes (`crm_*`, `sdr_*`) and a consistent `preview_*` family that maps cleanly to destructive/expensive actions. Deviations are minor but real: CRM deletes use the inverted `delete_crm_*` form while other CRM ops use `crm_*`, and credit-usage tools mix `by_agent`/`for_agent` prepositions.
149 tools is nearly three times the 50+ threshold the rubric treats as extreme, even though the platform genuinely spans agents, campaigns, audiences, CRM, SDR, billing, and connections. Many could be consolidated without losing capability — e.g. the 11 balance/credit-usage tools, the two LinkedIn-account listers, and the 15+ preview variants.
The surface is remarkably complete: full CRUD/lifecycle coverage for agents, campaigns, audiences, CRM leads/stages, and SDR searches, plus billing, analytics, and connection management. Destructive or costly operations all have preview/approval counterparts, so there are no dead ends. If anything the risk is over-coverage rather than gaps.