Skip to main content
Glama
ZLeventer

salesforce-marketing-mcp

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.3

  • Disambiguation5/5

    Each tool targets a distinct resource or action, with clear descriptions that differentiate similar tools (e.g., list tasks by campaign vs. by contact). No ambiguity.

    Naming Consistency5/5

    All tools start with 'sf_' and follow a consistent verb_noun snake_case pattern (e.g., sf_create_lead, sf_update_campaign). No mixed conventions.

    Tool Count2/5

    47 tools is excessive for a single MCP server, exceeding the recommended range. Many tools could be consolidated or split into separate servers for better manageability.

    Completeness3/5

    Core CRUD for leads, contacts, and campaigns is present, but missing delete operations for most objects, no opportunity CRUD, and no event creation. Gaps exist in the lifecycle.

  • Average 3.1/5 across 47 of 47 tools scored. Lowest: 2.4/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • No commit activity data available
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • This server has been verified by its author.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior1/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It only states 'Create a new Salesforce contact' with no information about duplication handling, side effects, permissions, or rate limits.

    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, which is concise. However, it is too minimal for the tool's complexity (7 parameters) and lacks structure to convey necessary details.

    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 tool has 7 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain return values, default behaviors, or any operational constraints.

    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 0%, yet the description adds no parameter-level meaning beyond field names. For example, 'accountId' is unclear, and the description does not clarify the role of any parameter.

    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 verb 'Create' and specifies the resource 'a new Salesforce contact', making the purpose clear. It distinguishes from sibling tools like sf_update_contact and sf_get_contact. However, it could be slightly more specific about what exactly is created.

    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 like sf_create_lead or sf_update_contact. There is no mention of prerequisites or context for when creation is appropriate.

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

  • 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. It only states 'Show open pipeline', but does not disclose behavioral traits such as whether it filters by user, what 'open' means (likely status but not explicit), or any side effects. It's a read operation, but no safety or performance context is given.

    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 sentence, which is concise but lacks structure. It earns its place by being short, but front-loading is minimal. It could be expanded to include key details without becoming verbose.

    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 has 3 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain the output format, the meaning of grouping, or any limitations. An agent cannot reliably use this tool based solely on the description.

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

    Parameters1/5

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

    The input schema has three parameters (dateFrom, dateTo, openOnly) with 0% description coverage. The description does not explain any of them, not even that openOnly defaults to true (implied by 'open pipeline' but not explicitly stated). The agent has no help understanding how to use these 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 clearly states what the tool does: 'Show open pipeline grouped by campaign and stage'. It specifies the verb 'show', the resource 'open pipeline', and the grouping. While it is specific, it does not differentiate itself from sibling tools like sf_pipeline_summary or sf_pipeline_by_lead_source, which could serve similar purposes.

    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. With many sibling pipeline tools, an agent cannot determine if this is the correct choice without trial and error.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only implies a read operation ('list') but does not disclose pagination behavior, sorting, potential performance impact, error handling, or whether results are ordered. Minimal disclosure beyond the basic action.

    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?

    Single sentence, front-loaded with key information, no wasted words. However, it is too brief and omits useful details, making it slightly under-specified for the conciseness ideal.

    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 output schema, no annotations, and minimal parameter documentation, the description is incomplete. It fails to specify return format, error conditions, or additional context needed for a Salesforce API tool. Adequate only for a very simple listing.

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

    Parameters1/5

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

    Schema description coverage is 0% (0% of parameters are described in the description). The two parameters (contactId, limit) are not explained; the agent must rely on schema metadata alone, which lacks descriptions. No added 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 clearly states 'List Salesforce tasks associated with a specific contact', specifying the action (list), resource (tasks), and filter (by contact). It distinguishes from sibling tools like 'sf_list_tasks_by_campaign' and 'sf_list_tasks_by_lead', though not explicitly. Score 4 because it's clear but lacks 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?

    No guidance on when to use this tool versus alternatives, no context about prerequisites or limitations. The description only states the basic function, 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.

  • Behavior2/5

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

    No annotations provided. The description does not disclose behavioral traits such as read-only nature, side effects, or required permissions. It only states what it does, not how it behaves.

    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 sentence, which is concise, but it lacks important information. It is not wasteful yet under-informative.

    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 no output schema and 0% parameter coverage, the description fails to explain output structure or parameter meaning. It is insufficient for an agent to use correctly.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description provides no explanation of parameters. The terms openOnly, dateFrom, dateTo are left entirely undefined, adding no value beyond parameter names.

    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 clearly states the tool summarizes pipeline data grouped by lead source with weighted values. It distinguishes from siblings like sf_pipeline_summary and sf_pipeline_by_campaign which group differently.

    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 vs alternatives. The description does not mention use cases, prerequisites, or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It only mentions the action 'Add' but does not clarify side effects (e.g., duplicates, permissions, return values). The simple statement is insufficient for 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 a single concise sentence, but it is under-specified. While it could be improved with additional details, it is not verbose. It scores 'appropriately sized' but not 'correctly' due to missing information.

    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 has 4 parameters, no output schema, and is a write operation, the description is incomplete. It fails to cover parameter usage, return values, or error scenarios, which are essential for an agent to use it correctly.

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

    Parameters1/5

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

    The input schema has 0% description coverage, and the description adds minimal meaning beyond parameter names. It does not explain the relationship between leadId and contactId, the role of status, or that exactly one of leadId/contactId is required. The description fails to compensate for the schema gap.

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

    Purpose5/5

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

    The description clearly states it adds a single lead or contact to a Salesforce campaign, with a specific verb and resource. It distinguishes from sibling tools like sf_bulk_add_campaign_members by specifying 'single'.

    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 like sf_bulk_add_campaign_members or when not to use it. It lacks explicit context about prerequisites or trade-offs.

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

  • Behavior2/5

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

    No annotations provided, so the description must disclose behavioral traits. It does not state whether the tool is read-only, requires specific permissions, or has any side effects. For a calculation tool, it likely does not modify data, but this is not confirmed.

    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 sentence that is front-loaded with the primary action. However, it could be more structured, e.g., listing parameters or providing an example.

    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 output schema exists, and the description does not explain the return format or structure. The tool is moderately complex with 4 parameters, and the description omits what the agent can expect as output.

    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 50% (only dateFrom and dateTo have descriptions). The description adds no parameter details beyond the schema. It does not explain campaignId (which campaign? ID format?) or limit (what is limited?), failing to compensate for low 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 the tool calculates specific metrics (ROI, cost-per-lead, etc.) for campaigns, using a specific verb 'Calculate'. It distinguishes from siblings like sf_campaign_influence or sf_campaign_performance_trend, though it does not explicitly state it operates on a single campaign (implied by campaignId parameter).

    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 exclusions or prerequisites mentioned. The agent must infer from the tool name and parameters, which is insufficient.

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

  • Behavior2/5

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

    No annotations exist, so description must carry full behavioral burden. It only states 'list' (read-only) but fails to disclose required permissions, task status inclusion, pagination behavior, 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 a single short sentence (concise), but it is underspecified and lacks essential details, making it merely adequate.

    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 2 parameters, no output schema, and no annotations, the description is incomplete. It omits return format, pagination, filtering, and any prerequisite context.

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

    Parameters1/5

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

    Schema description coverage is 0%, yet description does not explain the campaignId format or limit parameter purpose. It adds no value beyond the schema's basic type and constraints.

    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 clearly states the verb 'list' and resource 'Salesforce tasks' with scope 'associated with a specific campaign,' effectively distinguishing it from siblings like sf_list_tasks_by_contact and sf_list_tasks_by_lead.

    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 (e.g., when tasks by contact or lead are needed). The description lacks any usage context or exclusion criteria.

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

  • Behavior2/5

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

    No annotations are provided, so the description must convey behavior. It implies a read-only list operation but lacks details on pagination, sorting, authentication requirements, or potential 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.

    Conciseness3/5

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

    The description is a single sentence, which is concise. However, it lacks necessary detail, making it under-specified rather than efficiently compact.

    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 parameter descriptions, and no annotations, the description is insufficient. The agent lacks information about return format, error handling, or appropriate usage contexts.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain the parameters. 'leadId' is implied but not defined, and 'limit' is not mentioned at all. The description adds no semantic value 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 clearly states the tool lists tasks associated with a specific lead, using a specific verb and resource. It distinguishes itself from siblings like sf_list_tasks_by_campaign and sf_list_tasks_by_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 provided on when to use this tool versus alternatives such as sf_list_tasks_by_campaign or sf_list_tasks_by_contact. There is no mention of prerequisites or context.

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

  • Behavior2/5

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

    No annotations provided; description does not disclose behavioral traits such as whether openOnly parameter affects closed pipeline, any auth needs, rate limits, or side effects. For a missing annotations scenario, description should carry more weight but fails to.

    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?

    Single sentence is concise but lacks structure; no wasted words, but also no additional detail beyond purpose. Acceptable for a short 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 only one parameter, description is minimally complete but fails to explain output format or the default behavior of openOnly. Gaps remain for agent to invoke correctly.

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

    Parameters1/5

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

    Schema description coverage is 0%; with one parameter (openOnly) defaulting to true, description mentions 'open pipeline' but does not explain the parameter's effect or that setting false includes closed pipeline. No added value beyond 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?

    Description clearly states verb 'Summarize' and resource 'open pipeline by stage' with specific metrics (count, total amount, average probability, weighted pipeline). This distinguishes from sibling tools like sf_pipeline_by_campaign and sf_forecast_summary.

    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 vs alternatives (e.g., sf_pipeline_by_campaign, sf_pipeline_by_lead_source). No prerequisites, exclusions, or context for when not to use.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits. It fails to state what the return format is (e.g., a list of campaign names with revenue sums), whether it includes zero-revenue campaigns, or how date filtering works. It only states the high-level purpose.

    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 sentence with no extraneous words. It front-loads the core purpose. However, it could afford a bit more detail without losing conciseness.

    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 tool has 3 parameters, no output schema, and no annotations, the description is severely incomplete. It does not specify the grouping logic, return structure, date semantics, or any edge cases. The agent lacks essential information to invoke it correctly.

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

    Parameters1/5

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

    Schema coverage is 0% and the description adds no meaning to the parameters. It does not explain that 'dateFrom'/'dateTo' filter opportunity close dates or that 'limit' controls the number of campaigns returned. This is a major gap for a 3-parameter tool.

    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 clearly states the action ('show'), the resource ('closed-won revenue'), and the grouping ('by primary campaign'). It distinguishes this tool from siblings like 'sf_pipeline_by_campaign' (pipeline stage) and 'sf_campaign_performance_trend' (general performance).

    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 like 'sf_top_campaigns' or 'sf_campaign_performance_trend'. It does not mention prerequisites, limitations, 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.

  • Behavior2/5

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

    With no annotations, the description must disclose all behavioral traits. It fails to mention what happens if the 200 limit is exceeded, required permissions, error handling, or the return value. The status parameter's role and default behavior are also 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.

    Conciseness3/5

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

    The single sentence is concise but lacks important details. It front-loads the action and capacity but omits parameter context. It could be improved by adding a second sentence clarifying required fields or default behaviors.

    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 4 parameters, 1 required, no output schema, and no annotations, the description is insufficient. It does not explain the status field, constraints on leadIds/contactIds (e.g., at least one required for a meaningful operation), or what the function returns. The agent would need additional context to use this tool correctly.

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

    Parameters1/5

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

    Schema coverage is 0%, so the description must fully explain parameters. It only mentions 'leads and/or contacts' but does not describe the campaignId requirement, the meaning of the status parameter, or that leadIds/contactIds are optional arrays. This leaves critical ambiguity.

    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 clearly identifies the action ('Add'), the resource ('leads and/or contacts to a Salesforce campaign'), and the scope ('up to 200 in one call'). It distinguishes from the sibling 'sf_add_campaign_member' which likely adds a single member.

    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 does not explicitly state when to use this tool over alternatives. While 'in one call' implies bulk use, there is no guidance on when to prefer this over the singular sibling or what constraints apply (e.g., at least one lead or contact required).

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full behavioral burden. It only implies a read operation ('Query') but does not disclose authentication needs, rate limits, response format, or safety profile. 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.

    Conciseness5/5

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

    The description is a single sentence of 12 words, directly stating the action and object. It is concise and front-loaded with no superfluous 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?

    With 4 optional parameters and no output schema or annotations, the description is too brief. It does not explain how filtering works, what the response contains, or any constraints. The tool is unique among siblings, but the description lacks completeness for effective use.

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

    Parameters1/5

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

    Schema description coverage is 0% – the description adds no meaning to any of the 4 parameters (campaignId, dateFrom, dateTo, limit). The parameters are entirely undocumented in the description, which fails to compensate for the schema's lack of descriptions.

    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 clearly states the tool queries the CampaignInfluence object to see which campaigns influenced opportunities. It uses specific verb 'Query' and noun 'CampaignInfluence object', distinguishing it from siblings like sf_get_campaign or sf_campaign_performance_trend.

    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. It does not mention prerequisites, filtering context, or when not to use it, leaving the agent uninformed about selection criteria.

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

  • 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 says 'Convert,' implying a mutation, but does not disclose side effects (e.g., if the lead is deleted), required permissions, or constraints. Minimal behavioral context.

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

    Conciseness3/5

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

    The description is a single sentence, making it concise, but it is under-specified. It front-loads the purpose but lacks necessary detail for a 5-parameter 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 moderate complexity (5 params, no output schema, no annotations), the description is incomplete. It does not mention return value, side effects, or parameter roles, leaving significant gaps for an agent to safely invoke the tool.

    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 20% (id has a description). The description adds no explanation for parameters like accountId, contactId, opportunityName, or doNotCreateOpportunity beyond their names. It does not compensate for the low coverage.

    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 clearly states the verb 'Convert' and the resource 'Salesforce lead' along with the resulting objects 'Account, Contact, and optionally Opportunity'. This specificity differentiates it from sibling tools like sf_create_lead (create lead) or sf_update_lead (update lead).

    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. It does not mention prerequisites (e.g., lead must be qualified) or exclusions (e.g., not for creating leads). This leaves the agent to infer usage context.

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

  • Behavior2/5

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

    Without annotations, the description carries the full burden. It only says 'Create' but omits any behavioral traits such as side effects, permissions required, or impact on related objects.

    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, which is concise but too minimal. It front-loads the action, but missing structure and detail reduce its utility.

    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 and no output schema, the description is far from complete. It fails to provide necessary context about required fields, defaults, or expected behavior.

    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 25%, and the description adds no meaning beyond the schema. Most parameters lack any explanation of their role or acceptable values.

    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 clearly states the verb 'Create' and the resource 'Salesforce campaign', which is specific and distinguishes it from sibling tools like sf_update_campaign or sf_get_campaign.

    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, nor any prerequisites or conditions for invocation.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only states the basic operation. It does not disclose side effects like duplicate checking, permission requirements, or behavior when lead already exists.

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

    Conciseness4/5

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

    Single sentence with no fluff, but it sacrifices completeness for brevity. Information that could aid the agent is omitted.

    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 8 parameters and no output schema, the description is insufficient. It does not explain return values, expected behavior, or how to handle errors.

    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 input schema has 8 parameters with no descriptions (0% coverage). The description adds no meaning beyond parameter names, which are self-explanatory but lack context like formats or constraints.

    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 a new Salesforce lead' clearly states the verb (Create) and resource (Salesforce lead), distinguishing it from sibling tools like sf_convert_lead, sf_get_lead, and sf_update_lead.

    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 does not mention when to use this tool or alternatives. For example, it doesn't clarify whether to use sf_contact_by_email or sf_search_leads first.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full responsibility for disclosing behavior. It only states the basic function and lacks details about output format, pagination, error handling, or permissions. For a list tool, this is insufficient for an agent to understand side effects or data 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 a single sentence with no wasted words. It is efficient, though adding structure (e.g., bullet points for parameters) could improve scanability without sacrificing 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?

    Given the lack of an output schema and the presence of many sibling tools, the description should at least hint at what the response contains. It does not, leaving the agent guessing about return fields or pagination. The description is too minimal to be considered 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 fully describes both parameters (accountId and limit) with types, constraints, and defaults. The description adds no extra meaning beyond the schema, but since schema coverage is 100%, 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 clearly states the action 'List' and the resource 'contacts associated with a Salesforce account', making the purpose unambiguous. However, it does not explicitly differentiate from sibling tools like sf_search_contacts, which may have similar functionality.

    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 (e.g., sf_search_contacts) or any prerequisites or context. The agent receives no help in deciding between similar tools.

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

  • 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 only states the basic purpose. It omits behavioral details like whether listing respects permissions, rate limits, or pagination behavior.

    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 sentence with no wasted words, though it could be slightly more informative without losing 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?

    Given the absence of an output schema and annotations, the description fails to specify what information is returned (e.g., report names, IDs, metadata), leaving the agent uncertain about the tool's output.

    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% (folder parameter has a description, limit does not). The tool description adds no parameter information beyond what the schema provides, failing to compensate for the 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?

    The description clearly states the action ('List') and the resource ('available Salesforce Analytics reports'), effectively distinguishing it from sibling tools like sf_run_report which executes a 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?

    No guidance is provided on when to use this tool versus alternatives such as sf_get_report_metadata or sf_run_report, nor are there any prerequisites or context for use.

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

  • 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. It implies a read operation ('retrieve') but does not explicitly state that it is read-only, nor does it disclose any behavioral traits such as sorting, time frame for 'recent', or impact on data.

    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 that is concise and front-loaded. However, it could include more structured information without adding much length.

    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 returns tasks and events, but the description lacks details on output format, sorting, definition of 'recent', and does not refer to related sibling tools. Given the absence of an output schema and the tool's complexity, it is incomplete.

    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 has 0% description coverage, and the description does not explain the parameters. 'contactId' is implied but not explicitly linked, and 'limit' is not mentioned at all. The description adds minimal semantic value 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 clearly states the verb 'retrieve' and the resource 'recent tasks and events associated with a specific contact', distinguishing it from the sibling tool 'sf_recent_activities_by_lead' which targets leads.

    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 'sf_recent_activities_by_lead' or when the tool is not appropriate. The description lacks explicit context on usage scenarios.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. Describes ranking but omits behavior details like date filtering, sorting, pagination, or whether it's read-only. Missing critical context for a ranking 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?

    Single sentence, no wasted words, front-loaded. Could be slightly more informative without losing 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?

    No output schema, no annotations, 4 parameters. Description does not explain return format, date range handling, or that it returns top N campaigns. Incomplete for a ranking tool.

    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 0%, so description must explain parameters. It only lists metrics but does not describe 'limit', 'dateFrom', or 'dateTo' beyond schema defaults. Fails to compensate for lack of schema documentation.

    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?

    Description uses specific verb 'rank' and resource 'campaigns' with clear criteria. It distinguishes from sibling tools like sf_list_campaigns which lists all campaigns, and sf_pipeline_by_campaign which shows pipeline 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 on when to use this tool over other campaign-related siblings (e.g., sf_campaign_influence, sf_campaign_roi). No exclusions or alternatives mentioned.

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

  • Behavior3/5

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

    The description implies a read operation ('list') and mentions optional filters, but no annotations are provided. It does not disclose pagination, rate limits, or exactly what data is returned. Transparent enough for a simple list but lacks depth.

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

    Conciseness5/5

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

    Single sentence, front-loaded, no redundant words. Efficiently conveys purpose and key filters.

    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 output schema or annotations. Missing details on return fields, pagination behavior, and error handling. For a list tool with many siblings, more context is needed to help agent choose 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?

    Schema description coverage is 50% (type and status have descriptions). The description only lists filter names without adding meaning beyond param names (e.g., does not specify defaults, min/max for limit, or accepted values for status/type).

    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 tool lists Salesforce campaigns with optional filters, using the verb 'list' and resource 'campaigns'. It distinguishes from sibling 'sf_get_campaign' (single campaign) but not from other list tools like 'sf_list_objects'.

    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 vs alternatives, such as whether to use it for campaign summary vs. detailed member lists. No exclusions or recommended scenarios.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only states a read operation ('Show'), but lacks details on permissions, data freshness, aggregation logic, or any side effects. For a simple read tool, 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.

    Conciseness5/5

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

    The description is a single front-loaded sentence with no unnecessary words. Every part is essential for understanding 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?

    Given no output schema, the description should explain what the tool returns (e.g., aggregate numbers, list items). It only describes the input, leaving the output implied. The description is adequate but not fully complete for a summary 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?

    The schema covers 100% of parameters with descriptions. The description adds 'closing within a date range', which ties the two parameters together but does not add new meaning beyond what the schema already implies. 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 clearly states the action ('Show'), the resource ('forecasted pipeline for open opportunities'), and the constraint ('closing within a date range'). While it doesn't explicitly differentiate from siblings like sf_pipeline_summary, the specific mention of forecasted pipeline and date range provides sufficient 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?

    The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use, or compare to sibling tools such as sf_pipeline_summary or sf_pipeline_by_campaign.

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

  • Behavior2/5

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

    With no annotations provided, the description must fully convey behavioral traits. It indicates the tool lists members with lead/contact details, implying a read operation, but does not disclose pagination (limit parameter is mentioned in schema but not in description), rate limits, authentication needs, or that results are scoped to a single campaign. The description is insufficient for a tool with zero annotation coverage.

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

    Conciseness4/5

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

    The description is a single sentence that efficiently conveys the core purpose. It is front-loaded with the action and resource. However, it could be slightly more structured by mentioning the key parameters (campaign ID) and return format.

    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's moderate complexity (3 parameters, no output schema), the description is incomplete. It does not explain the optional status and limit parameters, nor does it describe the expected return format (e.g., list of objects with fields). The presence of sibling tools with overlapping scopes further underscores the need for more contextual 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 67% (campaignId and status have descriptions). The description adds no additional semantics beyond reinforcing that members include lead/contact details. Since coverage is high but the description does not enhance the schema, a 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 clearly states 'List members of a Salesforce campaign' – a specific verb and resource. With sibling tools like sf_add_campaign_member and sf_update_campaign_member_status, this description unambiguously differentiates the tool as a read-only listing 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?

    The description provides no guidance on when to use this tool versus alternatives such as sf_get_campaign, sf_campaign_member_status_breakdown, or sf_list_tasks_by_campaign. No exclusions or preferred contexts are given.

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

  • Behavior3/5

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

    The description implies a read-only retrieve operation, which is transparent. However, it does not disclose the definition of 'recent', ordering, pagination, or required permissions. Since no annotations are provided, the description carries the full burden but 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.

    Conciseness5/5

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

    The description is a single sentence with no unnecessary words or redundancy. It is front-loaded and 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?

    The description covers the basic purpose but omits details on return format, default behavior, error cases, and timeframe for 'recent'. Given the absence of output schema and annotations, more context is needed for an agent to use the tool 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?

    With 0% schema description coverage, the description adds no value beyond the parameter names. 'leadId' and 'limit' are somewhat self-explanatory, but the description does not clarify their purpose, format, or behavior (e.g., what 'limit' controls). A brief explanation would improve usability.

    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 ('retrieve') and resource ('recent tasks and events') and specifies association with a specific lead. However, 'recent' is vague and the description does not explicitly differentiate from sibling tools like sf_recent_activities_by_contact or sf_list_tasks_by_lead.

    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 sf_get_lead, sf_list_tasks_by_lead, or sf_activity_summary. The description lacks context about use cases, prerequisites, or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavioral traits. It does not mention whether the operation is read-only (likely read-only but not stated), rate limits, or behavior on large reports.

    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 that front-loads the key action and output. No unnecessary words or extraneous 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?

    Given no output schema, no annotations, and incomplete parameter descriptions, the description is too brief. It does not explain the format of returned rows, filtering behavior, or any limitations, leaving gaps for proper tool use.

    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 input schema has 2 parameters (reportId with brief description, filters with no property-level description). The description adds no additional meaning beyond the schema; it does not explain how filters affect the result or what structured rows look like.

    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 specifies the verb 'Execute' and the resource 'Salesforce Analytics report', and clearly states the output is 'structured rows'. This distinguishes it from sibling tools like sf_get_report_metadata (metadata) and sf_list_reports (listing reports).

    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 vs alternatives like sf_get_report_metadata or sf_list_reports. Prerequisites, such as the report existing, are not mentioned.

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

  • Behavior2/5

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

    No annotations provided and description fails to disclose side effects, permissions, or error behavior beyond 'update any fields', which is insufficient 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?

    Single, clear sentence with no wasted words, though could benefit from slightly more detail without becoming verbose.

    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 output schema and description omits return value or confirmation of update; for a simple update tool, missing context about what happens after execution.

    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 covers all parameters with descriptions; description adds no extra meaning beyond what schema already provides. Baseline 3 is appropriate.

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

    Purpose5/5

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

    Clearly states verb 'Update' and resource 'Salesforce contact', distinguishing it from create, get, and other update tools for different objects.

    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 vs alternatives like sf_update_lead or sf_create_contact, nor any prerequisites or post-conditions.

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

  • Behavior2/5

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

    No annotations are present, so the description must fully convey behavioral traits. It states the tool retrieves a full record with performance metrics but does not specify return format, authentication needs, rate limits, or any side effects. This is insufficient for a mutation-free read.

    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 extraneous information. It is efficiently front-loaded, but could include more details without becoming verbose.

    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 one parameter, no output schema, and no annotations, the description is minimally adequate. However, 'all performance metrics' is vague, and the tool's role among many campaign siblings is not clarified, leaving gaps for an AI 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 schema has 100% coverage with a single parameter 'id' described as 'Salesforce Campaign ID'. The tool description adds no additional meaning beyond this, 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.

    Purpose5/5

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

    The description clearly states 'Retrieve a full Salesforce campaign record with all performance metrics', using a specific verb and resource, and it distinguishes this tool from siblings like sf_create_campaign, sf_update_campaign, and sf_list_campaigns.

    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 sf_list_campaigns or sf_get_campaign_members. The description lacks context for selection among siblings.

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

  • Behavior3/5

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

    No annotations provided. Description implies read-only operation ('Retrieve'), which is accurate. However, lacks disclosure of any behavioral traits such as return format, pagination, or permissions. For a simple retrieval, this is adequate but not thorough.

    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?

    Single sentence, no waste, directly states purpose. Could be improved by front-loading the most critical info, but current structure is efficient and clear.

    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 simplicity (one param, no output schema), description is somewhat complete. However, does not explain what 'full record' entails, nor mentions any limits or common use cases. Context from sibling tools suggests it's part of a CRM suite, but the description alone is minimally 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?

    Only one parameter (id) with schema description 'Salesforce Contact ID'. Description adds 'including Account name' but that refers to output, not parameter. Schema coverage is 100%, so baseline 3 applies; description provides no extra 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?

    Description clearly states the tool retrieves a full Salesforce contact record including Account name. Verb 'Retrieve' and resource 'Salesforce contact record' are specific. Distinguishes from siblings like sf_get_account or sf_get_lead by focusing on 'contact', but does not explicitly differentiate.

    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. Does not specify prerequisites, when not to use, or compare with similar tools like sf_search_contacts or sf_get_account.

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

  • Behavior2/5

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

    The description implies a write operation but lacks details on side effects, return values, permission requirements, or whether updates are partial or full replacements. With no annotations, the description carries the burden, and it fails to disclose these aspects.

    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 that conveys the core purpose without unnecessary words. It is front-loaded and 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?

    The tool modifies data but provides no information about output, error handling, confirmation, or required permissions. Given the absence of an output schema and the presence of nested parameters, the description is insufficiently complete for safe 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 has 100% description coverage with clear parameter descriptions. The tool description adds 'any fields', which is already implied by the 'fields' object. It does not provide additional formatting or allowed values 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 clearly states the action ('Update') and the resource ('any fields on an existing Salesforce campaign'). It effectively differentiates from sibling tools like sf_create_campaign or sf_get_campaign.

    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 (e.g., sf_update_campaign_member_status, sf_update_contact). There are no prerequisites or context about when updates are appropriate.

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

  • Behavior2/5

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

    No annotations exist, so description must disclose behavioral traits. It only says 'update' without detailing side effects, permissions, idempotency, or return 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?

    Single sentence, no filler, directly communicates the action. Efficient and front-loaded.

    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 output schema and minimal description. Lacks information about return values, error conditions, or behavior for partial updates. Incomplete for an update operation with three parameters.

    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 has 0% description coverage. Description clarifies that 'status' and 'hasResponded' are the updateable fields but does not explain valid values or the role of campaignMemberId. Adds some meaning but insufficient for full parameter understanding.

    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?

    Clearly states verb (update), resource (campaign member), and modifiable fields (status and/or HasResponded). Distinguishes from sibling tools like sf_add_campaign_member (create) and sf_get_campaign_members (read).

    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 vs. alternatives, no prerequisites or conditions mentioned. With many sibling tools, explicit usage context is missing.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full burden. It indicates a read operation but does not disclose any behavioral traits such as authentication needs, rate limits, or what exactly counts (e.g., does it count only activities owned by the user?). Minimal 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?

    A single, clear sentence with 14 words, no redundancy. Front-loaded with the action and resource.

    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 lack of output schema, zero annotation coverage, and three parameters, the description is too sparse. It does not specify what the output format is, whether time range is inclusive, or any contextual constraints. Leaves many unknowns for an agent.

    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 0%. The description adds meaning for the groupBy parameter by listing its enum values, but the dateFrom and dateTo parameters are not described. It partially compensates for the missing schema documentation but is incomplete.

    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 clearly states the verb 'Summarize' and the resource 'task and event activity counts', with grouping options enumerated. It distinguishes from sibling tools like sf_lead_source_breakdown or sf_campaign_influence by being a summary aggregation.

    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 usage for aggregated counts by the specified groupings, but provides no explicit guidance on when to use this tool versus alternatives, and no exclusions or prerequisites.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. Only states creation, omitting side effects, authentication needs, error handling, or behavior on invalid references.

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

    Conciseness5/5

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

    Single sentence, no fluff. Efficiently communicates core functionality.

    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, the description is too brief. Lacks return value info, error handling, examples, or prerequisites for a creation tool.

    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 43%, and description adds no parameter details beyond what the schema already provides. Fields like 'subject' and 'description' remain unexplained.

    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?

    Clearly states the verb (Create), resource (Salesforce task), and linking objects (lead, contact, campaign, or opportunity). Distinct from sibling create tools for leads, contacts, campaigns, etc.

    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?

    Implies usage for creating tasks linked to specific entities, but lacks explicit when-to-use vs alternatives. No guidance on when not to use or which sibling to choose.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not disclose behavioral traits beyond the read action implied by 'Retrieve'. Missing details like authorization requirements, rate limits, or what constitutes a 'full record'.

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

    Conciseness5/5

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

    Single sentence with zero wasted words, front-loaded with verb 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 simple retrieval tool with one parameter and no output schema, the description is minimally complete. However, the term 'full record' is vague and could be more specific about the response shape.

    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 the parameter 'id' described as 'Salesforce Lead ID'. The description adds 'by ID' but does not provide additional meaning beyond the schema, so baseline 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 the specific verb 'Retrieve' and resource 'a full Salesforce lead record' with the key parameter 'by ID', clearly distinguishing it from sibling tools like sf_get_account or sf_get_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 explicit guidance on when to use this tool versus alternatives such as sf_search_leads or sf_convert_lead. The simplicity of the tool makes the purpose clear, but no usage context is provided.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only states what is aggregated but does not disclose behavioral traits like read-only guarantee, data freshness, error handling, or whether dates are required. Lacks detail on side effects or limitations.

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

    Conciseness5/5

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

    Single sentence of 10 words, no redundancy. Front-loaded with the action and key resources. Every word is necessary and sufficient for the core 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 simple aggregation with only two parameters and no output schema, the description covers the what but not the shape of results or behavior when parameters are omitted. However, given the low complexity and rich schema coverage, it is minimally 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% with both parameters described as 'ISO date YYYY-MM-DD'. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate. It does not clarify if dates are required or optional, but the schema shows zero required 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 clearly states it aggregates lead volume, conversion rate, and opportunity revenue by lead source. It uses a specific verb ('aggregate') and resource ('lead volume, conversion rate, and opportunity revenue by lead source'), distinguishing it from similar siblings like sf_pipeline_by_lead_source which focuses on pipeline rather than conversion rate and volume.

    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 such as sf_lead_conversion_metrics or sf_pipeline_by_lead_source. Sibling list includes many similar aggregation tools, but the description does not help the agent decide which to invoke.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not disclose behavioral traits like side effects, permissions, or error handling. It only implies a read operation without explicitly stating it.

    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 of 10 words, front-loaded with the action and resource. Every word is necessary, no fluff.

    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 simple input (one required string) and no output schema, the description adequately explains the tool's purpose and what it returns (a count breakdown). However, it could be slightly more explicit about the output structure, e.g., 'returns a map of status to count'.

    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 0% description coverage for the single parameter campaignId. The description adds meaning by linking it to 'a specific campaign', but does not elaborate on format or restrictions. This provides minimal additional value 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 clearly states it 'shows a count breakdown of campaign member statuses', which is a specific verb and resource. It distinguishes from siblings like sf_get_campaign (which gets campaign details) and sf_get_campaign_members (which lists members).

    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, nor any conditions or prerequisites. The description only states what it does, not when it is appropriate.

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

  • Behavior2/5

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

    No annotations provided, so description bears full burden. It only states what it shows, not behavioral traits like read-only, no side effects, or date range handling. Lacks transparency for a data query 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?

    Single sentence, efficient, front-loaded with the core action. No wasted 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?

    Adequate for a simple trend tool but lacks details on date range, grouping behavior, return format, and how it relates to sibling analytics tools. Could be more complete given no output 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 has 0% description coverage for parameters. The description only implies groupBy via 'grouped by week or month' but does not explain what campaignId is or provide format/usage details. Fails to add significant meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states it shows campaign member additions over time grouped by week or month. It uses a specific verb ('Show') and resource, distinguishing it from siblings like status breakdown or influence 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 (when needing trend data) but no explicit guidance on when to use this vs alternatives like sf_campaign_member_status_breakdown or sf_campaign_influence. No when-not-to-use or prerequisite information.

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

  • Behavior2/5

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

    With no annotations, the description should disclose behavioral traits. It only states the action and grouping, but does not mention read-only nature, error states, or data limitations (e.g., handling of missing dates, default behavior). This is minimal disclosure for a query 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?

    A single concise sentence that front-loads the action and resource. Every word is necessary; no redundancy.

    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 lack of output schema and annotations, and 4 parameters with 0% schema coverage, the description is incomplete. It does not explain the output format, volume calculation, or date range handling, leaving significant ambiguity for an AI 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 coverage is 0% (no parameter descriptions in schema). The description adds some meaning for 'statusValue' (MQL or any lead status) and 'groupBy' (week/month), but does not explain 'dateFrom' and 'dateTo', leaving those parameters unclear.

    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 clearly states the verb ('Show'), resource ('MQL or any lead status volume trend'), and time grouping ('over time grouped by week or month'), distinguishing it from sibling tools like 'sf_campaign_performance_trend' which focuses on campaigns.

    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 usage for trend analysis but does not explicitly state when to use this tool vs. alternatives, nor does it mention exclusions or prerequisites. The context is clear but lacks guidance on 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.

  • Behavior2/5

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

    No annotations provided. The description mentions 'using SOSL' but does not disclose behavioral traits such as case sensitivity, partial matching, or which fields are searched. Minimal behavioral info beyond the method used.

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

    Conciseness5/5

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

    Single sentence, front-loaded with purpose, no wasted 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?

    Despite low complexity, the description lacks details on SOSL behavior, wildcard support, or what fields are searched. No output schema. Incomplete for an agent to fully understand the tool's 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?

    Input schema covers both parameters (q, limit) with descriptions. The tool description does not add further meaning beyond the schema. With schema coverage at 50% (actually 100%? both params described), baseline 3 is appropriate.

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

    Purpose5/5

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

    The description states 'Search Salesforce contacts by name or email using SOSL', clearly specifying the verb (Search), resource (Salesforce contacts), and method (SOSL). This distinguishes it from sibling tools like sf_search_accounts and sf_search_leads.

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

    Usage Guidelines3/5

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

    No explicit guidance on when to use this tool vs alternatives like sf_contact_by_email, sf_get_contact, or sf_list_account_contacts. The usage context is implied but not clarified.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully convey behavioral traits. It mentions 'using SOSL' but does not disclose return format, pagination, or limitations (e.g., whether results are truncated). This leaves significant gaps for the agent.

    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, no wasted words, and front-loads the key action and target. Every word is essential.

    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 output schema and only two parameters, the description is too sparse. It does not mention what fields are returned, whether results are paginated, or any behavioral nuance needed for safe 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 50% (only 'q' has a description). The description adds context that the query can be by name, email, or company, but does not explain the 'limit' parameter's behavior beyond what schema provides (min/max/default).

    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 clearly states the verb 'search' and the resource 'Salesforce leads', specifying search criteria (name, email, or company). This effectively distinguishes it from sibling search tools like sf_search_accounts and sf_search_contacts.

    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 does not explicitly state when to use this tool versus alternatives (e.g., sf_get_lead for exact ID lookups or sf_run_soql for custom queries). Usage context is implied but not clarified.

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

  • Behavior3/5

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

    No annotations provided, so description carries the burden. It states a mutation operation but does not disclose required permissions, side effects, or error handling. 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.

    Conciseness4/5

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

    Single sentence is concise and front-loaded with action and object; no unnecessary words, though could be slightly more descriptive.

    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 update tool with good schema coverage and no output schema, the description is acceptable but missing usage guidelines and behavioral details, reducing 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 covers both parameters with descriptions; description adds no extra meaning beyond what the schema already provides. Baseline score 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?

    Description clearly states the verb 'update' and resource 'existing Salesforce lead', distinguishing it from sibling tools like create, convert, or get lead 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?

    No guidance on when to use this tool versus alternatives such as 'sf_convert_lead' or 'sf_get_lead'; lacks 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.

  • Behavior3/5

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

    With no annotations provided, the description carries full burden for transparency. It discloses the maximum number of matches (10), which is a useful constraint. However, it does not state whether this is a read-only operation, what happens with no match, or any 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.

    Conciseness5/5

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

    The description is a single, front-loaded sentence that conveys the core purpose and a key constraint. Every word is necessary; there is no redundancy or unnecessary detail.

    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 the tool's simplicity (one required parameter, no output schema, no annotations), the description is mostly adequate. However, it omits details about the output structure (e.g., what contact fields are returned) and error conditions, leaving the agent to infer the response format.

    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 baseline is 3. The description adds 'by email address' and the match limit, which provides context beyond the schema's 'Email address to look up'. However, no additional details about email format or case sensitivity 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 clearly identifies the tool's action ('Find'), resource ('Salesforce contacts'), and search criteria ('by email address') with an explicit match limit ('up to 10 matches'). This clearly distinguishes it from sibling tools like sf_search_contacts and sf_get_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?

    The description provides no guidance on when to use this tool versus alternatives. It does not mention that sf_search_contacts offers broader search capabilities or that sf_get_contact is for specific record lookup by ID. The agent receives no decision context.

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

  • Behavior3/5

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

    No annotations provided, so the description carries the full burden. It implies a read operation (describing metadata) without side effects. However, it does not mention authentication requirements, rate limits, or that it is safe to call. Adequate but could be more explicit.

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

    Conciseness5/5

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

    Single sentence with no unnecessary words. Front-loaded with purpose and outcome. Highly 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 tool with two parameters and no output schema, the description covers the basic behavior. It mentions 'all fields, types, and metadata' but could elaborate on the structure (e.g., includes field labels, relationships). Adequate but not exhaustive given Salesforce metadata 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 coverage is 100%, and the schema already describes both parameters (object API name, fieldsOnly boolean). The description adds no additional meaning beyond what the schema provides. 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 the verb 'Describe' and specifies the resource 'Salesforce SObject', clearly stating it returns all fields, types, and metadata. It distinguishes from sibling tools like sf_list_objects (lists objects) and sf_get_* (retrieves records).

    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 such as sf_list_objects or sf_run_soql. The description does not specify 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.

  • Behavior2/5

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

    With no annotations, the description must convey behavioral traits, but it only states the operation ('Show'). It does not disclose whether the tool is read-only, requires specific permissions, what data freshness is, or if it aggregates historical data. The description is minimal and lacks depth.

    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 of 8 words, containing no redundancy or unnecessary information. It is front-loaded and efficiently communicates the core action and grouping dimensions.

    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 the tool's low complexity (3 parameters, no output schema), the description is minimally viable. However, it lacks details on the return format, date range semantics (e.g., inclusive/exclusive), and whether conversion rates are calculated per lead or per campaign. With no annotations or output schema, more contextual details would aid 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?

    The input schema has 0% description coverage, so the description must compensate. It explains the 'groupBy' parameter options ('lead source or campaign') but does not describe 'dateFrom' or 'dateTo'. This partial coverage (2 of 3 parameters) adds some semantic value but leaves gaps.

    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 ('Show') and resource ('lead conversion rates') with clear grouping dimensions ('by lead source or campaign'). It uniquely identifies the tool's purpose and distinguishes it from sibling tools like 'sf_lead_source_breakdown' which likely show counts, not conversion rates.

    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 viewing conversion rates aggregated by source or campaign, but it provides no explicit guidance on when to use it over similar tools (e.g., 'sf_pipeline_by_lead_source') or when not to use it. No prerequisites or alternative tools are mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions using SOSL but does not disclose behavioral traits like read-only nature, authentication requirements, rate limits, or return format. The description 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.

    Conciseness5/5

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

    The description is a single sentence, concise, and front-loaded with the key action and resource. No superfluous 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?

    Given the tool's simplicity (2 params, no output schema), the description is adequate but lacks details on return values, pagination, or error handling. Sibling tools suggest a search domain, but no comparative context is provided.

    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 50% (only 'q' has a description). The description adds 'by name' which aligns with 'q' but adds no further meaning beyond the schema. 'limit' is not described, leaving a gap. Baseline is 3 due to moderate coverage.

    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 clearly states the action ('Search'), the resource ('Salesforce accounts'), and the method ('using SOSL'). It effectively distinguishes from sibling tools like sf_search_contacts and sf_search_leads by specifying 'accounts' and 'by name'.

    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 usage for searching accounts by name, but provides no explicit guidance on when to use this tool versus alternatives (e.g., sf_search_contacts, sf_search_leads). No when-not scenarios are mentioned.

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

  • Behavior3/5

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

    With no annotations, the description must disclose behavioral traits. It correctly states 'Retrieve', suggesting a read-only operation, and mentions the additional data returned (opportunity count, lead count). However, it does not mention required permissions, error handling for missing IDs, data freshness, or whether the tool modifies state. Adequate for a simple retrieval but lacks depth.

    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 of 10 words, containing all essential information without redundancy. Every word adds value, making it highly efficient and easy 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?

    Given the tool's simplicity (one parameter, no output schema, no annotations), the description provides a functional overview. However, it lacks details on the response format (other account fields returned) and does not explicitly state that the id is required (though the schema does). Slightly more context 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?

    The input schema is fully described (100% coverage) with a clear description of the 'id' parameter. The tool description adds no further meaning to the parameter 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.

    Purpose5/5

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

    The description clearly states the verb 'Retrieve' and the resource 'a Salesforce account', specifying that it includes 'open opportunity count and lead count'. This distinguishes it from other retrieval tools like sf_get_contact or sf_get_lead, making the purpose highly specific and unambiguous.

    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 use for retrieving account details with related counts but provides no explicit guidance on when to use this tool over alternatives such as sf_run_soql or other account-focused tools. The purpose is clear, but the lack of exclusion criteria or context for selection lowers the score.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It states the tool retrieves metadata, implying a read operation, but does not disclose authorization needs, rate limits, or potential side effects. The description is factually accurate but minimal.

    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 10-word sentence with no fluff. It is front-loaded and efficiently conveys the core 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?

    Given the tool has no output schema, the description does not detail the return structure (e.g., format of column definitions and groupings). For a simple one-parameter retrieval, it is adequate but leaves the agent uncertain about the exact output.

    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 the single parameter reportId, which has a clear description in the schema. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states it retrieves 'column definitions and groupings' for a Salesforce Analytics report, using the verb 'retrieve' and a specific resource. This distinguishes it from siblings like sf_run_report (which returns data) and sf_list_reports (which lists reports).

    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 usage for metadata retrieval but provides no explicit guidance on when to use this tool vs alternatives like sf_run_report or sf_list_reports. The purpose is clear, but there are no exclusions or comparisons.

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

  • Behavior3/5

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

    No annotations provided, so description bears full burden. It mentions 'raw SOQL query' but does not clarify read-only nature, error behavior, or governor limits.

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

    Conciseness5/5

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

    Single, front-loaded sentence that effectively communicates purpose and context with no wasted 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?

    Simple tool with no output schema; description omits details like valid SOQL syntax and return format, but adequate for an advanced 'escape hatch' use case.

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

    Parameters3/5

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

    Schema coverage is 100% with descriptions for both parameters. Description adds no additional meaning beyond what schema provides, earning baseline 3.

    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?

    Description clearly states 'Execute a raw SOQL query against Salesforce' using specific verb and resource. The 'escape hatch' phrase distinguishes it from standard query tools like sf_run_report or sf_list_objects.

    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 'escape hatch for advanced queries' implies use when standard tools are insufficient, but does not explicitly list alternatives or conditions for when not to use.

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

  • Behavior4/5

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

    With no annotations, the description carries the transparency burden. It discloses that only 'queryable' objects are returned and that filters are case-insensitive. However, it does not mention permissions, side effects (though likely none), or that it is read-only, which is implied but not explicit.

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

    Conciseness5/5

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

    A single sentence with front-loaded purpose: 'List all queryable Salesforce SObjects'. Every word is necessary; no redundancy.

    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 list tool, the description covers purpose and filter options. However, it does not mention the return format (e.g., object names, labels) or any limits. With no output schema, a brief note on what is returned 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?

    The schema provides 100% coverage with descriptions for both parameters ('filter' and 'customOnly'). The description only reiterates 'optional name filter' without adding new information, so it meets the baseline but adds no extra value.

    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 clearly states the verb 'List' and the resource 'queryable Salesforce SObjects', with an optional filter. This distinguishes it from siblings like sf_describe_object (describes a specific object's fields) and sf_run_soql (runs a query).

    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 implicitly indicates when to use (e.g., discover available objects), but does not explicitly state when not to use or compare with alternatives. No guidance on exclusions or sibling comparisons.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

salesforce-marketing-mcp MCP server

Copy to your README.md:

Score Badge

salesforce-marketing-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZLeventer/salesforce-marketing-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server