Skip to main content
Glama
josemachado-vp

SF Assistant MCP Server

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes, but there is some overlap among similar validation tools (e.g., validate_import_template vs validate_migration_file) and workbook generation tools (generate_fo_workbook vs generate_rules_workbook). Descriptions help clarify differences, but an agent might occasionally select the wrong one.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (e.g., audit_employee_data, compare_employees, generate_cutover_checklist). Verbs are imperative and clear, with no mixed casing or inconsistent styles.

    Tool Count3/5

    With 52 tools, the set is relatively large. While SuccessFactors is complex and the tools cover many operations, the count feels slightly excessive. Some clustering of similar tools (e.g., multiple validate_* or generate_* tools) could be consolidated, but the scope still justifies the number.

    Completeness5/5

    The tool set covers an extensive range of operations: data integrity checks, instance comparisons, migration support, rule lifecycle (spec, test, simulation, trace), validation, employee data retrieval, and more. There are no obvious gaps for the stated purpose of assisting with SF configuration and migration.

  • Average 3.6/5 across 52 of 52 tools scored. Lowest: 2.9/5.

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

    • No community issues in the last 6 months
    • 2 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • 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

  • Behavior2/5

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

    With no annotations, the description carries the full burden. It discloses the check mechanism and reporting of missing fields, but does not mention permissions, authentication requirements (implied by auth_user_id and auth_password parameters), or whether the tool modifies data. The existence of an output schema partially offsets the lack of return value details.

    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 two sentences, front-loading the primary action. It is concise and to the point, but could be slightly more structured. 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?

    Given the tool has 6 parameters and an output schema, the description is incomplete. It fails to explain optional parameters, authentication needs, or default behavior for max_employees. The core validation logic is explained, but for a compliance tool with many fields, more context is needed.

    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?

    Only 2 of 6 parameters have schema descriptions, and the tool description adds no additional parameter context. For example, user_ids and auth parameters are not explained. The description does not compensate for the low schema coverage (33%).

    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 validates employees against country-specific required fields from a knowledge base and reports missing/empty fields. The verb 'validate' and resource 'country compliance' are specific, and the tool distinguishes itself from siblings like 'audit_employee_data' by focusing on compliance requirements.

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

    Usage Guidelines2/5

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

    The description only notes it is 'Essential for payroll and compliance readiness' but does not specify when to use this tool versus alternatives (e.g., get_country_specific_fields or audit_employee_data). No guidance on 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?

    No annotations provided, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or side effects. Auth parameters are present but unexplained.

    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 concise with two sentences, but the second sentence is somewhat dense. It could be restructured for clarity.

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

    Completeness3/5

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

    Given the presence of an output schema, return values are covered. However, with 7 parameters and low schema coverage, more details on auth and data_center would improve completeness.

    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 14% (only max_results has a description). The description explains three filter parameters (scenario, base_object, name_search) but ignores auth_user_id, auth_password, and data_center, leaving ambiguity.

    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 that the tool lists business rules and mentions filtering options, but does not differentiate from sibling list tools like list_entities or list_foundation_objects.

    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 provides a usage hint ('useful to understand what rules are already in place before creating new ones'), but does not explicitly state when not to use or mention alternatives.

    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 warns that gaps/overlaps are 'silent and destructive data bugs' and gives a concrete example. However, without annotations, it does not disclose whether the tool is read-only or has side effects, and it omits expected output or error 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 three sentences including a helpful example. It is front-loaded with the purpose and adds value with the warning. 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?

    An output schema exists, but the description doesn't mention what the output contains (e.g., list of gaps/overlaps). For a validation tool with 6 parameters, more context about validation scope or prerequisites would improve completeness.

    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 33% (entity and max_employees described). The description adds no meaning to user_ids, data_center, auth_user_id, or auth_password. It does not compensate for the undocumented parameters.

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

    Purpose4/5

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

    The description states clearly that the tool validates effective dating for time-sliced entities by detecting gaps and overlaps. This is a specific verb and resource, but it does not explicitly distinguish it from sibling tools like find_data_anomalies or reconcile_data.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, limitations, or contextual hints such as 'use this to check for missing records'.

    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?

    Describes what is validated and that findings are returned with severity levels. But it does not state whether data is modified, auth requirements (though auth params exist), or other side effects. No annotations provided.

    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?

    Short two-sentence description with clear purpose and list of checks. Could be slightly more efficient by front-loading the key action, but overall no waste.

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

    Completeness2/5

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

    Despite having an output schema, the description lacks detail on parameter usage (especially 'checks' and auth), making it incomplete for the tool's complexity and sibling context.

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

    Parameters2/5

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

    With schema description coverage at 20%, description should compensate. It lists checks in prose but does not explain the 'checks' parameter or auth-related parameters (data_center, auth_user_id, auth_password). Only user_id is obvious.

    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?

    Clearly states the tool runs data integrity checks on a single employee, listing specific validations. However, it does not explicitly differentiate from siblings like 'find_data_anomalies' or 'reconcile_data'.

    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?

    Implied usage is auditing a single employee, but no when-not or alternatives are provided. Given many sibling tools, explicit guidance would help.

    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?

    There are no annotations, so the description must carry the full burden. It notes that including headcount requires additional API calls, which is a behavioral trait. However, it does not disclose authentication requirements, data freshness, rate limits, or side effects. The auth parameters in the schema are not explained in the description.

    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 concise at four sentences. It front-loads the main purpose and then provides necessary details. Every sentence adds value with no redundancy or filler.

    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 complexity (7 parameters and an output schema), the description covers the core functionality well. However, it does not explain how parameters like 'parent_code' or 'data_center' affect the query, and it lacks guidance on typical use cases or limitations. The output schema exists, so return values are not required in the description.

    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 43%, meaning over half of parameters lack schema descriptions. The description adds value by listing valid values for 'level' and explaining 'include_headcount' (cross-referencing with EmpJob). However, it does not clarify the purpose or format of 'data_center', 'parent_code', or the auth fields, leaving significant gaps.

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

    Purpose4/5

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

    The description clearly states that the tool retrieves organizational structure at a specific level by querying Foundation Object entities. It lists the available levels and mentions optional headcount inclusion, which distinguishes it from siblings like get_org_chart (likely full hierarchy) and get_headcount (aggregate count). However, it does not explicitly name alternatives, so it falls short of a 5.

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

    Usage Guidelines3/5

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

    The description implies when to use the tool (need hierarchical data at one level) but does not explicitly state when not to use it or mention alternative tools. The mention of optional headcount hints at use cases, but no exclusions or comparisons are provided.

    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?

    Discloses that it fetches profiles 'in parallel' and returns a comparison matrix. No annotations provided, so description is the only source. Missing details on authentication requirements (auth_user_id, auth_password) and whether the operation is read-only, which are relevant for behavioral understanding.

    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?

    Description is short and front-loaded with purpose. Two paragraphs, no wasted words. However, the second sentence about parallel fetching could be integrated into the first for better flow.

    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 5 parameters including authentication-related ones and an output schema exists, the description covers the main purpose and returns a matrix but omits important context like how authentication is handled and what the compare_fields parameter does. The existence of output schema reduces need to explain return format, but authentication context is still missing.

    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% (only user_ids has schema description). The tool description does not explain the other four parameters (data_center, auth_user_id, auth_password, compare_fields), leaving them ambiguous. For user_ids, the schema already defines the constraint (2-5 employees) but description does not reinforce it.

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

    Purpose4/5

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

    Clear verb and resource: 'compare multiple employees' and 'returns a comparison matrix'. Specific to employees and distinguishes from other comparison tools like compare_business_rules, but does not explicitly differentiate from sibling tools that also deal with employees (e.g., audit_employee_data, search_employees).

    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?

    States 'Useful for auditing or verifying employee data consistency', which gives context for when to use. However, it does not mention when not to use or provide alternatives, leaving the agent to infer from sibling tool names.

    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 are provided, so the description carries full burden. It mentions reading all business rules from RuleHeaderBean, mapping to columns, and preserving other sheets unchanged, which gives some insight. However, it omits side effects (e.g., overwriting) and access requirements.

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

    Conciseness4/5

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

    The description is concise with three sentences and a clear list of columns. It front-loads the main action, though the parameter list could be more structured within the text.

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

    Completeness2/5

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

    Despite having an output schema, the description fails to explain the purpose of any parameters, which are critical for authentication and filtering. The tool's context (HRIS system) is implied but not fully elaborated.

    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 any of the four parameters (data_center, auth_user_id, auth_password, scenario_filter). Users would have no idea what these parameters mean or how to use them.

    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 populates the Employee Central Rules sheet in a specific workbook, listing the 8 columns. This distinguishes it from sibling tools like generate_rule_doc or generate_rule_spec, which generate different artifacts.

    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 it is for generating a rules workbook but does not explicitly state when to use it or provide alternatives. With many sibling generation tools, explicit guidance on when to choose this over others would be beneficial.

    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?

    Discloses that results are based on up to 5000 active records and that computation is client-side due to OData limitations. However, without annotations, missing details on authentication, rate limits, or behavior when limits are exceeded.

    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 concise, with the primary action stated in the first sentence. The client-side computation note and limit warning add essential context without unnecessary verbosity.

    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 an output schema, the description omits key context for a 6-parameter tool: how to apply filters, use auth parameters, and what happens with large datasets. The limit disclosure is helpful but insufficient for full understanding.

    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 33% (2 of 6 parameters described). The description repeats examples that already appear in the group_by parameter description but adds no meaning for filters, auth fields, or data_center. 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 tool retrieves headcount grouped by a specific field, with examples like department, company, location, country. It is distinct from sibling tools, which focus on individual records, analytics, or other aggregations.

    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 like search_employees or get_employee_profile. The note about client-side computation explains a limitation but does not advise on selection criteria or prerequisites.

    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 provided, the description carries full burden. It transparently states the tables queried and explicitly notes a key limitation (field-level RBP not exposed). However, it does not mention that the tool is read-only or discuss authentication, though auth parameters exist.

    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?

    Very concise: two sentences and a short note. The first sentence states the purpose directly. Every sentence adds value, with no redundant information.

    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?

    An output schema exists, so return values are likely documented elsewhere. However, the description lacks context on how optional parameters affect the query, and does not mention pagination or result limits. Adequate but with gaps.

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

    Parameters2/5

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

    Schema description coverage is only 20% (only 'role_name' described). The description adds no explanation for other parameters like 'entity', 'data_center', or auth fields. Given low coverage, the description should compensate but fails to do so.

    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 looks up permission role details by querying specific database tables. It distinguishes itself by noting the limitation that field-level permissions are not exposed, but does not explicitly differentiate from sibling tool 'get_permission_roles' which might have a similar purpose.

    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 vs alternatives. The description only implies a limitation (field-level not exposed) but does not name alternative tools for different needs. Given many sibling tools, this is insufficient.

    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?

    Describes the core behavior (detecting missing records and field differences) and mentions the matching key (externalCode). However, missing disclosure on whether the operation is read-only, required permissions, or side effects. With no annotations, the description should provide more transparency.

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

    Conciseness4/5

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

    Two sentences, front-loaded with purpose. Efficient but could be more structured.

    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 comparison tool with output schema, but missing details on authentication setup, parameter defaults, and network requirements. The description could more fully cover the operation's context.

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

    Parameters2/5

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

    Schema description coverage is only 43%, and the description adds no additional parameter information. The user and password parameters have no descriptions, and the default values are not explained. The description fails to compensate for low schema 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 'compare', the resource 'Foundation Objects', and specific actions: detecting missing records and field differences between two SF instances. It distinguishes itself from sibling tools like compare_employees and compare_picklists.

    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 other compare tools or when not to use it. No prerequisites or context 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 must disclose behavioral traits. It does not mention whether the tool is read-only, idempotent, requires authentication, or has side effects. The description focuses on output format but omits safety or mutation characteristics.

    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 concise with two short paragraphs and no redundant words. It front-loads the main purpose and lists output contents efficiently. It could be slightly more compact but is well-structured.

    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 complexity (6 params, no annotations, output schema exists), the description covers the output format and general purpose but does not explain input parameters beyond entities. It assumes the agent knows what SF entities are valid. The presence of an output schema partially compensates, but the description should offer more detail on prerequisites or parameter usage.

    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% (3 of 6 parameters have descriptions). The tool description only adds that the input is 'multiple SF entities', which is already covered by the entities parameter description. It fails to explain the purpose of language, data_center, auth fields, or include_navigation, so it does not compensate for missing schema 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 it generates a complete data dictionary for multiple SF entities, listing field-by-field metadata like name, type, label, etc. This verb+resource combination is specific and distinguishes it from sibling tools like generate_fo_workbook or generate_mdf_import_template, which have different outputs.

    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 creating a data dictionary of SF entities, but provides no explicit guidance on when to use this tool versus alternatives like get_entity_metadata or list_entities. No prerequisites, exclusions, or context for selection are mentioned, so it relies on the agent to infer.

    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 bears full responsibility. It discloses the tool creates a CSV-ready template and includes optional picklist values, but omits details about authentication requirements, rate limits, side effects (e.g., no data is modified), or return value structure beyond 'template'. Meets minimal expectations.

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

    Conciseness4/5

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

    Two sentences with the purpose front-loaded. No redundant information. Could optionally include a brief example or note about authentication but remains efficient.

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

    Completeness3/5

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

    Given the presence of an output schema, the description adequately explains the tool's output. However, it lacks context on prerequisite setup (e.g., authentication, entity availability), error scenarios, or how the template is generated relative to specific parameters. Adequate for a straightforward generator but not fully comprehensive.

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

    Parameters2/5

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

    Schema description coverage is low (33%), and the description adds limited parameter-level meaning. It explains 'include_picklist_values' but does not clarify 'data_center', 'auth_user_id', 'auth_password', or 'include_fields'. The description's mention of 'field names, types, and key/required fields' helps contextualize the output but not the input parameters themselves.

    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 generates an import template for an SF entity, specifying it produces a CSV-ready template with field headers, types, and key/required fields. This distinguishes it from sibling generation tools like 'generate_mdf_import_template' which targets MDF objects, and from validation tools like 'validate_import_template'.

    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 'generate_mdf_import_template' or other import-related tools. The description implies use for data preparation but does not specify prerequisites, excluded cases, or comparative advice.

    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 full burden for behavioral disclosure. It explains the output (CSV template with fields and comments) but fails to mention authentication requirements (params include auth_user_id and auth_password), the role of data_center, or any side effects. The template generation is non-destructive, but this is implied.

    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 concise (two sentences) and front-loads the main purpose. It is efficient but could be improved by including parameter context. The structure is logical 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?

    While the output schema exists (reducing need for return value explanation), the description omits key parameter details (data_center, auth) and does not differentiate from very similar sibling tools like 'generate_import_template'. The tool's complexity (5 params, 1 required) warrants more completeness.

    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 40%, meaning 3 of 5 parameters lack schema descriptions. The tool description adds no extra meaning for these undocumented parameters (data_center, auth_user_id, auth_password). It does not clarify their usage or format, failing to compensate for the low schema 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 tool generates an import template for an MDF object, specifically a CSV-ready template with key fields, required fields, and optional editable fields with field type comments. This distinguishes it from sibling tools like 'generate_import_template' which may be for different object types.

    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., 'generate_import_template' for non-MDF objects) or prerequisites like authentication or data center configuration. The description implies usage for MDF object import template generation but lacks explicit 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?

    The description mentions 'No SF API calls needed — uses knowledge base', which is a key behavioral trait. However, with no annotations provided, more disclosure (e.g., permissions, side effects, robustness) would be expected for full 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 concise, front-loaded with the main purpose, and uses a bulleted list for structure. Every sentence adds value without redundancy.

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

    Completeness3/5

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

    Given 3 parameters, no annotations, and an output schema, the description covers the output structure but lacks details on output format, edge cases, or clarification of boundaries with similar tools. Adequate but not thorough.

    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% (2 of 3 parameters have descriptions). The description adds minimal parameter context beyond the schema, only implying scenario is the core input. For moderate coverage, the description does not significantly enhance understanding.

    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 'Generate an end-to-end test script for a specific HR scenario' and lists what it includes (preconditions, steps, expected results, etc.). However, it does not explicitly differentiate from sibling tools like generate_rule_test, which may overlap in purpose.

    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., generate_rule_test, generate_functional_spec). No context on prerequisites or when not to use it, leaving the agent without decision support.

    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, description carries full burden. It discloses that data is from a live instance, lists populated items, and notes one setting is preserved. However, it lacks safety info (e.g., read-only vs mutation), authentication needs beyond parameters, 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.

    Conciseness4/5

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

    Description is concise with clear purpose first, then bullet-like list of populated items, and return object. Every sentence adds value, though no parameter info slightly reduces efficiency.

    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?

    Output schema exists and description matches return fields, but three parameters are completely undocumented. For a generation tool, parameter context is crucial; current level is adequate for output but insufficient for input.

    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 description provides no explanation for the three parameters (data_center, auth_user_id, auth_password). Description must compensate but fails to add any meaning 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?

    Description clearly states the tool generates a workbook for Workflow Notifications & Messages from a live SF instance. Specifically lists populated sheets and distinguishes from sibling tools like generate_fo_workbook or generate_rules_workbook.

    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?

    Description implicitly indicates use for workflow workbook generation but does not provide explicit when-to-use or when-not-to-use guidance relative to 50+ sibling tools. 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.

  • Behavior2/5

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

    No annotations provided, so description must cover behavioral traits. It explains entity vs grouped reconciliation but omits critical details: authentication is required (auth_user_id, auth_password), data_center parameter, and any side effects or 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?

    Two focused sentences plus a critical line about usage. Every sentence adds value; no fluff.

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

    Completeness2/5

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

    Despite having an output schema, the description doesn't hint at output structure or what the reconciliation result looks like. With 7 parameters and 14% schema coverage, the description should provide more context on optional parameters like filter_expr and expected_count.

    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 14%. Description adds meaning for 'entity' and 'group_by_field' but ignores 5 other parameters (data_center, filter_expr, auth_user_id, auth_password, expected_count). Does not compensate for low schema 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?

    Clear verb 'reconcile' with specific resource 'data after migration' and measurable outcome 'compare expected vs actual record counts'. Distinguishes from siblings like 'generate_reconciliation_report' by focusing on count comparison rather than report generation.

    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?

    States it's 'Essential for cutover day validation', which implies when to use. But lacks explicit when-not-to-use guidance or comparison to similar tools like 'find_data_anomalies' or 'query_odata'.

    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 describes the output structure but does not disclose behavioral traits such as whether the tool modifies data, authentication requirements, rate limits, or side effects. This lacks clarity for an agent to understand the tool's operational impact.

    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 two short paragraphs, front-loading the purpose and listing key contents without extraneous information. It is appropriately concise, though a bulleted list could improve scanability.

    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?

    An output schema exists, so return value details are not needed. However, the description omits context about authentication parameters (auth_user_id, auth_password) and data_center, which are relevant for an agent to configure the call. The tool specification is mostly adequate but has gaps.

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

    Parameters3/5

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

    Schema description coverage is 43%, with only three of seven parameters described. The description adds high-level semantics about the output but does not detail uncovered parameters like data_center, auth_user_id, scope_fields, or auth_password, which require clarification.

    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 generates a functional specification for an SF entity/portlet, listing specific sections like entity overview, field mapping, business rules, etc. It distinguishes from many sibling tools that generate other types of documents (e.g., generate_data_dictionary, generate_rule_doc).

    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 it is used when a functional spec is needed for an entity/portlet, but it does not provide explicit guidance on when to use this tool versus siblings like generate_data_dictionary or generate_rule_spec, nor does it mention 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.

  • Behavior3/5

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

    With no annotations, the description carries full burden. It discloses that records are effective-dated and ordered descending, and lists supported history types. However, it does not mention authentication requirements (auth parameters) or any side effects; for a read operation, this is sufficient but not exhaustive.

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

    Conciseness5/5

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

    Three sentences, each with clear purpose: intent, behavior, and supported types. No redundant information, well-structured and front-loaded.

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

    Completeness4/5

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

    Given the presence of an output schema (not analyzed here), the description sufficiently explains the tool's purpose and behavior (timeline of changes, ordering). It could mention pagination via limit, but overall it's complete for a history retrieval tool.

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

    Parameters3/5

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

    Schema description coverage is 50% (3 of 6 parameters documented). The description adds meaning for the 'history_type' parameter by mapping to EmpJob, EmpCompensation, EmpEmployment, which goes beyond the schema's enum labels. For other parameters, it adds no new info beyond the schema.

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

    Purpose4/5

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

    The description clearly states 'Get the history of changes for an employee' with a specific verb and resource. It also enumerates three history types (job, compensation, employment), but does not explicitly differentiate from siblings like get_employee_profile or audit_employee_data, so it lacks clear sibling differentiation.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives (e.g., get_employee_profile, audit_employee_data). The description only describes functionality, with no explicit context or exclusions.

    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 are provided, so the description carries the full burden. It hints at a read operation by stating 'Get position details' and listing return fields, but it does not explicitly confirm no side effects, mention authentication requirements, or discuss rate limits. The description is adequate 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.

    Conciseness4/5

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

    The description is short (two sentences) and front-loaded with the core purpose. It is well-structured and avoids unnecessary repetition, though it could be slightly more concise by merging the first two sentences.

    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 presence of an output schema (as per context signals), the description need not detail return values extensively, but it does mention the return fields. The description covers the main use cases but lacks information about authentication parameters, pagination (max_results is mentioned only in schema), and error conditions.

    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 description mentions filtering by department and vacancy status, which maps to two parameters (department, vacant_only). However, with 29% schema description coverage, the description does not compensate for the other five parameters (data_center, auth_user_id, auth_password, position_code). It adds limited meaning beyond the schema.

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

    Purpose4/5

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

    The description clearly states the verb 'get' and resource 'position details' from 'Position Management'. It specifies retrieving specific positions or filtering by department/vacancy status. However, it does not explicitly differentiate from sibling tools like get_employee_profile or get_org_chart, which could cause confusion.

    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 retrieving positions with optional filters, but it does not provide guidance on when to use this tool versus alternatives (e.g., search_employees) or when not to use it. No exclusion criteria or context 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?

    No annotations provided, so description carries the burden. It discloses that the tool returns a pass/fail report with sample affected records, but does not mention authentication needs (though auth params exist), side effects, or performance characteristics.

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

    Conciseness5/5

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

    The description is extremely concise: three sentences covering purpose, check categories, and output format. It is front-loaded and wastes no 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 has 5 parameters (0 required), an output schema exists, and no annotations, the description covers purpose and output adequately but omits parameter details and usage guidance, leaving gaps 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?

    Schema description coverage is only 40%, and the description adds no information about parameters. It does not explain the meaning of auth credentials, data_center, or how checklist_type maps to the listed categories.

    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 'Run pre-go-live validation checks on the SF instance' and lists specific check categories (critical, important, recommended), distinguishing it from sibling tools that perform more granular validations.

    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 pre-go-live validation but does not explicitly explain when to use this tool over alternatives like validate_country_compliance or find_data_anomalies. No exclusions or prerequisites 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?

    No annotations are provided, so the description carries the full burden. It describes what the tool detects (missing values, label differences) but does not disclose side effects, authentication requirements, or whether it is read-only. The behavioral disclosure is partial.

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

    Conciseness4/5

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

    The description is three sentences, front-loaded with the core purpose, and includes additional details about what it detects. It is appropriately sized but could be structured to better highlight usage and parameters.

    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 complexity (7 parameters, optional auth, output schema exists), the description omits prerequisites, network access needs, and authentication context. However, the output schema relieves the need to explain return values. Overall, moderately complete.

    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 43% (required only). The description adds no parameter-specific details, leaving optional parameters (user/password) unexplained. With low coverage, the description fails to compensate.

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

    Purpose5/5

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

    The description clearly states it compares picklist values between two Salesforce instances, specifying what it detects (missing values, label differences). The verb 'compare' is precise and distinguishes it from sibling tools like 'get_picklist_values' (single instance) and other compare tools via the 'picklist' resource.

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

    Usage Guidelines3/5

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

    It provides usage context ('critical during migrations') but lacks explicit when-not scenarios or alternatives. With many compare siblings, explicit guidance would help, but the migration hint gives some direction.

    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 partially carries the burden. It explains the behavior for each anomaly type (e.g., finds empty fields, duplicates), but does not disclose side effects, authorization needs, or resource impact. It implies read-only behavior but doesn't confirm.

    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 short and well-structured, using a bullet list for anomaly types. It is efficient but could be more concise by integrating the types into a single sentence.

    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 presence of an output schema and 8 parameters, the description covers the core detection logic but lacks context on authentication, filtering, and result interpretation. It is adequate but not fully complete.

    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%, and the tool description adds value only for 'anomaly_type' by listing its options. Parameters like 'auth_user_id', 'scope_filter', 'auth_password', and 'data_center' are not elaborated in the description, leaving their semantics 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 tool detects data anomalies in SF entities and lists four specific anomaly types, making the purpose unambiguous. It distinguishes itself from sibling tools like 'audit_employee_data' by focusing on automated anomaly detection rather than manual audit.

    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 lists the types of anomalies but does not provide explicit guidance on when to use this tool versus alternatives or any prerequisites. Usage is implied by the anomaly types, but no when-not-to-use or context is given.

    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?

    Given no annotations, the description adequately explains the tool reads live data and writes an Excel file without modifying data. It describes the output format and return structure, but could explicitly state it is read-only and mention potential side effects like file overwriting.

    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 relatively concise and front-loaded with the main purpose. It includes a useful bulleted list of objects and the return structure. However, it could be slightly more compact by removing redundant elements.

    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 main functionality and output structure, but lacks details on error handling, authentication requirements (though auth params are listed), and default behavior. With no annotations and a moderate parameter count, more context would improve completeness.

    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?

    Only 25% of parameters have descriptions in the schema. The description adds some context for the 'entities' parameter (listing sheet names) but does not elaborate on 'data_center', 'auth_user_id', or 'auth_password'. With low schema coverage, the description should compensate more.

    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 generates a populated Object & Picklist Data workbook from a live Salesforce instance. It lists the specific foundation objects and picklists, which distinguishes it from sibling tools like generate_data_dictionary or generate_import_template.

    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 other generate_* tools. The description does not mention prerequisites, when not to use, or context like needing live instance access. Sibling tools are numerous and similar, but no comparative guidance is provided.

    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 are present, so the description carries the full burden. It discloses that the output is an ordered checklist based on entity dependencies and lists included categories. However, it does not mention return format, side effects, permissions, or error conditions. With an output schema existing, the description adds moderate context but not full transparency.

    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 concise at 5 sentences, with a clear structure: purpose statement, bullet-like list of contents, and a closing sentence. It is front-loaded and each sentence adds value, though the bullet list could be more compact.

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

    Completeness3/5

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

    Given there is an output schema, the description does not need to detail return values. However, it does not mention prerequisites, typical usage scenarios beyond go-live, or how the checklist order is determined. The description is adequate but incomplete for a tool with 7 parameters and no annotations.

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

    Parameters3/5

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

    Schema description coverage is 57%. The description adds meaning by explaining what the entities parameter is for (e.g., 'Entities to include') and implies the categories of output, but it does not detail all parameters (e.g., language, auth fields). The description adds some value beyond the schema but does not fully compensate for the coverage 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 'Generate a cutover checklist for migrating configuration from DEV to PROD' with specific verb and resource. It lists the types of objects included (Foundation Objects, Picklists, etc.), distinguishing it from sibling tools like generate_migration_sequence or generate_rule_doc.

    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 go-live planning with 'Essential for go-live planning', but does not explicitly state when to use versus alternatives, nor does it provide exclusions. Sibling tools exist (e.g., generate_migration_sequence) that could overlap, but no guidance is 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?

    No annotations provided, so the description carries the full burden. It states the tool 'queries each entity,' implying a read operation, but does not explicitly confirm read-only behavior or disclose other traits like rate limits or authentication requirements.

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

    Conciseness5/5

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

    Description is two succinct sentences with front-loaded purpose and no superfluous information. Every sentence contributes to understanding the tool's function and value.

    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?

    While the output schema exists (covering returns), the description omits details about how to use auth parameters and whether expected_counts is required. The cutover validation context is helpful but incomplete for effective invocation.

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

    Parameters2/5

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

    Schema description coverage is only 20%, yet the description does not add meaning for parameters like data_center, auth_user_id, auth_password, or expected_counts beyond the schema. The 'comparing expected vs actual' hint partially covers expected_counts but leaves others unaddressed.

    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 tool generates a reconciliation report comparing expected vs actual record counts, with specific verb and resource. Mentions cutover day validation, distinguishing it from siblings like reconcile_data by focusing on a specific use case.

    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 specifies the tool is 'Essential for cutover day validation,' providing context for when to use it, but it lacks explicit guidance on when not to use it or direct comparisons to sibling tools like reconcile_data.

    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 are provided, so the description carries the full burden. It discloses that multiple entities are fetched in parallel for performance and that sections can be filtered, but does not discuss error behavior, authentication requirements, or data modification implications. The description implies read-only but does not explicitly state 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?

    Description is concise, well-structured in three paragraphs: purpose, entities and performance, filtering and as_of_date. Every sentence adds value. No redundant 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?

    Despite having an output schema, the description lacks context about the auth parameters (data_center, auth_user_id, auth_password), which are critical for execution. With no annotations, the agent needs to know how these affect the call. The description does not cover error conditions or data freshness. Given the complexity (6 params, composite fetch), this is incomplete.

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

    Parameters3/5

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

    Schema description coverage is only 17% (only user_id described). The description adds meaning for sections (filtering to reduce API calls) and as_of_date (point-in-time queries), which are not documented in the schema. However, the auth parameters (data_center, auth_user_id, auth_password) remain undescribed. Overall, description improves parameter understanding 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?

    Description clearly states it retrieves a complete employee profile by assembling data from multiple SF entities, listing the specific entities. This distinguishes it from siblings like get_employee_history, which focuses on historical changes, or search_employees for searching.

    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?

    Description explains that sections can be filtered to reduce API calls and that effective-dated entities accept as_of_date for point-in-time queries, but does not provide explicit guidance on when to use this tool versus alternatives like get_compensation_analytics or get_org_chart. No exclusions or when-not-to-use 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 lists return contents but fails to disclose behavioral traits such as side effects (none expected), authorization needs, rate limits, or output size. It also doesn't mention read-only nature or potential errors.

    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 concise: three brief sentences. First sentence states the main purpose, second lists return contents, third notes scope. No fluff, front-loaded with key information.

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

    Completeness4/5

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

    Given the presence of an output schema (true), the description need not explain return values. It provides sufficient context about the object types (custom and standard). However, it could be more complete by noting that it's a read operation and mentioning the tool's relationship to other metadata tools.

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

    Parameters3/5

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

    Schema description coverage is only 25% (only object_name has description). The description adds meaning by explaining object_name as 'MDF object name / entity name' and notes it works for custom objects. However, it doesn't detail the auth parameters or data_center, leaving ambiguity about their purpose and usage.

    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 gets 'complete metadata for an MDF object' with specific verb and resource. It distinguishes from siblings like list_mdf_objects (listing) and get_entity_metadata (generic) by specifying the object type (cust_* and standard).

    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 retrieving metadata but provides no explicit guidance on when to use this tool versus alternatives (e.g., list_mdf_objects for listing, get_entity_metadata for generic metadata). No when-not-to-use or context for selection among 50+ 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 are provided. The description reveals it queries RBPRole and FODynamicRole entities, which is useful, but doesn't disclose other behavioral traits like authentication requirements or performance implications.

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

    Conciseness5/5

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

    Two concise sentences that directly state the purpose and the entities involved. No unnecessary information.

    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 output schema exists, so return values are documented elsewhere. However, the description lacks context on authentication parameters and the data_center parameter, which are part of the input 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?

    With only 33% schema description coverage, the description adds no parameter-specific meaning. It does not explain role_name, data_center, auth_user_id, or auth_password beyond what the schema provides.

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

    Purpose5/5

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

    The description clearly states the tool lists permission roles, specifies the entities queried (RBPRole and FODynamicRole), and distinguishes it from sibling tools by focusing on security model roles.

    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 says it is useful for understanding security model and role assignments, but doesn't provide explicit when-to-use or when-not-to-use guidance, nor alternatives 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 are provided, so the description must carry the full burden. It clearly states the tool produces documentation (a non-destructive generative action) but does not disclose side effects, authentication needs, or rate limits. The content is transparent but not comprehensive.

    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 concise, front-loaded with the main purpose, and uses a bulleted list for clarity without redundancy. It is appropriately sized for the tool's complexity.

    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 tool has 3 parameters (one nested object), and an output schema, the description provides sufficient context about the output contents and parameter sources. It does not cover error handling or edge cases but is adequate for agent invocation.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the input schema already covers each parameter's meaning. The description adds context (e.g., rule_spec comes from generate_rule_spec) but does not significantly extend parameter semantics 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 uses a specific verb ('Generate') and clearly identifies the resource ('step-by-step implementation documentation for a business rule'). It lists detailed contents, differentiating it from sibling tools like generate_rule_spec or generate_rule_test.

    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 a pipeline use (accepting output from generate_rule_spec) but does not explicitly state when to use this tool vs alternatives. No when-not-to-use guidance is provided.

    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 full burden. It lists five validation steps but does not disclose output format, error handling, or authentication needs, leaving behavioral gaps.

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

    Conciseness5/5

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

    Concise with a clear purpose statement, enumerated steps, and an illustrative example; no unnecessary information.

    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?

    Output schema exists but is not described. Missing details on return values, error messages, and how optional parameters affect behavior, leaving some incompleteness for a 5-parameter tool.

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

    Parameters3/5

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

    Schema coverage is 20%. Description adds value for fields_to_validate with structure and example, but ignores four optional parameters (base_object, data_center, auth_user_id, auth_password), so only partial compensation.

    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 validates fields, entities, and picklist values for business rules, with specific steps and an example, distinguishing it from sibling tools like validate_country_compliance.

    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?

    Context is implied by 'proposed business rule' but no explicit guidance on when to use versus alternative validation tools, nor any when-not-to-use conditions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses that the tool shows missing rules and property differences, implying a read-only comparison. However, it does not address authentication needs, data sensitivity (passwords in params), or any side effects, leaving gaps in 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 concise (4 lines) and front-loaded with the purpose sentence. Every sentence adds value with no fluff or repetition.

    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 complexity (7 parameters, many optional), the description is sufficient for a standard diff scenario but incomplete for parameter guidance. The existence of an output schema reduces the need to describe return values, but the low param coverage and missing security notes leave gaps.

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

    Parameters2/5

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

    Schema description coverage is only 29%. The description adds no per-parameter explanation beyond the schema's minimal descriptions (e.g., instance_a_dc gets 'Data center...'). Most parameters like rule_name, instance_a_user, and passwords lack semantic guidance in the description.

    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 compares business rules between two SF instances, showing differences and property changes. This specific verb+resource combo distinguishes it from siblings like list_business_rules (which just lists rules in one instance).

    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?

    Explicitly mentions 'Essential for cutover validation,' giving a clear use case. However, it does not explicitly state when not to use the tool or suggest alternatives like simulate_rule_impact or trace_rule_execution for other tasks.

    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?

    Discloses key behaviors: dry_run default and its effect, batch processing, and individual OData POST per record. With no annotations, the description carries full burden and meets it well, though could add error handling details.

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

    Conciseness5/5

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

    Three short paragraphs with no filler. Each sentence adds value: purpose, important default, and processing mode. Highly concise and front-loaded.

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

    Completeness4/5

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

    Covers operation, dry_run mode, and batching. With output schema present, return values are expected to be documented. Missing auth context and error handling but sufficient for understanding the tool's core behavior.

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

    Parameters3/5

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

    Schema coverage is 57%, and description adds value by explaining dry_run default and batch processing. However, it does not compensate for underspecified parameters like data_center and auth fields. Parameter semantics are adequate but not enhanced significantly.

    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 an upsert operation against an SF entity', specifying the verb 'execute' and the resource. It distinguishes from sibling tools like query_odata (read-only) by being a write operation.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. The description does not mention comparable tools or exclusion criteria, leaving the agent without context for tool selection.

    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 full burden. It states no API call and that it uses knowledge base, implying safe, non-destructive operation. However, it does not explicitly state read-only status 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.

    Conciseness5/5

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

    Concise and well-structured with a bullet list. Every sentence adds value, and the description is front-loaded with the key action.

    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?

    Output schema exists, covering return structure. The description lists expected content, which is helpful. Could be slightly more explicit about whether output is text or file, but overall complete.

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

    Parameters3/5

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

    Schema coverage is 100% with clear descriptions for both parameters. The description adds no extra param-specific information, so 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 it generates a configuration guide for a specific country, lists specific contents, and distinguishes it from sibling tools by mentioning knowledge base usage and country-specific focus.

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

    Usage Guidelines3/5

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

    No explicit when-to-use or when-not-to-use guidance. The 'No SF API call needed' hint is useful but does not directly contrast with alternative tools like validate_country_compliance or other generate_* tools.

    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?

    Discloses fetching records, returning CSV content ready for SF Import purge mode, and warns to review before deletion. With no annotations, description carries disclosure burden; it's clear but could explicitly state no actual deletion occurs.

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

    Conciseness5/5

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

    Three concise sentences plus a warning, front-loaded with purpose. No redundant information; every sentence adds value.

    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?

    Covers purpose and high-level behavior. Has output schema so return details not needed. Lacks context on authentication parameters and filter syntax; adequate but not fully comprehensive.

    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 40% (only entity and filter_expr described). Description mentions filter but does not clarify data_center, auth_user_id, or auth_password parameters, failing to compensate for missing schema 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?

    Clearly states 'Generate a purge/delete file for SF import', specifying verb and resource. Distinguishes from siblings like execute_upsert (upsert) and query_odata (query) by focusing on deletion file generation.

    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 deletion via SF Import, with a warning to review records. Lacks explicit guidance on when to use vs alternatives (e.g., execute_upsert for upserts) or 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.

  • Behavior3/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 mentions an optional feature to fetch live metadata for comparison, which is useful. However, it does not specify if the tool is read-only, any required permissions, or potential side effects. The description is partially transparent but leaves gaps.

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

    Conciseness5/5

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

    The description is concise (3 sentences) and well-structured. It starts with the main action, then lists what is returned, followed by supported countries in a bullet-like format. Every sentence adds value without 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?

    The tool has an output schema, so detailed return value documentation is not needed. The description covers the main returned components (fields, picklists, compliance, rules) and mentions an optional feature. Given the moderate complexity, it is sufficiently complete, though the optional live metadata feature could be elaborated.

    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 40% (only country_code and include_live_metadata have descriptions). The tool description adds context for country_code by listing valid codes, but does not explain auth parameters (data_center, auth_user_id, auth_password). Since coverage is low, the description should compensate but only partly does.

    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's purpose: 'Get country-specific fields for a PerGlobalInfo entity.' It lists the supported countries and what is returned (required fields, common picklists, compliance notes, typical business rules). This distinguishes it from siblings like get_entity_metadata or get_picklist_values which serve different purposes.

    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 when needing country-specific field definitions for PerGlobalInfo, but does not explicitly state when not to use it or suggest alternatives. Siblings like validate_country_compliance or get_picklist_values could be relevant in related contexts, but no guidance is provided.

    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 mentions internal data sources (EmpJob, User) and navigation direction, but does not disclose authentication requirements, rate limits, or potential performance implications of depth values.

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

    Conciseness5/5

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

    Three concise sentences, front-loaded with purpose. No redundant information.

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

    Completeness4/5

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

    Output schema exists, so return value explanation is not needed. Description covers main functionality and data sources, missing only minor details like format representation.

    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% (3 of 6 params described). Description explains user_id, depth_up, depth_down but not data_center, auth_user_id, auth_password. Partially compensates but not fully.

    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 tool gets an org chart centered on a specific employee, with specifics about upward/downward navigation. Distinguishes from siblings like get_org_structure.

    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?

    Description implies use for centering org chart on an employee but does not explicitly contrast with similar tools like get_org_structure or get_employee_profile. No when-not-to or alternatives provided.

    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 are provided, so the description carries the burden. It mentions Foundation Objects are reference/master data, but does not disclose default pagination, return format, authentication needs, or side effects. The schema hints at behavior (max_results) but the description does not.

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

    Conciseness5/5

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

    The description is three sentences, no filler, front-loaded with the core action. Every sentence adds value.

    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?

    While the tool has 8 parameters and an output schema, the description only covers the concept of Foundation Objects. It omits details on return structure, pagination, and authentication, making it incomplete for a complex 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 38%. The description adds value for fo_type (friendly names) but does not explain other parameters like filter_expr, select, or auth credentials. With low coverage, the description should compensate but does not.

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

    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 Foundation Objects of any type, and explicitly mentions it can use friendly names or direct entity names. This distinguishes it from sibling tools like list_mdf_objects and get_org_structure.

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

    Usage Guidelines4/5

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

    The description provides guidance on how to specify the FO type (friendly names or direct names), but does not explicitly state when to use this tool versus alternatives like list_mdf_objects. It gives context but lacks exclusions.

    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 burden. It explains categories and general behavior (listing all MDF objects) but does not disclose authentication requirements or side effects. It adds value beyond the schema by explaining the filter purpose but lacks full transparency.

    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 appropriately sized: three sentences front-load the purpose, then detail categories, then add context. It is efficient but could omit the last sentence without losing essential information.

    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 moderate complexity (5 params, no required) and existence of an output schema, the description covers the main parameter and context but omits other parameters. It is adequate for basic use but not fully complete.

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

    Parameters3/5

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

    Schema description coverage is low (20%). The description adds meaning for the 'category' parameter by defining 'custom', 'standard', 'all' and mapping them to object types. However, it ignores other parameters (data_center, name_search, auth_user_id, auth_password), leaving them unexplained 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 'List all MDF objects configured in the SF instance,' specifying the verb (list) and resource (MDF objects). It differentiates from siblings like get_mdf_object_definition by focusing on the full set and provides a category filter.

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

    Usage Guidelines4/5

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

    The description provides clear usage context: it inventories MDF objects, especially in instances with many custom objects. It implies when to use (to explore available objects) but does not explicitly mention when not to use or alternatives, though sibling tools serve different purposes.

    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 lacks information on side effects (e.g., idempotency, read-only nature), authentication requirements (despite auth params), rate limits, or behavior on missing queries. This is a significant gap.

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

    Conciseness5/5

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

    The description is concise, well-structured with bullet points, and provides relevant examples without unnecessary text. Every sentence adds value.

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

    Completeness4/5

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

    For a tool with 7 parameters and natural language input, the description covers usage comprehensively with examples. However, it lacks behavioral details (auth, idempotency) and does not explain how search matching works. Output schema exists but not included; overall adequate but not exhaustive.

    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 description adds meaning beyond the schema by listing supported query fields and examples, but it does not explain parameters like data_center, search_fields, or auth params. Schema description coverage is 43%, so the description partially compensates.

    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 'Search for employees using natural language queries' and enumerates specific searchable fields with examples, effectively distinguishing it from sibling tools like get_employee_profile or get_employee_history.

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

    Usage Guidelines4/5

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

    The description provides explicit searchable fields and example queries, including combinations. However, it does not discuss when not to use this tool or compare with alternatives, slightly limiting guidance.

    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 full burden. It discloses what is compared (fields, types, annotations) which is good, but it does not mention authentication requirements or that the operation is read-only. The input schema shows user/password fields, so this context would be valuable.

    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 two paragraphs, front-loaded with the core purpose ('Compare entity metadata between two SF instances'), followed by a concise list of detection types. Every sentence adds value with no wasted words.

    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 presence of an output schema (context signals), the description does not need to explain return values. It covers the main purpose and detection types well but lacks details on how authentication works for the two instances, which is relevant for tool usage.

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

    Parameters2/5

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

    Schema description coverage is low (43%). The description does not add meaning beyond the schema for the required parameters (entity, instance_a_dc, instance_b_dc) and entirely ignores the optional authentication parameters (user/password). It fails to 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 it compares entity metadata between two SF instances, listing specific detection types: field existence, type mismatches, and annotation differences. This distinguishes it from sibling tools like compare_business_rules or compare_employees, which focus on other aspects.

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

    Usage Guidelines4/5

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

    The description explicitly mentions 'Essential for cutover validation (DEV → QA → PROD)', providing a clear use case. It does not explicitly state when not to use it or name alternatives, but the context is clear enough.

    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 discloses the 5000-record limit for performance and the underlying query join (EmpCompensation + EmpJob), which is transparent. However, it does not mention authentication requirements (implied by auth parameters) or whether the operation is read-only, though the name suggests 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 concise with three sentences: first states purpose, second explains data source, third notes a performance limitation. It is front-loaded and contains no superfluous text.

    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 existence of an output schema, the description does not need to detail return values. It covers the key behavioral context (5000-record limit, join, scope field options). However, it omits explanation of authentication parameters and the optional data_center/scope_value fields, which could be helpful 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?

    Schema coverage is low (20%). Only the scope_field parameter is described with allowed values in the description. Other parameters (data_center, scope_value, auth_user_id, auth_password) lack any semantic explanation beyond schema types, leaving the agent to infer their meaning. The description adds some value for scope_field but does not compensate for the overall 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 it retrieves compensation statistics (average, min, max, median compa-ratio, range penetration) grouped by a scope field. It specifies the data source (EmpCompensation joined with EmpJob) and the scope_field parameter's allowed values, making the purpose distinct from sibling tools like get_headcount or get_employee_history.

    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 guide when to use this tool versus alternatives. It mentions a 5000-record limit for performance but lacks context on when this tool is appropriate compared to other analytics queries. No exclusions or alternative tool references are provided.

    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 are provided, so the description carries full burden. It discloses that the tool is read-only (returns metadata) and lists the type of information returned (properties, navigation). However, it does not mention authentication behavior or data center usage, which are implied by parameters.

    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 two concise sentences that front-load the purpose and follow with usage advice. No redundant information: every sentence adds value.

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

    Completeness4/5

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

    Given the presence of an output schema (not shown but implied) and sibling tools, the description covers the core functionality and use case. It could mention default values or authentication handling, but it is sufficient for the primary task of metadata retrieval.

    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 25% (only entity_name described). The description does not provide any additional meaning for the three undocumented parameters (data_center, auth_user_id, auth_password), leaving the agent with insufficient guidance for these fields.

    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 retrieves structured metadata (properties, types, editable, required, picklist, navigation) for an SAP SuccessFactors entity. It uses specific verbs ('retrieve', 'returns') and distinguishes from siblings like list_entities by focusing on metadata of a single entity.

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

    Usage Guidelines4/5

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

    The description explicitly advises using the tool to understand available fields before building business rules. While it does not exclude other tools or mention when not to use it, the context is clear and actionable.

    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 full burden. Discloses output fields but does not mention read-only nature, authentication requirements, or potential side effects. Adequate but incomplete.

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

    Conciseness5/5

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

    Three sentences, 60 words, front-loaded with purpose. No redundant or filler content.

    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?

    Output schema exists, so description need not detail return values. Covers core functionality and use case. Lacks explanation of optional parameters, but acceptable for a straightforward 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 low (20%) and description only explains picklist_id via example values. Does not clarify data_center, auth_user_id, auth_password, or status_filter, leaving them opaque.

    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 (Get) and resource (options for a picklist) with specific details (external code, label, status). Distinct from siblings like compare_picklists and list_entities.

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

    Usage Guidelines4/5

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

    Provides a concrete use case ('validate that picklist values referenced in business rules actually exist'). Does not explicitly mention when not to use or alternatives, but context is clear.

    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 behavioral disclosure. It describes the validation checks but does not detail return format, error handling, or auth requirements. It is adequate but not comprehensive.

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

    Conciseness5/5

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

    Two short paragraphs with no wasted words. The purpose is front-loaded, and each sentence adds value. Highly concise and well-structured.

    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 complexity (6 params, 2 required) and low schema coverage, the description is somewhat complete but lacks explicit mention of the output structure or validation result format, despite the presence of an output schema. It covers key checks but could be more thorough.

    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 low (33%), so the description must compensate. It explains that headers are for field mapping and sample_rows for data type validation, adding meaning beyond schema. However, data_center, auth_user_id, and auth_password 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?

    The description clearly states the tool validates import template headers and sample data against SF metadata. It specifies the checks performed (field correspondence, missing fields, data types), and distinguishes from sibling tools like validate_migration_file by focusing on import templates.

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

    Usage Guidelines4/5

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

    The description explicitly says 'Use this before executing an import to catch errors early,' providing clear when-to-use guidance. It does not mention when not to use or alternatives, but the context is sufficient for an AI agent.

    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?

    No annotations are provided, so the description carries full burden. It explains that test cases cover condition paths, edge cases, negative cases, and a coverage matrix, and that each test case includes preconditions, action, and expected results. This is good behavioral context without annotations.

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

    Conciseness5/5

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

    The description is concise, uses bullet points for clarity, and front-loads the purpose. Every sentence adds meaningful detail without redundancy.

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

    Completeness5/5

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

    Given the tool has an output schema (not shown but stated) and three parameters, the description provides sufficient context: it explains inputs, coverage types, and test case structure. No critical gaps remain.

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

    Parameters4/5

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

    With 100% schema description coverage, the schema already documents all parameters. The description adds value by specifying that rule_spec comes from generate_rule_spec and by clarifying the purpose of include_edge_cases and include_negative_tests beyond their default values.

    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 'Generate a comprehensive test case matrix for a business rule' and lists coverage types. It implicitly relates to sibling tools like generate_rule_spec but does not explicitly differentiate from siblings such as simulate_rule_impact or trace_rule_execution.

    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 after obtaining a rule spec from generate_rule_spec, as indicated in the parameter schema. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide when-not-to-use guidance.

    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 are provided, so the description carries the full burden. It correctly states supported features but does not disclose potential side effects, rate limits, authentication requirements (though auth params are in schema), error behavior, or performance implications. The description is positive but lacks behavioral caveats.

    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 concise and well-structured: a clear opening sentence, a bullet list of capabilities, and concrete examples. Every sentence adds value with 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?

    Given the tool's complexity (10 parameters, no annotations, known output schema), the description covers the main OData query capabilities. However, it does not explain authentication parameter usage or return format beyond what output schema might provide. Overall, it is fairly complete but could mention error handling or limitations.

    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 10 parameters but only 20% have descriptions (entity alone). The description adds value through examples (e.g., filter, select, expand, top) but does not explain all parameters individually. For a tool with many parameters, more detailed explanation of each parameter's purpose and syntax would improve usability.

    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 purpose: 'Execute a flexible OData query against any SAP SuccessFactors entity.' It uses a specific verb (execute) and resource (OData query against entities), and the examples demonstrate distinct capabilities not offered by sibling tools like list_entities or search_employees.

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

    Usage Guidelines4/5

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

    The description provides examples and lists supported features (filtering, selection, expansion, pagination, sorting), which implicitly guide usage. However, it lacks explicit guidance on when to use this tool versus alternative tools (e.g., get_employee_profile for employee details) and does not indicate 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.

  • Behavior4/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 explicitly states 'read-only simulation — no data is modified,' which is the most critical behavioral trait. It also explains that it evaluates conditions and shows affected employees and changes. More detail on authentication or prerequisites would improve transparency, but the core behavior is well communicated.

    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 concise, with three short paragraphs that immediately communicate the tool's purpose and key characteristics. No unnecessary words, and the read-only nature is front-loaded.

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

    Completeness3/5

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

    Given the tool has 6 parameters, 1 required, nested objects, and an output schema, the description is somewhat minimal. It covers the core purpose and read-only trait, but omits details about required parameters like 'rule_spec' and authentication parameters. The output schema may compensate, but the description itself does not fully prepare 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?

    Schema description coverage is only 33%, meaning most parameters lack descriptions. The tool description adds no additional information about parameters, failing to compensate for the low coverage. For example, 'data_center', 'auth_user_id', and 'auth_password' are mentioned in the schema but not explained in the description.

    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 simulates the impact of a business rule on real employee data, showing affected employees and changes. It specifies 'read-only simulation' and is distinct from sibling tools like 'trace_rule_execution' or 'generate_rule_spec'.

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

    Usage Guidelines4/5

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

    The description explicitly says 'Useful for impact analysis before deploying a new rule,' giving a clear context of when to use this tool. It does not provide when-not-to-use guidance or compare to alternatives, but the context is sufficient for basic 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 bears full burden. Lists comprehensive validation checks including strict mode behavior. Notes that it returns a detailed error report per row, implying read-only operation. Lacks explicit mention of authorization requirements or side effects, but given the context, it is transparent enough.

    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?

    Concise, bulleted list with sentences that each add value. Front-loaded with purpose, then lists validation categories. No redundant or vague statements.

    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 tool has 6 parameters and an output schema, the description covers the primary function and validation details. Missing explanation for optional authentication/configuration parameters, but overall sufficient for an agent to understand its role.

    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%; description adds meaning for 'entity' and 'file_content' by linking to validation checks. However, optional parameters (data_center, auth_user_id, auth_password) are not explained beyond schema, leaving their purpose 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?

    Clearly states it validates CSV migration files and lists specific validation categories (headers, key fields, data types, etc.). Distinguishes from sibling tools like 'validate_import_template' and 'audit_employee_data' by specifying 'deep validation' for migration/import CSV files.

    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?

    Implicitly indicates use for validating migration CSV files before import, but does not explicitly state when to use over alternatives or when not to use. No mention of prerequisites or exclusions.

    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?

    No annotations provided, so description carries full burden. It discloses that it fetches current employee data, checks rule conditions, and shows match results with reasons. Implicitly indicates read-only behavior (no mention of modifications). Could add more about side effects or data freshness.

    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?

    Four sentences, no wasted words. Front-loaded with action and purpose, then explains mechanics, then provides use case. Every sentence adds value.

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

    Completeness4/5

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

    Output schema exists, so return structure is covered. Description explains what the tool does and its debugging value. Missing details on prerequisites (e.g., rule configuration must exist) and any limitations. Adequate for a debugging tool with good sibling context.

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

    Parameters2/5

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

    Schema coverage is only 50%, with optional parameters (data_center, auth credentials) lacking descriptions. The description does not clarify these parameters' roles, relying on the schema which is incomplete. Added parameter semantics are minimal.

    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?

    Specifies verb 'trace' and resource 'business rules for an employee event'. Distinguishes from sibling 'list_business_rules' by explaining it evaluates conditions against live data, not just listing. Includes debugging context.

    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?

    Explicitly frames as debugging 'why did this field get this value?', but does not specify when not to use or compare directly to other siblings. Context is clear enough for an agent to infer usage scenario.

    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 full burden. It discloses that it uses a dependency graph and returns an ordered sequence with notes, indicating no side effects. It could explicitly state it is read-only, but the behavior is clear.

    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 concise with three sentences, each providing essential information: purpose, mechanism, and output. No wasted words.

    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?

    The description explains the input (entities list) and output (ordered sequence with notes). Given the presence of an output schema, it does not need to detail return values. It could mention error handling for cyclic dependencies, but overall is complete.

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

    Parameters3/5

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

    Schema coverage is 100% as the parameter already has a description. The tool description does not add extra meaning beyond the schema, so 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 the tool calculates correct load order based on dependencies, uses a predefined dependency graph, and provides examples (Foundation Objects before employee data). It also distinguishes from sibling tools like generate_import_template by focusing on ordering logic.

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

    Usage Guidelines4/5

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

    The description implies usage for determining load order in migrations, but does not explicitly state when not to use or mention alternatives. However, the context of sibling tools provides indirect guidance.

    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 covers the process: queries metadata, validates fields, builds logic. It omits details on authentication or rate limits, but the steps are transparent enough for an agent to understand the tool's 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?

    The description is concise, with a clear opening statement and a bulleted list of steps. Every sentence adds value, and the example requirement illustrates usage without extra 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 tool's complexity (10 params, 4 required) and presence of an output schema, the description covers the core workflow and link to other tools. It could mention when auth params are needed and handling of edge cases, but it is largely complete.

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

    Parameters3/5

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

    Schema coverage is 40%, and the description adds context via an example but does not detail individual parameters beyond existing schema descriptions. Parameters like 'conditions_hint' and 'data_center' remain under-explained, requiring the agent to infer their usage.

    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 defines the tool's purpose: generating a Business Rule specification from natural language. It lists specific steps (queries metadata, validates fields, builds logic) and distinguishes from siblings by focusing on rule spec creation, with an example.

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

    Usage Guidelines4/5

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

    The description explains the output can be used with generate_rule_doc and generate_rule_test, providing a workflow context. However, it does not explicitly state when to use this tool versus other generation tools like generate_functional_spec, though the purpose is distinct enough.

    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 discloses a key behavioral trait: fetching full metadata can be slow (5-30 seconds). This helps the agent set expectations. It does not explicitly state read-only nature, but it is implied. The description adds useful performance context beyond what annotations would provide.

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

    Conciseness5/5

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

    The description is three concise sentences, front-loaded with the primary purpose, then filter options, and finally a performance note. Every sentence adds value without redundancy.

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

    Completeness3/5

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

    The description covers the main function, filtering, and performance, but lacks explanation for three of four parameters (data_center, auth params). While an output schema exists, the missing parameter descriptions reduce completeness for a 4-param tool with zero schema coverage.

    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 0%, so the description must compensate. It only explains filter_prefix with examples, leaving data_center, auth_user_id, and auth_password undescribed. These parameters are common but still need semantic context to guide proper use.

    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 all available OData entities from SAP SuccessFactors, specifying it returns entity set names from $metadata and providing examples of prefixes. It distinguishes itself from a sibling tool (get_entity_metadata) by mentioning it as an alternative for querying a specific entity.

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

    Usage Guidelines5/5

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

    The description explicitly advises when to use the tool (list all entities, optionally filter by prefix) and when not to (when slow performance is a concern, suggesting to use get_entity_metadata instead). It provides alternative guidance and context for efficient usage.

    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

MCP-SF MCP server

Copy to your README.md:

Score Badge

MCP-SF 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/josemachado-vp/MCP-SF'

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