Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation2/5

    Several tool groups overlap heavily: list_active_calls vs list_call_sessions, get_cdr_history vs list_cdr_records vs export_cdr_csv, get_curri_history vs list_curri_events, and get_evidence vs create_evidence_bundle. The v1 emulation/SOAP tools and v2 canonical tools often appear to serve the same purpose with different names, so an agent is likely to misselect.

    Naming Consistency3/5

    Most tools follow an emu_<verb>_<noun> snake_case pattern with a consistent prefix, which helps readability. However, names like emu_post_realtimeservice2_services_risservice70, emu_post_logcollectionservice_services_dime_get_file_service, and emu_post_axl_ break the pattern with endpoint-shaped names and a trailing underscore.

    Tool Count1/5

    73 tools is an extreme count for an MCP server and far exceeds what an agent can reasonably navigate. Even though the CUCM emulator domain is broad, the tool surface is sprawling and would be better organized into sub-servers or a much smaller set of higher-level operations.

    Completeness4/5

    The server covers a wide range of emulator capabilities: cluster nodes, phones, call sessions, CDR/CMR/CURRI/syslog projections, AXL/RIS/PerfMon passthroughs, contracts, scenarios, evidence bundles, and snapshots. Minor gaps exist, such as no phone create/update/delete and no snapshot delete operation, but core workflows do not appear to have dead ends.

  • Average 2.9/5 across 62 of 73 tools scored. Lowest: 1.3/5.

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

    • No community issues in the last 6 months
    • 5 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • 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

  • Behavior1/5

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

    No annotations are present, and the description does not mention side effects, return format, potential errors, or any behavior beyond 'execute'. It fails to describe what a synchronous drill does or what impact it has on the system.

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

    Conciseness2/5

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

    The description is extremely short, which is concise, but it omits essential information. It reads like a placeholder and does not front-load any useful context. The brevity is not an asset here because it fails to convey necessary semantics.

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

    Completeness1/5

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

    With no output schema and no parameter details, the description is completely inadequate. An agent cannot determine what parameters to provide, what the operation does, or what to expect as a result. It is not complete enough for any practical use.

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

    Parameters1/5

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

    Six parameters are defined in the schema but none are described in the description. With 0% schema coverage, the description must compensate, but it provides no meaning for 'id', 'kind', 'limit', 'eventIds', 'phoneNames', or 'publisherKinds'. This leaves the agent guessing about required input.

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

    Purpose2/5

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

    Description states a verb ('Execute') a resource ('operations drill'), but 'operations drill' is ambiguous and not differentiated from similar tools like emu_create_call_session or emu_apply_scenario. It doesn't clarify what an operation run entails or how it differs from related list/get tools.

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

    Usage Guidelines1/5

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

    No guidance on when to use this tool versus alternatives. Given the many sibling tools for operations, call sessions, and scenarios, the description provides no decision context or exclusions.

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

  • Behavior1/5

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

    No annotations exist, so the description carries the full burden. It discloses no side effects, no prerequisites, no return behavior, no resource impact. 'Create' implies state mutation, but nothing describes what the session lifecycle looks like.

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

    Conciseness4/5

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

    The single-sentence description is extremely concise and front-loaded. However, it's concise to the point of being uninformative – brevity here comes at the cost of clarity.

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

    Completeness1/5

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

    With 7 parameters, no schema descriptions, no annotations, and no output schema, the description must do all the work. It does almost none of it. An agent cannot determine required fields, formats, or expectations.

    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?

    All 7 parameters have 0% schema description coverage overall, and the description doesn't explain any parameter semantics. An agent looking at 'callingNumber' vs 'calledNumber' vs 'sourceDeviceName' gets no guidance from the description.

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

    Purpose2/5

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

    The description 'Create a canonical v2 call session' states a verb and resource, but 'canonical v2' is opaque jargon. It doesn't say what the call session represents or how it differs from related tools like emu_simulate_call or emu_list_call_sessions. The purpose is only barely identifiable.

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

    Usage Guidelines1/5

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

    No guidance whatsoever on when to use this tool versus emu_simulate_call, emu_call_action, or emu_terminate_call_session. An agent has no basis to select this tool over siblings.

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

  • Behavior1/5

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

    No annotations are provided, so the description must disclose behaviors such as whether it performs a partial merge, overwrites fields, or validates the body against schema. It does none of this. The agent has no information about error behavior, idempotency, or side effects, making it fully opaque.

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

    Conciseness2/5

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

    The description is a single short sentence, but it is under-specified rather than efficiently concise. It does not front-load critical information; it simply restates the operation name in a slightly expanded form. Every word is present but the sentence fails to convey meaningful guidance.

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

    Completeness1/5

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

    This is a complex tool with 3 required parameters, a large enum, and a free-form body object, yet no output schema and no behavioral context. The description provides none of the essential details an agent needs to call it correctly, such as supported resources, body format, or expected outcomes.

    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 compensate. It does not explain the meaning of 'resource' (beyond the enum), 'id', or 'body', nor the structure of the patch payload. The agent is left without any semantic guidance for constructing a correct request.

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

    Purpose3/5

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

    The description states the action 'Patch' and the object 'v2 inventory object', which is a specific verb+resource pair. However, it does not clarify what 'v2' means or differentiate this from sibling operations like emu_upsert_inventory or emu_delete_inventory_item beyond the verb. It is clear enough to identify the intent but lacks specificity about the resource types it applies to.

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

    Usage Guidelines1/5

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

    There is no guidance on when to use this tool versus alternatives. With siblings like emu_upsert_inventory (for create/update) and emu_delete_inventory_item, the description gives no context about partial updates, required state, or scenarios favoring patch over upsert. This leaves the agent to guess the appropriate selection.

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

  • Behavior1/5

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

    No annotations are present, so the description carries the full burden of behavioral disclosure, yet it reveals nothing: no side effects, no caching semantics, no expectations about the counters (e.g., live vs. cached, scoping, or reset behavior). An agent cannot anticipate what executing this tool will do or return.

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

    Conciseness3/5

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

    The description is only six words, which is maximally concise, but it is incomplete rather than deliberately focused. There is no wasted wording, but the extreme brevity fails to earn its place by adding substance; it reads as a placeholder rather than a well-structured definition.

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

    Completeness1/5

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

    Given no output schema and no annotations, the description must supply nearly all context for an agent to invoke the tool usefully. It provides none: no return format, no domain context for 'v2 summary counters', no relationship to other tools. This is grossly incomplete for a tool in a large emulator family.

    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 tool has zero parameters, and schema coverage is trivially 100% for an empty schema. Since there are no parameters to explain, the description does not need to add parameter detail. A baseline of 3 is appropriate for a parameterless tool.

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

    Purpose2/5

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

    The description 'Get v2 summary counters' identifies a verb ('get') and a resource ('v2 summary counters') but without any detail on what these counters represent. It is not a pure tautology, but it is so terse that it provides only marginal clarity beyond the tool name, and it does not distinguish itself from the many sibling 'get' tools.

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

    Usage Guidelines1/5

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

    There is no information about when to use this tool as opposed to the dozens of siblings like emu_get_cdr_history, emu_get_curri_history, or emu_get_evidence. No context, conditions, or exclusions are provided, leaving the agent entirely on its own.

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

  • Behavior1/5

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

    With no annotations provided, the description must convey behavioral details. It does not disclose side effects, idempotency, return values, or whether the update is additive or replacement. The description only states the action without any behavioral implications.

    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, consisting of a single sentence with no unnecessary words. However, its brevity comes at the cost of clarity—it is short but not informative. The structure is straightforward, but the content is too limited.

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

    Completeness1/5

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

    Given the absence of annotations and an output schema, the description is severely incomplete. It fails to provide any context about the tool's purpose within the larger system, expected inputs, or outcomes. An agent cannot make an informed decision based on this description alone.

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

    Parameters1/5

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

    The description provides zero information about the parameters. While the schema lists 11 properties, the description does not mention any of them, leaving the agent to infer their meaning from names alone. There is no explanation of how parameters affect the update or which are optional.

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

    Purpose3/5

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

    The description states a clear verb ('Update') and resource ('canonical CMR publisher configuration'), but the term 'canonical' is ambiguous and the scope is vague. It does not clarify what aspects of the configuration are affected beyond the general concept, nor does it differentiate from similar tools like emu_update_cdr_publisher.

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

    Usage Guidelines1/5

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

    There is no guidance on when this tool should be used versus alternatives. It does not mention prerequisites, context, or conditions that would make this tool the preferred choice. The description lacks any usage context.

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

  • Behavior1/5

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

    No annotations exist, so the description carries the full burden of behavioral disclosure.s. It only states 'List' and which. It does not cover whether the list paginated, whether `limit` caps at size, whethers the result is events vs sources, or any ordering has. With zero annotation coverage the behavior is completely opaque, warranting a 1.

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

    Conciseness3/5

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

    Phrase is on a sentence, front-loaded with the verb+ resource noun. That is structurally efficient. However brevity (five words) losses significant meaning. Its not flabs, so conciseness merits 4/5, but because it omits the parameter name and it is structured. I award 6.

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

    Completeness2/5

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

    For a tool with one optional `monitor` and a list action, the description is not adequate. It doesn't state return type (callback, canonical event set), nor does it define the fetch will fetch; it fails to disclose expected usage with siblings. Given schema contains no param descriptions and no output schema, need more detail. Score 2. If syscall.

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

    Parameters1/5

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

    The schema parameter coverage is 0%. The single parameter `limit` is an integer with no description in the schema, syslik and the description says nothing about it, can be its meaning, units, or behavior. The description must compensate in schema coverage but does not, so score is 1.

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

    Purpose3/5

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

    The description 'List canonical syslog projections' identifies the verb (list), the resource class (syslog projections), and hints the scope ('canonical'). However, it does not specify the type of events projected, and the sibling emulating emu_list_syslog_sources could be conflated. This isn't a tautology, so it gains over a 2 but is too vague to be a 4.

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

    Usage Guidelines2/5

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

    No guidance is provided about when to use this tool. It does not name emu_list_syslog_sources or emu_get_syslog_publisher, nor does it state that this projections list is distinct from those. An agent has no context to route between emu_list and emu_list_sources, so only minimal inference exists.

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

  • Behavior1/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 state whether operations are read-only, destructive, require authentication, or have side effects. The phrase 'accepts operations' implies execution but provides no detail on outcomes, reversibility, or response format. This is a major gap for a mutation-capable tool.

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

    Conciseness3/5

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

    The description is a single concise sentence, but it packs too many broad concepts into 'operations including...' without structure. It is not verbose, but it lacks clarity and scannability. A more structured breakdown (e.g., listing operation categories or examples) would improve it without adding length.

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

    Completeness1/5

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

    The tool has no output schema, no parameter definitions, and no annotations. The description provides almost no operational context: no return values, no error behavior, no examples, and no guidance on session workflows. An agent given this definition has essentially no idea how to construct a valid call, making it inadequate for real-world use.

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

    Parameters3/5

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

    The input schema is empty (0 parameters, additionalProperties true), so baseline is 4. The description mentions counter discovery, collection, and session workflows, which hints at operation types, but does not explain what parameters or payload structures are expected (e.g., counter names, session IDs, polling intervals). It adds some context but falls short of compensating for the lack of a defined schema.

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

    Purpose3/5

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

    The description names the resource (CUCM PerfMon) and gives three broad categories (counter discovery, collection, session workflows), which distinguishes it from other service endpoints. However, the verb 'accepts' is vague and doesn't specify what the tool actually does (e.g., retrieves, creates, deletes). It is not a tautology, but it lacks the specificity needed to understand its exact function.

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

    Usage Guidelines1/5

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

    There is no guidance on when to use this tool versus the many sibling tools (e.g., emu_post_axl_, emu_post_realtimeservice2_...). No mention of alternatives, prerequisites, or context for selecting this endpoint. The agent is left to infer use cases from the name alone.

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

  • Behavior1/5

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

    The tool likely performs a read-only list operation, but the description does not confirm this or mention any side effects. It does not specify the output format, whether pagination is supported, or if the list is ordered or filtered.

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

    Conciseness3/5

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

    The description is concise, consisting of a single phrase, which is efficient. However, it lacks any structural detail such as sections or additional explanatory sentences, making it feel sparse.

    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 simple tool with one parameter, the description is insufficiently complete. It omits information about the output schema, any constraints on the limit parameter, and the meaning of 'canonical', leaving a user with questions.

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

    Parameters1/5

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

    The schema defines a 'limit' parameter, but the description does not explain its meaning or effect. Without additional context, it is unclear if limit restricts the number of results or serves another purpose.

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

    Purpose4/5

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

    The description states a clear action (List) and resource (call sessions), but the term 'canonical' is ambiguous and could confuse users about which sessions are included. It distinguishes from other call session operations like create and get, but not from other list tools like emu_list_active_calls.

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

    Usage Guidelines1/5

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

    The description provides no guidance on when to use this tool over alternatives, such as emu_list_active_calls or other listing tools. There is no mention of typical use cases, filtering, or prerequisites.

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

  • Behavior2/5

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

    With no annotations at all, the description carries the full burden of behavioral disclosure. 'List' weakly implies a read-only operation, but nothing is said about pagination, default limits, sessions, side effects, or output shape. Four words cannot disclose the behavioral traits an agent needs.

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

    Conciseness3/5

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

    The active verb is front-loaded and the description is undeniably compact, staying within appropriate size limits. However, the one descriptive phrase, 'canonical CMR projections,' is unexplained jargon that wastes the only real estate on which the description spends its words.

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

    Completeness1/5

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

    Given the complete absence of annotations and output schema, this one-line description had sole responsibility for making the tool invokable, and it fails entirely. An agent cannot determine the return format, the purpose of sessionId, or the meaning of 'canonical projections,' making correct invocation impossible without external knowledge.

    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%, so the description was required to compensate, yet it mentions neither parameter. An agent learns nothing about what 'limit' caps, what 'sessionId' refers to, or whether they work together, beyond the bare type declarations already in the schema.

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

    Purpose3/5

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

    The description has a clear verb ('List') and a resource ('canonical CMR projections'), but it leaves the tool's exact function murky. The tool name says 'records' while the description says 'projections,' and the qualifier 'canonical' is never explained, so an agent cannot be sure whether this returns records, a view of them, or something else. No attempt is made to distinguish it from the many sibling emu_list_* tools.

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

    Usage Guidelines2/5

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

    There is no guidance on when to choose this tool over siblings like emu_list_cdr_records, emu_list_nodes, or emu_list_active_calls. An agent is given no context on the CMR vs CDR distinction or any other condition that would pick this over the alternatives.

    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 carry the full burden of behavioral disclosure. It only states 'Create or upsert,' which implies a mutation but does not explain upsert semantics (e.g., whether it replaces, merges, or fails on conflict) or any side effects. There is no mention of authentication, rate limits, or response behavior. This is minimal disclosure.

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

    Conciseness2/5

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

    The description is a single sentence and not wordy, but it is under-specified. It is front-loaded with the action but lacks the necessary details to be useful. Every sentence should earn its place; this sentence is short but does not convey enough information, so it does not justify its brevity.

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

    Completeness1/5

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

    Given the tool complexity (2 required params, one with a large enum, no output schema) and the crowded sibling set, the description is severely incomplete. An agent cannot correctly call this tool without additional information about what 'v2 inventory object' means, how to structure the body, and how resource values affect behavior. The absence of annotations and output schema makes this description inadequate.

    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%, so the description must compensate for the lack of parameter documentation. However, the description does not mention either parameter (resource or body) or how they relate to the 'inventory object.' It adds no meaning beyond the bare schema, leaving the agent without guidance on what the body should contain or how resource values map to inventory types.

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

    Purpose4/5

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

    The description states a specific verb ('Create or upsert') and a resource ('a v2 inventory object'), which indicates the core action. It is distinct from sibling tools like list/get/delete/patch inventory items, though it doesn't explicitly name those alternatives. The term 'v2 inventory object' is somewhat vague without additional context, but the purpose is generally clear.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus the many inventory-related siblings (e.g., emu_patch_inventory_item, emu_seed_fixtures). No context is provided about prerequisites, idempotency, or typical scenarios. The description gives no direction on choosing this tool over alternatives.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It does not state whether the operation is destructive (e.g., resets existing state), requires prerequisites, or has side effects on the emulator's current configuration. The single sentence gives no insight into these critical behaviors.

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

    Conciseness3/5

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

    The description is extremely concise—a single sentence. While it is short, it is under-specified rather than appropriately sized for the tool's complexity. The sentence does state the core action, but it omits essential details, so it does not fully 'earn its place' given the parameter count.

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

    Completeness1/5

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

    For a tool with 13 parameters, no output schema, and no annotations, the description is grossly inadequate. It fails to explain prerequisites, return values, side effects, or parameter semantics. An agent would have no reliable basis for constructing a valid call or understanding the consequences.

    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 makes no mention of any of the 13 parameters. It does not explain what parameters like 'seed', 'locale', or 'neighborMode' control, leaving the agent to guess from names alone. The description adds zero value for parameter 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 states a specific action ('Bootstrap the emulator') with a clear object ('a generated canonical lab fixture'). It distinguishes conceptually from sibling tools like emu_seed_fixtures (which likely seeds data into an existing emulator) by implying initialization, but it does not explicitly name alternatives or contrast behaviors.

    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 siblings. Context (e.g., 'for initial setup, use this instead of emu_seed_fixtures') is entirely absent, leaving the agent to infer usage from the name alone.

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

  • Behavior2/5

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

    With no annotations, the description alone must carry behavior disclosure, but two words disclose nothing: no statement about side effects, no confirmation this is a read-only operation, no response format details. The only implicit signal is that 'get' plus 'health check' don't appear to mutate anything.

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

    Conciseness3/5

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

    The description is two words with no filler, so it cannot be called verbose, but this is under-specification rather than disciplined brevity, since critical context is absent. It earns a middle score for being tight while failing to earn its place with substance.

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

    Completeness2/5

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

    For a zero-parameter tool this is close to viable, but with no output schema and only 'health check' to go on, an agent cannot tell what kind of response to expect or how to interpret it. A single sentence stating what is verified and what a successful/unsuccessful result looks like would complete the picture.

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

    Parameters4/5

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

    The tool takes zero parameters and the schema defines none, so the description has no parameter meanings it must explain. The baseline of 4 for a no-parameter tool applies; there is nothing missing in parameter documentation.

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

    Purpose2/5

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

    The description "Health check" is effectively a restatement of the tool name (get_healthz). It conveys the general domain but doesn't state what the check covers (e.g., service liveness, dependency status) or what a successful vs. failed result means, so it barely separates itself from a tautology.

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

    Usage Guidelines2/5

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

    There is no guidance on when to call this tool versus any of the many sibling tools, no context about preconditions, and no exclusionary phrasing. An agent gets no hint of where a health check fits in a workflow (e.g., before running scenarios or querying data).

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavior disclosure. It indicates a read operation with the verb 'Get', but does not state whether it is read-only, what it returns, or what an 'v2 scenario run' means in this system. This is minimal and leaves major behavioral questions unanswered.

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

    Conciseness3/5

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

    The description is extremely concise, with no filler or unnecessary structure. However, the brevity crosses into under-specification where 'v2' is ambiguous and no additional details are added to improve usefulness.

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

    Completeness2/5

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

    The tool has a very small schema but also has no annotations and no output schema, so the description must compensate with operational context. It does not, leaving an agent without a clear picture of the expected input and output. The definition is too thin to support reliable invocation.

    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 only parameter 'id' has no semantic description in the schema. The description also fails to clarify what 'id' refers to, such as the scenario run ID or another identifier, making the parameter meaning effectively opaque.

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

    Purpose4/5

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

    The description names a clear verb ('Get') and resource ('scenario run'), so the majority of the purpose is apparent. It does not explicitly differentiate from siblings like emu_get_scenario_run_events or emu_replay_scenario_run, but the resource name is still unambiguous enough for a basic selection.

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

    Usage Guidelines2/5

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

    No guidance is given about when to use this tool instead of the related scenario run tools, nor any mention of preconditions or typical workflow. The agent must infer context purely from the tool name, which is insufficient for confident tool choice.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. The phrase 'canonical CDR projections' hints at data transformation or normalization, but doesn't explain what makes a projection canonical, whether sessionId scopes the results, what the default/max limit is, or whether pagination is supported. No behavioral trait beyond the bare read-only intent is disclosed.

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

    Conciseness3/5

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

    Four words with the verb front-loaded — zero filler. However, this reads as under-specification rather than disciplined conciseness; the brevity omits essential disambiguation that the description's valuable few words could have carried.

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

    Completeness2/5

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

    For a list endpoint with only two simple parameters and no output schema, the bar for completeness is low but not met. The tool name itself is ambiguous ('emu_list_cdrs_records' vs. the described 'CDR projections' — note the verb/noun mismatch that isn't reconciled), and the meaning of 'canonical' remains unexplained while dozens of siblings compete for the agent's selection.

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

    Parameters2/5

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

    Schema description coverage is 0% and the description adds nothing about the two parameters. While 'limit' and 'sessionId' are idiomatically guessable, the description must compensate when schema coverage is below 50%, and it does not. The schema itself has no descriptions or enums, so the agent gets zero semantic help.

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

    Purpose3/5

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

    The description has a clear verb ('List') and resource ('canonical CDR projections'), so basic meaning comes through. However, 'projections' is undefined and 'canonical' is unexplained — it's unclear if this returns a transformed view, a materialized table, or a specific provenance of CDR data. It does not differentiate from siblings like emu_list_cmr_records, emu_get_cdr_history, or emu_export_cdr_csv.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this over its many CDR-related siblings. Given the sibling list contains at least five tools that touch CDR data (emu_get_cdr_history, emu_export_cdr_csv, emu_publish_cdr, emu_generate_cdrs), the absence of a differentiating note ('use this for X, use that for Y') is a significant gap.

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

  • Behavior2/5

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

    With no annotations provided, the description must carry the burden of behavioral disclosure. It does not state whether the tool requires a sessionId, whether results are paginated, whether it returns raw events or aggregated projections, or any side effects (though 'List' implies read-only, it is not explicitly stated). This is a significant gap for an apparently read-oriented tool.

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

    Conciseness3/5

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

    The description is extremely short (one phrase), which is concise, but it sacrifices necessary information. It is not front-loaded with the most critical scoping details—indeed, there are none. The brevity is appropriate for a simple tool but insufficient here.

    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 optional parameters, no output schema, no annotations, and only a sparse description, it is incomplete for an agent to call correctly. The agent does not know the expected input constraints, output format, or how to interpret results, making this definition inadequate for non-trivial use.

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

    Parameters2/5

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

    Schema description coverage is 0%, meaning the description must explain the parameters, but it does not mention 'limit' or 'sessionId' at all. The schema gives no descriptions or types beyond bare integer/string. Thus the agent has no idea what these parameters do or whether they require values, forcing guesswork.

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

    Purpose3/5

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

    The description states a specific verb ('List') and resource ('canonical CURRI projections'), indicating a read operation for CURRI events. However, 'CURRI projections' is vague—it does not clarify what these projections represent (e.g., event summaries, computed end-states) or how they differ from sibling tools like emu_evaluate_curri or emu_get_curri_history, so the purpose is only partially clear.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives such as emu_get_curri_history or emu_evaluate_curri. An agent is left to infer usage from the name alone, which is insufficient given the large sibling set.

    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 carry the full burden of behavioral disclosure. The description mentions 'v2' but does not explain what versioning means, what side effects replaying has, whether it mutates state, or whether it is read-only. It does not describe the expected output or how it handles invalid IDs. The agent has no information about what happens on replay—does it create a new run, or return the original? This is a significant transparency gap.

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

    Conciseness4/5

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

    The description is extremely concise—a single short sentence—which is appropriate for a tool with a simple interface. It front-loads the core action and resource. However, the brevity comes at the cost of missing critical behavioral and usage details, so while the structure is clean, the value is low.

    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 no annotations, no output schema, and a single undocumented parameter, the description is far too minimal. The tool operates in a complex domain (scenario runs) with many sibling tools, so the agent needs at least a hint of what 'replay' does and how it differs from related operations. The description does not mention return values, side effects, or error conditions, making it incomplete for reliable invocation.

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

    Parameters2/5

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

    The schema has one parameter 'id' (required, string) with 0% schema description coverage. The description adds no information beyond the schema's minimal definition, so the agent must guess what 'id' refers to—likely a scenario run ID, but the description does not clarify. This is particularly problematic because the parameter name is vague and the description does not compensate.

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

    Purpose3/5

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

    The description 'Replay a previous v2 scenario run' states the verb 'Replay' and the resource 'v2 scenario run', making the primary action clear. However, it lacks specificity about what 'replay' entails—does it re-execute, or does it return an existing run? It does not differentiate itself from sibling tools like emu_get_scenario_run or emu_apply_scenario, which also relate to scenario runs.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives such as emu_apply_scenario (to start a new run) or emu_get_scenario_run (to fetch a run). There is no mention of prerequisites, such as whether the scenario must have been run before, or whether this tool is suitable for re-using a previous run's inputs. This leaves the agent to infer usage from the name alone.

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

  • Behavior2/5

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

    With no annotations provided, the description must carry the full behavioral burden. It reveals only that this is a termination action, but does not disclose side effects, idempotency, whether active calls are affected, or any post-termination consequences like CDR generation.

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

    Conciseness4/5

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

    The description is a single concise sentence with no wasted words. However, the brevity borders on under-specification, as it leaves out meaningful context about the purpose and parameters.

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

    Completeness1/5

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

    The tool has three parameters, no annotations, no output schema, and a large sibling set. This one-line description is far too minimal to enable effective selection and invocation by an agent.

    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 mention or explain any of the three parameters. The agent is left to guess the meaning of id, reason, and timestamp, and additionalProperties: true adds further 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 uses a specific verb 'Terminate' with a clear resource 'canonical v2 call session'. This distinguishes it from lifecycle siblings like create, get, list, and append, though 'canonical v2' is somewhat jargon-heavy.

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

    Usage Guidelines2/5

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

    No guidance is given about when to use this tool versus session management siblings such as emu_create_call_session or emu_append_call_session_event. The intended use is only implied by the verb 'Terminate', with no exclusions, prerequisites, or alternative routing.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. 'Get' implies a read-only operation, but the description does not explain error behavior, required state, edge cases, or what 'canonical v2' means regarding the returned data. It provides minimal transparency for an unannotated tool.

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

    Conciseness4/5

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

    The description is a single short sentence with no wasted words, and it communicates the core action. Its brevity is not a structural problem, though it contributes to under-specification in other dimensions.

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

    Completeness2/5

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

    For a tool with one required parameter, no output schema, no annotations, and a large sibling set, this description is too thin. It lacks information about what 'canonical' denotes, what the 'id' refers to, and how this retrieval tool is used in workflows alongside the other session tools.

    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 mention the required 'id' parameter at all. The schema only provides a type of 'string', leaving the agent without any explanation of which identifier is expected, its format, or how to obtain it. The description adds no semantic value beyond the parameter name.

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

    Purpose4/5

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

    The description states a specific verb ('Get') and a specific resource ('a canonical v2 call session'), which distinguishes it from creating, listing, or modifying call sessions. However, 'canonical' is not explained, leaving some ambiguity about what exactly is returned.

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

    Usage Guidelines2/5

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

    There is no guidance about when to use this tool instead of siblings such as emu_list_call_sessions or emu_create_call_session. The name implies retrieval of an existing session, but the description does not clarify the intended context or exclusions.

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

  • Behavior2/5

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

    There are no annotations provided, so the description carries the full burden of disclosing behavior. It only says 'Get the event log' – it doesn't disclose whether this is a read-only operation (likely implied but not stated), whether it returns a large volume of events, whether pagination or filtering is supported, or whether events are ordered or sorted. Given the lack of annotations, more detail is needed about what the event log contains and how it behaves.

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

    Conciseness5/5

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

    The description is a single, short sentence. It is appropriately sized for the tool's simplicity, with no fluff or redundant content. It is front-loaded with the verb 'Get' and states the resource clearly. Conciseness is excellent, though this does not compensate for gaps in other dimensions.

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

    Completeness2/5

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

    Given the tool's simplicity (one parameter, no output schema, no annotations), the description is minimal but arguably sufficient for a basic read operation. However, the context signals include 70+ sibling tools, suggesting a complex system where event logs might have different meanings across operations, call sessions, or CDR records. With no output schema and 0% schema description coverage, an agent needs more context about what the return format looks like, how the event log relates to scenario runs, and whether events are structured. This falls short of minimum viable for a tool in a large ecosystem.

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

    Parameters2/5

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

    The input schema has one required parameter, 'id' of type string, with 0% schema description coverage. The description does not explain the semantics of the 'id' parameter beyond what the schema shows. With a single parameter and zero description coverage, the description should clarify whether 'id' refers to a scenario run ID, a unique identifier, and any expected format or constraints. The description adds no meaning beyond the schema's bare type declaration.

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

    Purpose3/5

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

    The description 'Get the event log for a v2 scenario run' states a specific verb ('Get') and a resource ('event log for a v2 scenario run'), and it services a scenario-related domain. It differentiates from siblings like emu_get_scenario_run (which likely gets the run itself) by specifying the event log aspect, though the 'v2' qualifier is slightly odd without context. It is clear enough but not exemplary.

    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 versus sibling tools like emu_get_scenario_run, emu_list_operation_runs, or emu_list_active_calls. It doesn't mention whether this tool is for a specific scenario run state, whether it pairs with emu_apply_scenario, or what distinguishes an event log from a run summary. The context signals include many sibling tools for scenarios and runs, but the description provides no usage context.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full disclosure burden, and all it offers is the word 'completed' — implying in-flight or queued runs are excluded from results. It doesn't state default behavior when no limit is given, whether results are ordered, or whether the filter means the tool tolerates no in-progress runs.

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

    Conciseness3/5

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

    The description is four words with zero waste — essentially the acceptable floor for a phrase. However, this reads more like under-specification than deliberate concision. Every word 'earns its place,' but there was room for more substance.

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

    Completeness2/5

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

    For a list tool with no output schema and no annotation coverage, the agent has no idea what an operation run looks like (structures, sections), how results are ordered, or how pagination works. The configuration of list vs. get vs. create is implied by the name but never stated.

    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% and the description never mentions 'limit' — its meaning, range, or default value. While the parameter name is reasonably self-explanatory, the description adds no semantic value beyond what the schema field name already implies, and doesn't compensate for the 0% coverage.

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

    Purpose4/5

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

    The description uses a specific verb ('List') with a clear resource ('operation runs') and a scope qualifier ('completed') that implies a filter. It reads distinctly from emu_get_operation_run (singular) and emu_create_operation_run structurally, though it never names those siblings explicitly.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus emu_get_operation_run, emu_get_scenario_run, or emu_list_call_sessions. With over 70 siblings, including several other 'list' tools, the agent must infer the selection criteria entirely from naming conventions, which is error-prone.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of disclosure. It reveals this is an append operation (suggesting immutability of prior events and session growth), but it doesn't state whether events are validated against a schema, whether timestamps must be monotonic, whether duplicate events are rejected, whether the event list is persisted, or what happens if the session doesn't exist or is already terminated. For a mutation tool, this is minimal disclosure.

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

    Conciseness4/5

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

    The description is a single sentence that efficiently conveys the core action. It's concise without being wasteful. However, it's slightly under-specified rather than optimally sized — an extra sentence explaining event type options or prerequisites would not have been padding.

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

    Completeness2/5

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

    For a write operation with no annotations, no output schema, nested object parameters, and 18 sibling tools, this description is incomplete. An agent cannot reliably know whether to call this versus emu_call_action, how to construct the payload, what timestamp format to provide, or what the response will be. It needs more context about the call session lifecycle and event type semantics.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description names none of the four parameters. The agent must infer that 'id' refers to the call session id and 'type' refers to an event type enum, but nothing in the description confirms this mapping. The 'payload' object and 'timestamp' parameter get no explanation at all, and the timestamp format (epoch vs ISO vs ms) is undocumented. With 0% coverage, the description needed to compensate and did not.

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

    Purpose4/5

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

    The description 'Append an event to a canonical v2 call session' has a specific verb (append), a resource (event), and a target (canonical v2 call session). It distinguishes itself from siblings like emu_create_call_session and emu_terminate_call_session by describing a mutation on an existing session rather than creation or termination. However, it doesn't explain what a 'canonical v2 call session' is or how it differs from a regular call session, leaving some ambiguity. It also doesn't clarify whether 'event' here refers to a call event (like originating or connected) or something else.

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

    Usage Guidelines2/5

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

    The description gives no guidance about when to use this tool versus alternatives such as emu_create_call_session, emu_call_action, or emu_simulate_call. With 70+ sibling tools, an agent has no way to know whether appending a session event is the right action for a given scenario. The phrase 'canonical v2' hints at a newer format, but there's no explicit when/when-not guidance or mention of prerequisites (e.g., the call session must already exist).

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

  • Behavior2/5

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

    With no annotations, the description must carry the full behavioral burden. It does not state whether the bundle is persisted, read-only, idempotent, or what 'aggregate' means concretely. It also doesn't disclose whether the bundle includes only requested artifact kinds or all available evidence.

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

    Conciseness4/5

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

    The description is a single front-loaded sentence that gets to the point without filler. However, its brevity comes at the cost of underspecifying important parameter and behavioral detail.

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

    Completeness2/5

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

    In the absence of annotations and an output schema, the description is too sparse for a 4-parameter tool. It omits the role of id, the effect and meaning of requiredArtifactKinds, and what the returned bundle should look like.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description needs to explain all 4 parameters. It only maps to sessionIds and scenarioRunId with passing mention; id and requiredArtifactKinds are entirely undocumented. The artifact-kind enum is significant and thus a notable gap.

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

    Purpose4/5

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

    The description states a clear action, 'Build', plus a resource, 'aggregate evidence bundle', and names the source inputs ('session IDs or a scenario run'). It distinguishes the tool from likely siblings, although it doesn't explicitly contrast itself with emu_preview_artifacts or emu_list_artifact_batches.

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

    Usage Guidelines2/5

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

    No guidance is given about when to use this tool versus alternatives, nor any prerequisite such as existing sessions or an active scenario run. The only usage hint is the ambiguous 'session IDs or a scenario run' input selection.

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

  • Behavior2/5

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

    No annotations provided, so the description carries full responsibility. It fails to disclose the output size expectations or file format details (e.g., CSV headers, delimiter, encoding), whether it writes to a file or returns a string, or if it has a limit on rows despite the input schema having a 'limit' param. It doesn't reveal any side effects (e.g., it does not consume/delete the projections — 'export' implies read, but that's unconfirmed).

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

    Conciseness4/5

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

    Single tight phrase, no fluff, front-loads the action 'Export'. It earns its position. Slight ding: lacks the standard 'Use this when...' pattern that would improve usage guidance, but as pure conciseness it's strong.

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

    Completeness2/5

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

    For a tool with 2 completely undocumented params, no annotations, and no output schema, this is insufficient. The agent needs to know the meaning of 'canonical CDR projections' (likely published via emu_publish_cdr), the expected CSV structure, and whether sessionId filters a particular export batch. Without that, an agent is guessing. Sibling context doesn't fully disambiguate.

    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?

    Both parameters (limit, sessionId) are completely undocumented in the schema (0% coverage), and the description provides no context for either. The agent cannot know what 'limit' limits (number of rows? file size?) or what sessionId refers to (a CDR generation session? a call session?). The description adds nothing about params; with 0% schema coverage it needed to compensate heavily and doesn't.

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

    Purpose4/5

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

    States verb+resource+format: 'Export canonical CDR projections as Cisco-style CSV'. 'Canonical CDR projections' implies the already-published/normalized call detail records, distinguishing it from raw emu_generate_cdrs or emu_publish_cdr. It's clear enough, though it only differentiates from siblings implicitly.

    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 vs. siblings like emu_list_cdr_records, emu_get_cdr_publisher, or emu_export_snapshot. It doesn't state prerequisites (e.g., must publish CDRs first) or whether 'canonical projections' refers to Publisher processed records rather than generated raw CDRs. Agent must infer from the name and 'canonical' hint.

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

  • Behavior2/5

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

    With no annotations to fall back on, the description must expose side effects and behavior. It only says the state is exported and persisted, leaving out whether an existing snapshot is overwritten, how the snapshot is identified, whether evidence/call history are included, and what the tool returns.

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

    Conciseness4/5

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

    A single front-loaded sentence that conveys the main intent without fluff. It is compact and well structured, but it sacrifices valuable details that the number of parameters and a lack of annotations demand.

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

    Completeness1/5

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

    The description is far too minimal for a tool with five parameters, no required fields, no output schema, and no annotation support. An agent has almost no information to correctly set inputs or interpret the result of the export.

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

    Parameters1/5

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

    The schema has 0% description coverage, and the text does not mention any of the five parameters (id, name, createdAt, includesEvidence, includesCallHistory). There is no clue about what each parameter does, how it affects the export, or what defaults apply.

    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 explicitly states an action ('export') applied to a specific resource ('the current emulator state') with a clear outcome ('a persisted snapshot'). This clearly distinguishes it from sibling snapshot tools like list, import, and load.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to export versus listing, importing, or loading snapshots. It does not mention use cases, prerequisites, or situations where an alternative sibling should be preferred.

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

  • Behavior1/5

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

    No annotations are provided, so the description carries the full responsibility for behavioral transparency. It only states 'Inspect', implying a read-only operation, but does not explicitly confirm that, nor mention any side effects, permissions, or limitations. This is insufficient for a tool with no annotation support.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence that states the core function without extraneous words or repetition of the tool name. It gives the primary purpose immediately and does not bury the lede.

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

    Completeness2/5

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

    With no annotations and no output schema, the description must carry the full burden of explaining behavior. It only states the operation but omits critical details: what 'AXL operation coverage' means, what the tool returns (list, counts, status), any side effects, or how to interpret results. It also does not clarify when to choose this over sibling tools like emu_get_contracts_catalog or emu_get_contracts_openapi_json. The description is too sparse for an agent to use confidently without additional context.

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

    Parameters3/5

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

    The schema covers the only parameter 'version' with an enum and a description ('Supported CUCM AXL version'). The tool description adds no additional semantic detail beyond the schema, so baseline 3 applies. The description's mention of 'one CUCM version' aligns with the schema, but no extra information is provided.

    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 operation: 'Inspect AXL operation coverage for one CUCM version.' It specifies a distinct resource (AXL operation coverage) and scopes it to a single CUCM version, which differentiates it from siblings like emu_get_contracts_catalog or emu_get_contracts_openapi_json. The main gap is that it doesn't explicitly say what 'coverage' means, but the purpose is still clear.

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

    Usage Guidelines2/5

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

    The description gives no guidance on when to use this tool versus alternatives like emu_get_contracts_catalog or emu_get_contracts_openapi_yaml. It states what it does but provides no context for selection criteria, such as 'use this to check supported AXL operations per version' versus other contract tools.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full behavioral burden. 'Fetch' implies a read operation, but the description does not disclose whether fetching can generate state, whether it is idempotent, whether a call session must already exist, or what the returned evidence bundle contains.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence with no filler or repetition. It is concise, though it sacrifices useful behavioral and usage detail for brevity.

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

    Completeness2/5

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

    Given no annotations, no output schema, and an ambiguous 'id' parameter, the description is not complete enough. It does not explain how the evidence bundle is obtained, what data it contains, how errors surface, or how this tool relates relation to the evidence creation workflow.

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

    Parameters2/5

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

    The required parameter is only an 'id' string with 0% schema description coverage. The description vaguely suggests the id relates to a 'canonical call session', but it does not clarify whether id is a session id, an evidence bundle id, or something else, leaving the parameter ambiguous.

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

    Purpose4/5

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

    The description identifies a specific action ('Fetch') and resource ('evidence bundle') with a qualifier ('canonical call session'). It distinguishes from emu_create_evidence_bundle and emu_get_call_session, though 'canonical' is left undefined and could confuse an agent.

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

    Usage Guidelines2/5

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

    There is no guidance about when to use this tool versus alternatives, no prerequisites, and no mention of whether the caller needs to create a session or evidence bundle first. The agent must infer usage from the name and description.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It says the operation reads an object, but it does not describe what happens when the id is not found, whether the full object is returned, whether related data is included, or what 'v2' implies about the representation. These are essential for an agent to predict 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.

    Conciseness4/5

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

    The description is a single tight sentence with no wasted words and front-loads the verb. It earns a 4 for efficiency, though the cryptic 'v v2' token costs it a perfect score since that word is ambiguous.

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

    Completeness2/5

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

    Given the large sibling set, the lack of an output schema, and the subtle semantics of a resource-scoped id, the description is under-powered. It does not explain the response shape, the effect of the resource enum, usage with not-found, or how the tool relates to emu_list_inventory, emu_get_phone_by_ip, etc. An agent would need extra experiments to use it correctly.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate, but it only hints that 'id' is the identifying key. It does not explain that 'resource' is the collection/type selector among the 14 enum values, nor what distinguishes these resources from other per-resource endpoints (e.g., phones). The additionalProperties:true is also undocumented, leaving validation behavior unclear.

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

    Purpose4/5

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

    The description names a specific action (Get) and a resource ('v2 inventory object') scoped by id, which clearly separates it from the mutation siblings (emu_upsert_inventory_item, emu_patch_inventory_item, emu_delete_inventory_item) and from the list operation (emu_list_inventory). It stops short of naming a sibling explicitly, and the meaning of 'v2' is left unexplained, so it is clear but not fully differentiated.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool over alternatives. No mention that this is for retrieving a single object by id while emu_list_inventory is for browsing, nor any distinction from emu_get_phone_by_ip or other resource-specific getters. An agent is left to infer from the sibling list alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It only implies a read operation via 'Fetch', but does not mention what happens if the ID is invalid, whether it's idempotent, what the return payload looks like (since there's no output schema), or any required permissions. This is a significant gap for an unannotated tool.

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

    Conciseness3/5

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

    The description is concise with zero wasted words, but it is under-specified. A single clause provides only the purpose without any structural elements like parameter details or usage hints. It is not a tautology, but it borders on minimalism, earning a mid-range score.

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

    Completeness2/5

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

    Given the tool's simplicity (one required parameter, no output schema, no annotations), the description still lacks essential context. An agent needs to know what an 'operation run' is, what ID to use, and what the response will be. The description does not address these, leaving the tool insufficient for confident use.

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

    Parameters1/5

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

    Schema coverage is 0%, and the description does not mention the 'id' parameter at all. It doesn't clarify that 'id' refers to the operation run identifier or specify any format or constraints. The agent must guess what ID to provide, making this inadequate for correct invocation, especially given 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?

    Description 'Fetch one operation run' clearly states the verb 'Fetch' and the specific resource 'one operation run', distinguishing it from sibling tools like emu_list_operation_runs (which lists multiple) and emu_create_operation_run (which creates). The singular 'one' makes the purpose unambiguous.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. For example, it doesn't clarify that this tool is for retrieving a specific run by ID, while emu_list_operation_runs is for listing all runs. The description gives no context or exclusions, leaving the agent to infer usage from the name alone.

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

  • Behavior1/5

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

    There are no annotations and the description provides no information about side effects, whether existing snapshots are overwritten, persistence guarantees, or error behavior. This lack of transparency is critical for a tool that likely modifies stored state.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no unnecessary words. It is highly concise and achieves its communicative purpose with minimal text.

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

    Completeness1/5

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

    Given the complexity of the input schema and the presence of many related snapshot tools, the description is severely incomplete. It does not mention return values, success criteria, potential failures, or whether the operation is destructive. This leaves significant gaps for an agent deciding how to use the tool correctly.

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

    Parameters3/5

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

    While the input schema is extremely detailed and self-explanatory, the description adds no additional meaning to the 'pack' parameter. Since the schema thoroughly defines the structure, the baseline of 3 is appropriate, but the description does not enhance or clarify parameter semantics further.

    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 'Persist a provided snapshot' clearly states the verb (persist) and resource (snapshot), and the tool name aligns with sibling tools like emu_export_snapshot and emu_load_snapshot, making its purpose unambiguous. However, it could be more specific about what 'persist' entails (e.g., save to store, overwrite).

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like emu_load_snapshot or emu_export_snapshot. The description does not mention any conditions or scenarios that would indicate its appropriate use, leaving the agent to infer from the name alone.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full behavioral burden. It signals a read-only list operation and a v2 collection, but it does not disclose pagination, ordering, response shape, or what the returned list actually contains.

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

    Conciseness4/5

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

    The description is a single short sentence with no filler, making it structurally efficient and front-loaded. However, the brevity is partly a result of under-specification rather than dense, meaningful content.

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

    Completeness2/5

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

    With no output schema and no annotations, the description omits return format, pagination, and how resource selection maps to results. Because sibling tools overlap in domain, an agent cannot reliably choose or invoke this tool from the description alone.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description should explain the resource parameter, but it does not even name it. The enum values hint at object types, yet the description only loosely connects them to 'inventory objects' and leaves additionalProperties and the meaning of 'v2 collection' undocumented.

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

    Purpose4/5

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

    The description states a concrete operation ('List') on a named resource ('inventory objects from a v2 collection'), so it is not a tautology. It is clear about the basic action but doesn't distinguish itself from sibling list tools such as emu_list_nodes or emu_list_phones.

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

    Usage Guidelines2/5

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

    There is no when-to-use guidance and no mention of alternatives. The resource enum in the schema implies the intended scope, but the description itself leaves choosing between this tool and the many sibling list tools entirely to inference.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It indicates a write operation ('update') but fails to disclose side effects, whether unspecified fields are reset, required permissions, or atomicity. For a mutation tool with zero annotation coverage, this is a significant gap.

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

    Conciseness2/5

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

    The single sentence is terse but fails to earn its place as it only restates the tool's obvious purpose. For a tool with 12 parameters and no other documentation, more structured or additive content is expected; the brevity reflects under-specification rather than efficient conciseness.

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

    Completeness1/5

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

    The tool has 12 optional parameters, no output schema, and no annotations. The description provides zero context about the meaning of 'canonical', what configuration aspects are updatable, valid value ranges, or how changes impact other components. This is utterly inadequate for safe, correct invocation of a configuration tool.

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

    Parameters1/5

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

    Schema description coverage is 0%; the description mentions none of the 12 parameters. It adds no meaning beyond the schema property names, leaving agents to guess at semantics for fields like 'intervalMs' or 'transport' without guidance, which is especially problematic given all parameters are optional and no required constraints exist.

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

    Purpose5/5

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

    The description states a specific verb ('update') and resource ('canonical syslog publisher configuration'), which clearly identifies the action and resource. This distinguishes it from siblings like emu_get_syslog_publisher (read) and emu_update_cdm_publisher (different resource type).

    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 when needing to modify syslog publisher settings, but gives no explicit guidance on when to choose this over alternatives. It does not mention that emu_get_syslog_publisher is for reading or how it relates to CDR/CMR publisher updates, leaving the agent to infer the context.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does not disclose what 'apply' does in terms of state changes, side effects, whether it mutates the emulator state, or if it requires prerequisites (e.g., seeded fixtures). It does not mention that it likely triggers a scenario execution that could be long-running or produce evidence, which is critical for an agent to understand.

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

    Conciseness3/5

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

    The description is extremely concise, which is good for front-loading, but it is under-specified. It is a single short sentence that earns nothing beyond the name. It doesn't add context about the 'v2' aspect or what applying a scenario entails. It is not wasteful, but it is minimal.

    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 complexity of the input schema (4 parameters, nested objects, enums) and the lack of output schema or annotations, the description is inadequate. An agent needs to know the tool's role in the scenario workflow, what side effects to expect, and how it relates to other scenario tools. The description's brevity leaves too much to inference for a non-trivial operation.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the description must compensate. It does not explain any parameters, but the input schema is rich with enums for 'name' and nested objects for 'steps'. The enum values give clear clues about scenario types, and the schema defines structure; however, the description adds no meaning about how 'input', 'steps', or 'phoneNames' interplay, so the agent must rely on schema inference. This is a baseline score given the schema's self-documenting nature.

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

    Purpose4/5

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

    The description 'Apply a v2 emulator scenario' uses a specific verb and resource, clearly indicating an action to apply a scenario. However, it does not differentiate from other scenario-related tools like emu_list_scenarios, emu_get_scenario_run, or emu_replay_scenario_run, relying on the verb 'apply' to distinguish it. It is clear but lacks explicit sibling differentiation.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus siblings. It doesn't mention alternatives or context for applying scenarios, such as when to use emu_replay_scenario_run for replaying existing runs versus applying a new scenario. The tool's role in the scenario lifecycle is implied but not explicitly stated.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure, and it is nearly bare. 'Immediately' usefully implies the operation is synchronous/forced relative to a buffered default, which is a genuine behavioral signal, but there is no disclosure about idempotency, side effects, reversibility, or what happens when there is nothing pending. For a mutation-style operation, this is thin.

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

    Conciseness4/5

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

    Six words, front-loaded, zero wasted modifiers. For a tool with no parameters and no output schema, the brevity is arguably appropriate. It loses a point because the freed-up budget could have bought a short parenthetical (e.g., 'push all pending CMR records now') to disambiguate 'flush.'

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

    Completeness2/5

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

    For an annotation-less, param-less tool with no output schema, the description is the only contract, and it's insufficient. A model cannot tell what the call returns, whether it's safe to invoke repeatedly, what state must exist first, or whether 'flush' might be destructive. Compared to the MID example (update_drive), which at least listed its fields, this leaves more open than it closes.

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

    Parameters4/5

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

    The tool declares zero parameters, so there is nothing for the description to document — the schema is trivially complete at 100% coverage. Per the rubric, zero parameters earns a baseline of 4, and the description doesn't mislead about any parameters.

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

    Purpose3/5

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

    'Flush the CMR publisher' pairs a concrete imperative with a specific resource ('CMR publisher'), and 'immediately' adds temporal scope. However, 'flush' is ambiguous between 'force-publish buffered records' and 'discard/reset,' and a model cannot disambiguate from the text alone. It also doesn't clearly distinguish itself from emu_get_cmr_publisher / emu_update_cmr_publisher beyond the generic 'publish' semantic.

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

    Usage Guidelines2/5

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

    There is zero guidance on when to call this tool versus alternatives. The description never mentions emu_get_cmr_publisher, emu_update_cmr_publisher, or the parallel emu_publish_cdr/emu_publish_syslog family, nor any preconditions (e.g., pending records must exist). In contrast to the get_calls high-bar example, no exclusion or routing information is provided.

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

  • Behavior2/5

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

    The description merely says 'delete' without detailing side effects, required permissions, irreversibility, or potential impacts on related data. No annotations exist to supplement this, so transparency is low.

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

    Conciseness4/5

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

    The description is a single, concise sentence with no fluff. It is well-structured for a simple operation, though it lacks additional formatting like examples or a more detailed breakdown.

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

    Completeness2/5

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

    The description is overly minimal for a delete operation. It does not mention expected response, error handling, or any post-deletion behavior. Given the lack of output schema and annotations, this is insufficient for a user to fully understand the operation.

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

    Parameters2/5

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

    The schema defines parameters (resource with enum, id as string), but the description adds no meaning. It does not explain that 'resource' must be one of the listed types or clarify the role of 'id' (e.g., unique identifier).

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

    Purpose5/5

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

    The description clearly states the action ('Delete') and the target ('a v2 inventory object'), making it unambiguous. It distinguishes from sibling tools like get, patch, or list by indicating a removal operation.

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

    Usage Guidelines2/5

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

    The description does not provide guidance on when to use this tool over alternatives (e.g., patch for modifications or list for retrieval). It only states the purpose without any conditions or context for usage.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states which operations are accepted, not what happens on invocation. There is no mention of whether responses are simulated, forwarded, or validated, no error behavior, and no side effects. The two named operations are the only real behavior hint.

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

    Conciseness5/5

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

    A single front-loaded sentence with no filler; every word carries information. The service (RIS) and concrete operation examples appear immediately, and the text is appropriately sized for a simple proxy-style tool.

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

    Completeness2/5

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

    For a tool with no annotations, no output schema, and an open additionalProperties schema, the description should supply substantial context, but it stops at naming two operations. An agent cannot determine the request payload format, the response format, or how this tool behaves in the emulator environment, making correct invocation largely guesswork.

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

    Parameters3/5

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

    The input schema declares zero parameters (baseline 4), but additionalProperties: true means the tool accepts an arbitrary payload, placing a compensation burden on the description. Naming selectCmDevice and selectCmDeviceExt hints at known Cisco RIS request structures, but the description never explains the expected payload shape, SOAP envelope, or field names.

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

    Purpose4/5

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

    The description names a specific resource (RIS SOAP operations) with concrete examples (selectCmDevice, selectCmDeviceExt), which distinguishes it from sibling SOAP-proxy tools targeting AXL, Perfmon, and Log Collection services. The verb 'Accepts' is passive, however, and does not explain what the tool does with the operations, keeping it short of a 5.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool. Among dozens of emu_post_* siblings targeting different SOAP services, there is no routing hint, no mention of prerequisites, and no exclusions. An agent must infer from the name alone that RIS operations belong here.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it lists inventory but doesn't reveal anything about the nature of the data (e.g., whether it's static, filtered, or includes detailed metadata). No mention of potential side effects or requirements. The description adds minimal context beyond the name of the operation.

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

    Conciseness3/5

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

    The description is a single short phrase, which is concise. However, it lacks structuring that would aid scanning, such as front-loading what the tool does or why it matters. It's under-specified but not overly verbose. Every word is functional, but there's no added value beyond the name.

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

    Completeness3/5

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

    For a zero-parameter list tool with no output schema, the description is adequate but minimal. It covers the basic purpose but doesn't elaborate on the type of data returned or any nuances. Given the simplicity, a 3 seems fair: it completes the essential task but lacks richness that might help an agent understand the output format or filtering options.

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

    Parameters4/5

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

    The tool has zero parameters, and schema coverage is 100% (empty schema). The baseline for zero parameters is 4, as the description doesn't need to explain parameters. The description is sufficient since there's nothing to clarify. The word 'canonical' hints at the nature of the list but doesn't add parameter-related value.

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

    Purpose4/5

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

    The description 'List canonical syslog source inventory' clearly states the action (list) and resource (syslog source inventory). It is distinct enough from siblings like emu_list_syslog_events, which lists events rather than sources. However, the term 'canonical' is slightly vague and could mean the authoritative list, but it doesn't cause confusion with siblings.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. While siblings like emu_list_syslog_events and emu_get_syslog_publisher exist, there's no mention of when to prefer this tool. The context is implied (listing sources), but no explicit usage context or exclusions are provided.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not disclose side effects such as whether loading replaces the current state, whether it is destructive, or whether it requires specific permissions. This leaves the agent with insufficient behavioral expectations.

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

    Conciseness5/5

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

    The description is a single, tight sentence with no extraneous words. It is perfectly concise.

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

    Completeness2/5

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

    Given the lack of parameter description, no output schema, and no behavioral details, the description is too sparse for an agent to understand the tool's full implications. The context of sibling tools helps but does not compensate for the missing information.

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

    Parameters2/5

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

    The sole parameter 'id' is described only by its name and type. The description adds no explanation of what the ID refers to, its format, or how it relates to persisted snapshots, leaving the agent to infer its meaning.

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

    Purpose4/5

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

    The description clearly states the verb 'load' and the resource 'persisted snapshot', distinguishing it from related tools like export/import/list. The intent is unambiguous.

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

    Usage Guidelines3/5

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

    The description implies usage when a snapshot needs to be activated in the in-memory emulator, but does not explicitly state when to choose this over alternatives (e.g., when to import vs. load). No preconditions or side effects are mentioned.

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

  • Behavior2/5

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

    There are no annotations, so the description must carry the full behavioral disclosure burden. It only says 'Accepts AXL SOAP operations,' leaving unclear whether the tool executes those operations, returns SOAP responses, creates side effects, or requires specific endpoint or authentication setup. The agent cannot anticipate what happens after a successful call.

    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?

    This is a single, spare sentence that front-loads the core purpose and includes concrete operation examples. There is no filler, and the description efficiently conveys what resource the tool acts upon.

    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 open schema, no output schema, and no annotations resulting in a complicated generic pass-through tool, this description is significantly under-specified. It omits the request payload format, operation parameter structure, response shape, error behavior, and any side-effect or authorization notes, so an agent cannot reliably invoke the tool correctly from this definition alone.

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

    Parameters2/5

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

    The input schema is an open object with no defined properties, and the description only lists operation names without explaining how they are encoded or what additional parameters each operation expects. Naming example operations like getPhone and executeSQLQuery gives a small amount of semantic context, but it not enough for the agent to construct a valid payload or map arguments to those operations.

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

    Purpose4/5

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

    The description identifies a specific resource class, 'AXL SOAP operations,' and gives concrete, recognizable examples like getPhone, getUser, listPhone, and executeSQLQuery. It is fairly clear that an agent would use this to make generic AXL SOAP calls, though 'Accepts' is less precise than 'executes' or 'sends' and it does not explicitly differentiate itself from the many other post_* siblings.

    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 is too small to give explicit when-to-use or when-not-to-use guidance. It implies that you should use this tool when working with AXL SOAP operations, but it does not mention alternatives, exclusions, prerequisites, or how it relates to sibling tools such as emu_get_contracts_axl or emu_query_sql.

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

  • Behavior2/5

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

    No annotations are provided, and the description only mentions 'update' without disclosing side effects, idempotency, or potential destructive behavior. It does not indicate whether changes are reversible or what happens to existing settings.

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

    Conciseness5/5

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

    The description is a single, concise sentence that front-loads the verb and resource, containing no unnecessary words.

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

    Completeness1/5

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

    With no output schema and no mention of return values, side effects, or prerequisites, the description is highly incomplete for a tool with 11 parameters that performs a mutation.

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

    Parameters1/5

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

    The schema lists 11 parameters with no descriptions, and the tool description provides no explanations for any of them. The enum for 'transport' is present but unexplained, leaving the agent without any semantic guidance.

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

    Purpose5/5

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

    The description clearly states the action (update) and the resource (canonical CDR publisher configuration), distinguishing it from sibling tools like emu_get_cdr_publisher and emu_update_cmr_publisher.

    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 purpose implies it is used for modifying the CDR publisher configuration, but the description does not explicitly state when to use it versus alternatives such as the get tool, nor does it mention any prerequisites or sequencing.

    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 responsibility. It says 'Inspects' but does not explicitly state that the tool is read-only or has no side effects. It also doesn't disclose return format, potential errors, or any additional behavioral details. The word 'Inspects' weakly implies read-only, but it is not explicit enough.

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

    Conciseness4/5

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

    The description is a single sentence with no fluff. It front-loads the action ('Inspects and returns') and lists the covered items efficiently. However, it could have used the space to add usage hints, but for a zero-param tool, conciseness is acceptable.

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

    Completeness3/5

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

    Given no parameters and no output schema, the description provides a reasonable overview of what the tool returns. However, it lacks clarification on read-only nature, any prerequisites (e.g., seeded fixtures), and how this summary differs from other summary tools like emu_get_summary. It is adequate but could be more complete.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema is empty and there is nothing to explain. Baseline for zero parameters is 4. Description doesn't need to add parameter info, and it doesn't add any irrelevant detail.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: inspecting and returning a comprehensive summary of specific CUCM cluster elements (nodes, phones, call sessions, policies, buffers). It uses a specific verb and resource list, making it distinct from generic 'get summary' tools, though it doesn't explicitly differentiate from siblings like emu_get_summary or emu_list_nodes.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention that it's a read-only overview, nor does it suggest it as an alternative to more specific list tools (e.g., emu_list_nodes, emu_list_phones). No context on intended use cases or exclusions is given.

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

  • Behavior2/5

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

    With no annotations, the description must convey behavioral traits, but it only says 'List supported v2 scenario definitions' — a minimal read operation. It doesn't specify whether it's non-destructive, what the return format is, or any side effects. While 'list' implies read-only, the description doesn't explicitly state it, and no output schema exists to fill the gap.

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

    Conciseness5/5

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

    The description is a single, focused sentence. It states the action and the object without extraneous words, earning full marks for conciseness.

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

    Completeness2/5

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

    With no output schema and no annotation, the description must explain what the tool returns controller and what 'scenario definitions' are. It only says 'List supported v2 scenario definitions' without detailing the output format, pagination, or any other context an agent needs. For a tool with no parameters, the description should at least clarify the expected response, which it doesn't.

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

    Parameters4/5

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

    The tool has zero parametersaine, and schema coverage is 100% (empty schema). With no parameters, the baseline is 4. The description adds the qualifier 'supported v2' which gives context about what will be listed, providing some value beyond the empty schema.

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

    Purpose4/5

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

    The description states a clear verb ('List') and a specific resource ('supported v2 scenario definitions'), which distinguishes it from sibling tools like emu_apply_scenario or emu_list_active_calls. However, it doesn't explicitly differentiate from potential alternatives that might list other types of definitions.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention context, prerequisites, or when not to use it. Given the large sibling list, the agent gets no help in selection.

    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 carry the full burden of behavioral disclosure. It mentions 'Seeds deterministic' implying reproducibility is a key behavior, but it doesn't detail side effects: Does it overwrite existing data? Does it reset the store? Does it require any prerequisites (e.g., an empty store)? It also doesn't state if the operation is idempotent or what happens on repeated calls. For a tool that clearly mutates the emulator state (seeds fixtures), this lack of effect disclosure is a significant gap.

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

    Conciseness4/5

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

    The description is a single, dense sentence that lists major fixture categories without any filler. It front-loads the key action and resource. It loses one point because it could be slightly more explicit about the seed behavior (deterministic) being related to the seed parameter, but overall it is very efficient.

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

    Completeness2/5

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

    This tool has 5 parameters, no output schema, and no annotations, so the description is the primary source of guidance. It tells what is seeded but not the effect on existing data, whether it resets the store, or how long it takes. Given the tool's complexity (seeding multiple fixture types) and the lack of annotations, the description is too brief. An agent needs to know if calling this is idempotent, if it overwrites, and what the resulting state looks like to use it safely.

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

    Parameters3/5

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

    The input schema descriptions cover 100% of the five parameters, each with a clear meaning (e.g., 'Random generator seed', 'Target CUCM release version string'). The description adds a little context by mentioning 'deterministic' which aligns with the seed parameter, but it doesn't provide additional nuance beyond the schema. The schema does the heavy lifting, so a baseline of 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states the action ('Seeds') and the resource ('CUCM emulator store') and lists the types of fixtures (cluster topology, nodes, phones, dial plan partitions, CSS, CURRI policies). This distinguishes it from sibling tools like emu_list_nodes and emu_get_topology. However, it doesn't explicitly name a sibling it complements or differs from, so it's not 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 this tool is for initializing or populating the emulator with deterministic fixtures, but it doesn't explicitly state when to use it versus alternatives like emu_bootstrap_lab or emu_apply_scenario. There is no guidance on when not to use it or what scenarios warrant a different tool. The context signals suggest this is a setup tool, but the description lacks explicit usage instructions.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It names the actions but does not disclose side effects, state-machine constraints, whether 'drop' fully terminates the session, required preconditions, or any safety-relevant behavior. For a mutating tool this is a significant gap.

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

    Conciseness5/5

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

    The description is a single sentence with no filler, and the enumerated examples are useful and front-loaded. Every part contributes to understanding the tool's purpose.

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

    Completeness2/5

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

    For a state-mutating tool with no annotations and no output schema, the description is thin. It omits return behavior, preconditions, and the relationship to sibling session-management tools, leaving an agent to infer too much.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all parameters. The description's examples mirror the action enum but add no additional meaning for sessionId or reason beyond what the schema provides.

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

    Purpose4/5

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

    The description uses a specific verb ('Executes') and identifies the resource ('mid-call state transitions') with concrete examples: answering, holding, resuming, disconnecting. It is clear about what the tool does, though it does not explicitly differentiate itself from sibling tools like emu_terminate_call_session or emu_simulate_call.

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

    Usage Guidelines3/5

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

    The phrase 'active call session' implies when the tool should be used, but the description gives no explicit when/when-not guidance and does not mention alternatives such as emu_terminate_call_session or emu_create_call_session. Usage context is inferable, not stated.

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

  • Behavior2/5

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

    With no annotations present, the description carries the full burden. It implies a read-only evaluation but does not explicitly state whether the tool has side effects, modifies state, or requires specific permissions. It also omits any mention of rate limits 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.

    Conciseness5/5

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

    The description is a single, concise sentence that efficiently conveys the tool's core function and expected output. No unnecessary words or 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?

    While the description states the tool's purpose and return type, it lacks essential context such as when to invoke this tool, what inputs are required beyond the two mandatory ones, and how it relates to other call-related tools. This leaves the agent with gaps in decision-making.

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

    Parameters4/5

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

    The schema provides clear descriptions for all four parameters (calledNumber, callingNumber, policyProfile, callingSearchSpaceName). The tool description does not add extra meaning beyond the schema, but the schema alone is sufficient for understanding each parameter's purpose.

    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 evaluates external call routing policies and returns a routing decision (permit, deny, or divert). However, it does not explicitly differentiate itself from similar sibling tools like emu_call_action or emu_simulate_call, which could lead to ambiguity.

    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 does not provide any guidance on when to use this tool versus alternatives. It lacks context on scenario applicability, preconditions, or situations where a different tool would be more appropriate.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions 'recent' and 'buffer' but doesn't disclose behavior like whether records are cleared after retrieval, pagination limits, or the exact structure of the JSON/CSV output. The description is thin on behavioral details beyond the basic retrieval action.

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

    Conciseness4/5

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

    The description is a single, efficient sentence that front-loads the core action and mentions the format options. No wasted words, though it could be slightly more explicit about the buffer context.

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

    Completeness3/5

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

    For a retrieval tool with no output schema and no annotations, the description is adequate but not complete. It doesn't explain the return format details, pagination, or how 'recent' is defined. Given the sibling tools like emu_export_cdr_csv, more context on when to use this vs. export would improve completeness.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all three parameters (limit, callId, format). The description adds the 'recent' and 'buffer' context but doesn't add meaning beyond the schema for the parameters themselves. Baseline 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states the tool retrieves CDR records from the emulator buffer and specifies two output formats (JSON or CSV). It distinguishes from siblings like emu_list_cdr_records and emu_export_cdr_csv by mentioning the buffer and format options, though it doesn't explicitly name those siblings.

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

    Usage Guidelines3/5

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

    The description implies usage for retrieving recent CDR records but doesn't explicitly state when to use this over alternatives like emu_list_cdr_records or emu_export_cdr_csv. No exclusions or alternative routing are provided, leaving the agent to infer the distinction.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states the tool fetches 'canonical CDR publisher configuration and pending state,' but gives no detail on side effects, authorization needs, or what 'pending state' means. The term 'canonical' is unexplained and there is no note on whether this is a safe read-only operation.

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

    Conciseness5/5

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

    A single, front-loaded sentence that names the resource and the two pieces of data it retrieves. No filler, 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?

    For a get-with-no-params tool this is mostly fine, but it never says when to prefer this over emu_get_cdr_history or emu_generate_cdrs, and 'pending state' is undefined. An agent cannot tell what the output looks like or what distinguishes this from siblings.

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

    Parameters4/5

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

    The tool has zero parameters (schema coverage 100% vacuously), so there is nothing for the description to clarify. Baseline 4 applies.

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

    Purpose4/5

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

    The description states a specific verb (

    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. Among many get_* siblings, there is no mention of which case this one fits or any exclusion criteria. The agent must infer from the name alone.

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

  • Behavior2/5

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

    With no annotations at all, the description carries the full burden of behavioral disclosure, and it provides none beyond the data contents list. It doesn't disclose anything about performance, large payloads, caching, authentication, or any operational trait. It does clarify that the return is a catalog of metadata rather than raw contract definitions, which is some but minimal behavioral context.

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

    Conciseness5/5

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

    A single sentence that front-loads the resource ('v2 contract catalog') and the action ('Returns') before enumerating the metadata domains. Every phrase earns its place, and there is zero 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?

    For a zero-parameter read-only tool with no output schema, the description covers the main purpose and data scope but not the broader retrieval context. Missing is any explanation of how this catalog relates to the many sibling contract tools (e.g., versions, AXL, OpenAPI) or what an agent should do with the returned catalog vs those alternatives. It's adequate for parameter-free invocation but not complete for a tool sitting in a large family of similarly-named contract endpoints.

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

    Parameters4/5

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

    The tool takes zero parameters, so there is nothing for schema or description to compensate for. The description usefully enumerates the types of content in the returned catalog (typed AXL operation metadata, coverage summaries, resources, capabilities, state collections), which adds concrete semantic value about what the agent will receive. This is a no-parameter tool, so the baseline of 4 applies.

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

    Purpose4/5

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

    The description clearly identifies the resource (v2 contract catalog) and the action (returns). It lists the contained metadata domains (typed AXL operation metadata, coverage summaries, resources, capabilities, state collections), which tells the agent what to expect. It doesn't explicitly distinguish from sibling tools like emu_get_contracts_versions or emu_get_contracts_axl, though the 'catalog' and 'v2' hints are differentiating enough.

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

    Usage Guidelines2/5

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

    The description is entirely declarative with no guidance on when to use this tool versus alternatives such as emu_get_contracts_versions, emu_get_contracts_axl, or emu_get_contracts_openapi_json. There's no mention of context, prerequisites, or when this catalog would be appropriate over sibling contract tools. The agent must infer its usage role among many similar contract and catalog tools.

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

  • Behavior2/5

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

    There are no annotations and the description does not disclose any behavioral traits such as side effects, authentication requirements, or rate limits. While a fetch operation is likely read-only, this is not explicitly stated.

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

    Conciseness4/5

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

    The description is a single concise sentence with no wasted words. It is well-structured but could be slightly more informative without becoming verbose.

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

    Completeness4/5

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

    Given the simple fetch operation and no output schema, the description adequately conveys that it returns OpenAPI JSON. However, it could clarify which contract or endpoint it refers to, though the tool name provides some context.

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

    Parameters4/5

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

    The input schema is empty, so there are no parameters to document. The description does not need to add parameter semantics, and the lack of parameters is clear from 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 'Fetch' and resource 'generated OpenAPI JSON', making its purpose obvious. It is distinguishable from the sibling tool emu_get_contracts_openapi_yaml by format, but does not explicitly mention the alternative or its scope.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus the YAML counterpart or other contract-related tools. The agent is left to infer from the name and description that it should be used when JSON is required.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool 'accepts' requests, revealing nothing about what it returns, whether it is read-only, what request envelope it expects, or any side effects. The passive framing leaves the actual behavior almost entirely undisclosed.

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

    Conciseness5/5

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

    A single 11-word sentence that front-loads the core action ('Accepts get_file_list requests') with no filler or redundancy. Every word earns its place.

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

    Completeness3/5

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

    The core purpose is conveyed adequately for a zero-parameter tool, but with no annotations and no output schema, the description alone must cover expectations. It leaves unclear what the response looks like and what request payload (given additionalProperties: true) should accompany a get_file_list request.

    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 zero declared parameters, the baseline is 4 and the description need not document individual params. However, the schema allows arbitrary additional properties and the description mentions 'requests,' implying an incoming payload; the description adds no detail on what that request body should contain.

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

    Purpose4/5

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

    The description names a specific action (accepts get_file_list requests) and a specific resource (virtual CDR repository files), making the tool's role identifiable. It is implicitly distinguishable from sibling CDR tools like emu_list_cdr_records and emu_export_cdr_csv by the unique 'get_file_list' operation, though it does not explicitly contrast itself with them.

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

    Usage Guidelines2/5

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

    No guidance is given about when to choose this tool over alternatives. With several CDR-related siblings (emu_list_cdr_records, emu_get_cdr_history, emu_export_cdr_csv), an agent gets no help deciding which one fits a 'list files' versus 'list records' request.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals the response encoding (multipart/related DIME) but gives no information about side effects, whether it is a read or write operation (name contains 'post', description says 'Returns'), authentication needs, or error behavior. This is a significant gap for a tool with no annotation coverage.

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

    Conciseness5/5

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

    The description is a single, grammatically complete sentence that front-loads the main action and resource. It contains no filler or repetition, making it highly concise and well-structured for an agent to quickly grasp the tool's purpose.

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

    Completeness3/5

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

    For a tool with no parameters and no output schema, the description provides the core return format but omits details like the specific types of serviceability files, how to interpret the DIME response, and any operational context. Given the rich set of sibling tools and the absence of annotations, a bit more context (e.g., typical usage, expected response structure) would improve completeness. It is adequate but leaves room for ambiguity.

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

    Parameters4/5

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

    The tool has 0 parameters, so per the rubric the baseline is 4. The description does not need to explain parameters since there are none, and the schema is empty (though additionalProperties is true, meaning arbitrary inputs are accepted without description). The description adds no parameter information, but none is required.

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

    Purpose4/5

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

    The description states a specific action ('Returns') and resource ('CUCM serviceability files'), and specifies the response format ('multipart/related DIME responses'). It is specific and clear, though it does not differentiate from the similar sibling tool emu_post_logcollectionservice2_services_log_collection_port_type_service, which also deals with log collection. The name includes the service path, adding specificity.

    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 the many sibling tools, particularly the similar log collection service. There is no mention of context, prerequisites, or alternatives. The description is purely functional and offers no routing hints.

    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 carry the burden of behavioral disclosure. 'Flush' strongly implies a destructive or state-changing operation (clearing a buffer), but it doesn't state what consequences this has — e.g., whether pending CDRs are discarded or moved elsewhere, whether it affects emu_get_cdr_history, or what the operation result means (success, errors). For a state-advancing tool, this leaves the agent blind.

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

    Conciseness5/5

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

    The description is a single short sentence with no filler. It front-loads the key verb ('Flush') and target ('the CDR publisher'). Nothing is wasted.

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

    Completeness3/5

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

    For a zero-parameter tool with no output schema, the description is reasonably complete: the operation (flush publisher) is stated and there are no inputs or outputs to elaborate. However, given the destructive nature of 'flush' and the existence of related publisher tools (emu_publish_cmr, emu_publish_syslog) and history tools (emu_get_cdr_history, emu_list_cdr_records), a note on what the flush actually affects would make it more complete. The absence of annotation safety hints makes the missing behavioral note more significant than it would otherwise be.

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

    Parameters4/5

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

    The tool has zero parameters and schema coverage is 100%, so the description has nothing to add about parameter semantics — and 0 parameters means this dimension is trivial. The baseline for a 0-param tool is 4, and no additional parameter-specific burden applies.

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

    Purpose3/5

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

    The description 'Flush the CDR publisher immediately' conveys a specific action (flush) on a specific resource (CDR publisher), but it doesn't distinguish it from sibling tools such as emu_publish_cmr and emu_publish_syslog, which likely operate identically on different publishers. The intent is understandable but the differentiation from related publishing/flushing tools is weak.

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

    Usage Guidelines3/5

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

    The phrase 'immediately' implies a sense of urgency or a forced flush, and the verb 'flush' suggests discarding a buffer rather than generating new data, but no explicit when-to-use or when-not-to-use guidance is given. The description doesn't mention alternatives like emu_generate_cdrs (for generating) or emu_publish_cmr/emu_publish_syslog (for other publishers), leaving the agent to infer use cases.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. 'Flush immediately' suggests a side-effecting action, but it does not explain whether it is destructive, idempotent, whether buffered data is lost, or what the observable outcome is.

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

    Conciseness5/5

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

    The description is a single, focused sentence with no filler. It front-loads the action and the target resource, and every word contributes meaning.

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

    Completeness3/5

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

    For a parameterless tool, the description is minimally viable, but it lacks behavioral context such as side effects or expected outcome. Given no annotations and no output schema, the agent has only the verb 'flush' to infer consequences, which is a clear gap.

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

    Parameters4/5

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

    The tool has zero parameters and the schema is fully covered, so the description does not need to explain parameters. The baseline of 4 applies because there is nothing missing for parameter 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 uses a specific verb ('flush') and a clear resource ('syslog publisher'), making the action identifiable. It is distinct from sibling tools like emu_get_syslog_publisher or emu_update_syslog_publisher, though it does not explicitly differentiate itself.

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

    Usage Guidelines2/5

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

    No guidance is provided about when to use this tool versus related tools such as emu_get_syslog_publisher, emu_update_syslog_publisher, or emu_list_syslog_events. The description implies a manual trigger action but does not state prerequisites or context.

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

  • Behavior3/5

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

    No annotations are provided, so the description must carry the full behavioral burden. It discloses that output is 'realistic synthetic' data and names three analysis scenarios, but it never states whether generated records are persisted (relevant given siblings emu_get_cdr_records, emu_export_cdr_csv, emu_publish_cdr) or merely returned. This is a meaningful transparency gap for a generation tool that appears to feed other tools.

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

    Conciseness4/5

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

    A single front-loaded sentence: verb, resource, and three use cases, no filler. Slight deduction because the trailing use-case list is useful but could have been swapped for a behavioral note about storage/return semantics, which matters more to an agent.

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

    Completeness2/5

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

    No output schema exists and the description never states the return value format, whether CDRs are stored for later retrieval (needed given emu_get_cdr_records/emu_export_cdr_csv siblings), or whether generation has side effects on state. An agent cannot reliably predict whether this returns records, an ID, or writes to a store, which is material for a generation 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 descriptions cover 100% of the 4 parameters, including defaults and the pattern enum values. The description adds no extra meaning beyond the schema — e.g., it doesn't clarify the relationship between durationMin and durationMax or default bounds. With full schema coverage the baseline of 3 is appropriate.

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

    Purpose4/5

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

    Clear specific verb+resource: 'Generates realistic synthetic Cisco Call Detail Records (CDRs)' with stated use cases (load testing, abandoned call analysis, CURRI block reporting). Distinguishes from siblings like emu_get_cdr_history (fetch) and emu_export_cdr_csv (export/format) by its generative nature ht, though it doesn't explicitly call out the closest kin emu_seed_fixtures.

    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 pattern parameter enumerates use contexts (normal, abandoned, curri-blocked, burst), which implies when it's relevant — abandoned call analysis, CURRI block reporting. But there is no explicit guidance on when to prefer this over emu_seed_fixtures or emu_simulate_call, nor when not to use it. The context is inferable but not directly stated.

    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 of behavioral disclosure. The verb 'Fetch' implies a read-only operation, but this is not made explicit, and there is no statement about side effects, return shape, or error behavior. The information is implied but not transparently disclosed.

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

    Conciseness5/5

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

    The description is a single, short sentence with no wasted words. It is appropriately sized and front-loaded, achieving maximum conciseness for the information it conveys.

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

    Completeness2/5

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

    The tool lacks an output schema, and the description does not clarify what the YAML contains (e.g., a specific contract, the entire catalog, or versioned specs). With no parameters and no return description, an agent cannot predict the output accurately, making the description incomplete.

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

    Parameters4/5

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

    The tool has zero parameters (empty schema), so there is nothing for the description to explain. According to the rubric, a zero-parameter tool receives a baseline of 4, and the description adds no parameter-related information—which is acceptable because no parameters exist.

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

    Purpose4/5

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

    The description states a clear verb ('Fetch') and a resource ('generated OpenAPI YAML'), and the format (YAML) distinguishes it from the sibling emu_get_contracts_openapi_json. However, it does not specify which contract or version is fetched, so the scope is not fully defined.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus the JSON variant or the contracts catalog/versions tools. An agent has no criteria for selecting this over the siblings, and no exclusions or alternative conditions are given.

    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 behavior. It only states intent, not details like whether this is a read-only operation, pagination behavior, or what the returned records contain (e.g., timestamps, rule IDs). For a read tool with zero annotation coverage, this falls short.

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

    Conciseness5/5

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

    A single precise sentence with no unnecessary filler. The purpose is front-loaded and the sentence earns its place.

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

    Completeness3/5

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

    Given two optional parameters and no output schema, the description is brief but ambiguous on return behavior and scope. It omits details like default limit, ordering, and whether history is per-call. For an emulator utility, this is acceptable but not complete.

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

    Parameters3/5

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

    Schema coverage is 100%, so the schema already documents both parameters meaningfully. The description does not add syntax or format details beyond what the schema states, earning the baseline 3.

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

    Purpose4/5

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

    Description clearly states it retrieves a log of CURRI/ECC routing evaluation decisions and rule matches, which is a specific verb+resource. However, it doesn't explicitly distinguish from sibling tools like emu_list_curri_events or emu_get_cdr_history, though the specialized scope helps.

    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 usage context by naming the specific log type, but provides no explicit when-to-use instructions or alternatives. It doesn't route the agent away from similar read tools like emu_list_curri_events, leaving selection partially to inference.

    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 carries the full behavioral burden, but it only says 'Resolve... by IP address.' This implies a read-like lookup but does not disclose failure behavior, exact-match semantics, return format, or what 'phone fixture' means concretely.

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

    Conciseness5/5

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

    The description is a single sentence with no filler, and the core action and lookup key are front-loaded. This is an appropriate length for a simple one-parameter tool.

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

    Completeness3/5

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

    The operation is simple and one parameter is enough to call it, but 'phone fixture' is undefined, the IP format is unspecified, and there is no guidance on response behavior. Given the large sibling set and missing annotations, the description is usable 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?

    With schema description coverage at 0%, the description partially compensates by confirming ipAddress as the lookup key. However, it adds no format, validation rules, or examples; the parameter name already strongly implies the same meaning.

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

    Purpose5/5

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

    The description uses a specific verb ('Resolve') and resource ('phone fixture'), and the phrase 'by IP address' identifies the key discriminator. This differentiates it from siblings like emu_list_phones and emu_get_phone_web even without naming them.

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

    Usage Guidelines2/5

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

    The description only implies that it is used when an IP address needs to be mapped to a phone fixture. It gives no explicit guidance on when to prefer this tool over the many sibling lookup tools, and no exclusions or alternatives are stated.

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

  • Behavior2/5

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

    With no annotations, the description carries the burden of explaining behavioral traits. It does not state whether the operation is read-only, if it has side effects, or what the response format might be. As a 'get' operation, it likely is read-only, but this is not explicit.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no unnecessary words. It is well-structured and to the point.

    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 no output schema, the description names what is returned (topology and endpoint routing) but does not specify format or detail. This is adequate for a simple retrieval tool, though a bit more context could be beneficial.

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

    Parameters4/5

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

    The tool has no parameters, so the schema coverage is 100%. Per the baseline rule for 0 parameters, a score of 4 is appropriate. The description doesn't need to explain parameters since none exist.

    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 gets v2 switch topology and endpoint routing. It uses a specific verb and resource. While it doesn't elaborate on what the topology includes, it is distinct enough from the sibling tools.

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

    Usage Guidelines2/5

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

    No guidance is provided about when to use this tool over alternatives. It simply states what it does without mentioning context, prerequisites, or related tools for comparison.

    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 carries full burden for behavioral disclosure. It says it lists endpoints and lists output fields, which is useful, but it does not clarify that results can include unregistered/rejected/unknown statuses—despite the status parameter having those enum values. The wording 'configured and registered' may actively mislead an agent into thinking only registered endpoints are returned.

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

    Conciseness5/5

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

    Single sentence, front-loaded with the main action (Lists) and the key resource, then compactly lists the output fields. There is no filler, and it is easy to consume at a glance.

    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 simplicity of a list operation, the description captures the main purpose and return fields. However, with no annotations and no output schema, key behavioral facts remain unresolved—such as matching all configured devices vs registered-only, default pagination behavior, and the exact response envelope. For a 5-parameter optional tool, this is acceptable but not complete.

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

    Parameters3/5

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

    All five parameters are fully covered in the schema with descriptions, so the baseline is 3. The tool description adds no information about the parameters themselves beyond what the schema already provides, so there is no extra lift needed or provided.

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

    Purpose4/5

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

    The description uses a clear verb ('Lists'), identifies a specific resource ('Cisco IP phone endpoints'), and names concrete output fields (line numbers, MAC addresses, firmware, registration status). It distinguishes itself from single-phone helpers like get_phone_by_ip, but the phrase 'configured and registered' is ambiguous about whether unregistered or rejected phones are included.

    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 enumerating phone endpoints but provides no explicit guidance on when to choose this over emu_get_phone_by_ip or emu_list_inventory, and does not call out any alternative or exclusion. The status and model filters are present in the schema, but the description does not explain typical selection scenarios.

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

  • Behavior2/5

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

    There are no annotations, so the description carries the full burden of behavioral disclosure. It only says the tool 'Accepts' operations, but does not describe side effects, whether it executes operations, what it returns, or any error behavior. This is too little information for an agent to assess safety or outcomes.

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

    Conciseness5/5

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

    The description is one compact sentence, uses specific examples, and has no filler words or redundant restatement of the tool name. It earns its space by distinguishing the tool's scope.

    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 an empty input schema, no output schema, and no annotations, this description is far from complete. The agent can infer minimal purpose but has no information about the full set of supported operations, request format, response format, or behavior. 'Such as' implies there are more operations but they are not listed.

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

    Parameters4/5

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

    The input schema is empty with no declared properties, so the description's naming of listNodeServiceLogs and selectLogFiles adds useful clues about recognized operation names. Even with 0 declared parameters, the description does not specify how to pass the operation in the request body, but the baseline for 0 params is 4 and this description adds a small amount of value.

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

    Purpose4/5

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

    The description states that the tool accepts CUCM serviceability log-collection operations and gives two concrete examples, listNodeServiceLogs and selectLogFiles, so an agent can identify its general purpose and resource. It stops short of a full explanation of what the tool does with those operations, which prevents 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 wording and examples imply that the tool is meant for CUCM log-collection operations such as listNodeServiceLogs and selectLogFiles. However, there is no explicit guidance about when to choose this tool over sibling tools like emu_post_logcollectionservice_services_dime_get_file_service, nor any when-not-to-use direction.

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

  • Behavior2/5

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

    With no annotations and no output schema, the description carries the full burden but discloses only a negative behavioral trait ("without publishing them"). It never reveals what a preview returns, whether it is idempotent, whether it caches or persists anything, or what permissions are needed, leaving the agent to guess at the operation's observable 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?

    Seven words, the action verb leads, and there is zero filler. Every word earns its place.

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

    Completeness2/5

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

    For a straightforward 1-param tool this is nearly adequate, but the entire purpose is the preview output, and the description says nothing about what the tool returns. Since no output schema exists, this gap is squarely the description's responsibility and remains unaddressed.

    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, yet it never clarifies whether the sole `id` refers to a session, artifact, or batch identifier. The 0% schema coverage plus zero clarification means the description fails to substitute for the missing schema documentation.

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

    Purpose5/5

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

    "Preview" is a specific verb and "session-derived artifacts" a clear resource. The phrase "without publishing them" meaningfully distinguishes it from the emu_publish_* family, so an agent can tell it apart from siblings without opening the schema.

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

    Usage Guidelines3/5

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

    The clause "without publishing them" implies this is the safe, non-committal alternative to publication flows, but it never names an alternative (e.g., emu_publish_cdr) nor gives a condition for when to choose this over emu_list_artifact_batches or emu_create_evidence_bundle. The usage is implied by contrast rather than stated.

    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 zero annotations, the description carries the full behavioral burden and the whitelist ('SELECT, WITH, and PRAGMA statements only') does real work, implicitly signaling a read-oriented surface. But it never actually labels the tool read-only or side-effect-free — a notable gap since certain SQLite PRAGMAs can mutate state — and it says nothing about error behavior, row limits, or query timeouts.

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

    Conciseness5/5

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

    Two sentences, zero filler. The availability precondition is front-loaded ahead of the statement whitelist, and every clause earns its place. Nothing could be cut without losing 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?

    For a lightweight 2-param tool this is close to minimally viable: it states when the tool works, what statements are allowed, and scopes its behavior with 'only.' The gaps that hold it back are the unexplained 'params' semantics, the lack of any return-shape note, and no fallback guidance for the non-sqlite storage mode.

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

    Parameters2/5

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

    Schema description coverage is 0% and the description offers zero parameter guidance. While the name 'sql' is self-evident, 'params' is genuinely opaque — the flat-array-of-primitives structure strongly implies positional bound parameters, but that concept is never stated, so an agent must guess at its semantics and whether it is optional.

    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 provides a specific verb+resource (query SQL against the emulator storage) and adds meaningful scoping with a statement whitelist: 'Supports SELECT, WITH, and PRAGMA statements only.' This crisply distinguishes it from the ~70 sibling tools (many of which are dotted-path RPC emulators or structured read APIs), though it never names a sibling explicitly.

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

    Usage Guidelines3/5

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

    The 'Available when CUCM_EMULATOR_STORAGE=sqlite' conditional is a genuine, useful precondition that warns an agent the tool may be absent depending on environment. However, it provides no when-not-to-use guidance, no pointer to alternatives (e.g., 'prefer emu_get_evidence for structured access'), and no indication of what happens when the precondition is unmet.

    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 uses 'List', which implies a read-only operation with no side effects, but it does not explicitly state this feature or disclose any other behavioral traits (e.g., no node context, no filtering). For a simple listing operation, this is minimal but adequate.

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

    Conciseness5/5

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

    A single, front-loaded sentence: 'List supported contract versions.' Clearly states the action and resource without any fluff. Perfectly concise.

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

    Completeness3/5

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

    For a zero-parameter, no-output-schema tool, the description is minimally sufficient. It conveys the read-only listing nature. However, it does not clarify what 'contract versions' means or how the result might be used relative to sibling tools (e.g., catalog, axl). Adequate but not rich.

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

    Parameters4/5

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

    The tool has zero parameters and the schema provides no additional fields to documentched. The description adds no parameter-related meaning, but with 100% schema coverage and no parameters, there is nothing to clarify, so the baseline of 4 applies.

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

    Purpose4/5

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

    The description 'List supported contract versions' states a clear verb ('List') and a specific resource ('supported contract versions'). It distinguishes from siblings that target catalogs, AXL, or OpenAPI JSON by focusing on versions, but does not explicitly name any sibling alternative.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives like emu_get_contracts_catalog or emu_get_contracts_axl. The description only states the action without context for 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?

    No annotations are provided, so the description carries the full burden. It states that the tool 'updates' a status, which implies a mutation operation, but it does not disclose what the effect is on the RISDB projection, whether it overwrites existing status, or if there are any side effects (e.g., triggering re-registration). The target 'RISDB projection' is mentioned but not explained. More behavioral context (e.g., persistence, immediate effect, or reversibility) 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.

    Conciseness4/5

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

    The description is a single, concise sentence that front-loads the verb and resource. It is efficient and to the point, with no wasted words. It could add a bit more context without becoming verbose, but as is, it 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?

    For a simple two-parameter mutation tool with no output schema, the description covers the basic purpose but leaves gaps. The tool is part of a larger emulation suite (likely a test/demo system), so the context of 'RISDB projection' might be assumed. However, an agent might need to know what happens after the update (e.g., does it affect call simulation?), or whether there are constraints (e.g., can you set any status randomly?). Given the complexity of the system, a bit more context would be useful.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already describes both parameters (status enum and phoneName example). The description does not add any meaning beyond what the schema provides; it just restates the fields. Since coverage is high, baseline 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states the verb (Updates), the resource (registration status of a specific Cisco IP phone), and the target (RISDB projection). It distinguishes this tool from sibling tools like emu_list_phones (which lists) and emu_set_node_status (which updates node status). It could be slightly more specific about what 'registration status' means in context, but it is clear enough.

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

    Usage Guidelines3/5

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

    The description implies when to use it (when updating a phone's registration status), but it does not explicitly state when not to use it or mention alternatives. Given the large set of sibling tools, some guidance on when to use this vs. other phone-related tools (like emu_get_phone_web or emu_simulate_call) would be helpful. The context is inferable from the name and description, but no explicit exclusions 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 should carry behavioral disclosure. It does not mention whether this is a read-only operation, pagination behavior, or whether it includes only a subset of batches. However, the word 'list' reasonably implies a read operation and the state qualifiers give some behavioral clarity. This is adequate but not rich.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that states the action, resource, and filter scope without redundancy. It earns its place with no wasted words.

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

    Completeness3/5

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

    The tool has zero parameters and no output schema, but its complexity is low. The description covers the essential purpose and filter scope. It does not describe the return format or any side effects, but given the simplicity, this is a minor gap. It is minimally complete for an agent to make an initial call.

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

    Parameters4/5

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

    The tool accepts no parameters (0 params, 100% schema coverage). The baseline for zero-parameter tools is 4 since the description has no parameters to document, and the description adds a filtering dimension (pending/delivered) that shapes how the tool behaves without needing schema details.

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

    Purpose4/5

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

    The description identifies a specific resource (artifact batches) and action (list), and includes state qualifiers (pending/delivered). It is clear enough to distinguish from most siblings, though it doesn't explicitly name a close alternative. The purpose is clear and actionable.

    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 listing operation with a filter over batch statuses, but it does not provide explicit criteria for when to use this versus related tools like emu_preview_artifacts or emu_list_cdr_records. The absence of alternatives or exclusions means the agent must infer usage from the naming pattern, which is acceptable but not strong.

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

  • Behavior2/5

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

    Without annotations, the description carries the full burden of behavioral disclosure. It clearly indicates mutation (Modifies) and the simulation context, but it does not disclose side effects, reversibility, required permissions, or impact on other nodes/state. This is a significant gap for a write operation.

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

    Conciseness5/5

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

    A single, well-structured sentence that front-loads the action and purpose, with no filler or repetition. Every phrase earns its place.

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

    Completeness4/5

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

    For a simple mutation tool with fully documented parameters, the description is nearly complete: it explains the effect and use case. It lacks notes about reversibility or reset behavior, but given that sibling tools like emu_reset_store exist, this is adequately covered contextually.

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

    Parameters3/5

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

    Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning to the parameters; it only names 'status' and 'RIS return code' which map directly to the schema. It does not clarify the relationship or mutual exclusivity of status vs risReturnCode, leaving potential ambiguity.

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

    Purpose5/5

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

    The description states exactly what the tool does: it modifies the status and RIS return code of a cluster node, and it names specific use cases (simulate failover, network isolation, service degradation). This clearly distinguishes it from sibling tools like emu_set_phone_status, which target a different resource type.

    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 by mentioning the simulated scenarios, but it does not explicitly state when to use this tool versus alternatives (e.g., emu_set_phone_status or emu_list_nodes). No use-case exclusions or alternatives are given, leaving the agent to infer the appropriate context.

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

  • Behavior4/5

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

    With no annotations present, the description must carry the load, and it does a decent job by explicitly naming what is returned ('configuration and pending state') and the fact that it's a read operation ('Get'). It could be improved by clarifying what 'canonical' means or whether any side effects occur (though unlikely for a getter), but for a simple read tool, it sets appropriate expectations.

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

    Conciseness5/5

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

    The description is a single, efficient sentence immediately front-loading the verb and resource. Every word adds value, and there's no padding or repetition. It's a model of conciseness.

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

    Completeness4/5

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

    For a zero-parameter getter with no output schema, the description is largely sufficient for an agent to invoke it correctly. The only gap is the ambiguous phrase 'pending state' – an agent might not know what shape this takes or how it relates to the returned configuration. Minor elaboration would push this to a 5, but as-is it's nearly complete.

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

    Parameters4/5

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

    The input schema is empty with zero parameters, so the baseline is 4. The description adds no parameter details, but none are needed since there are no parameters to document. This is a clean pass.

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

    Purpose4/5

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

    The description clearly states a specific verb ('Get') and a specific resource ('canonical CMR publisher configuration and pending state'). It distinguishes itself from sibling tools like emu_get_cdr_publisher and emu_get_syslog_publisher by naming 'CMR publisher', though it doesn't explicitly contrast itself. This is just short of a 5 because it could further disambiguate from emu_get_curri_history or emu_get_contracts_catalog, but the core purpose is unmistakable.

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

    Usage Guidelines2/5

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

    No usage guidance is provided. The description doesn't state when to use this tool versus alternatives like emu_get_cdr_publisher or emu_get_contracts_catalog. It also doesn't mention whether this is the canonical source for publisher state or when a caller would prefer a different getter. This is a missed opportunity to guide an agent toward the right tool.

    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 of behavioral disclosure. The word 'Get' and the explicit 'configuration and delivery state' convey a read-only retrieval intent and the high-level content returned. However, it does not clarify what 'canonical' means operationally, whether the state is live or cached, or how the response is shaped.

    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?

    Exactly one tightly written sentence with no filler. The verb and resource are front-loaded, and the delivery-state addition adds meaningful scope without bulk.

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

    Completeness4/5

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

    For a zero-parameter getter with no output schema, the description conveys the essential information: what is returned and that the operation is a retrieval. It is complete enough for an agent to invoke and interpret the purpose of the result, though it stops short of detailing the return structure or semantics of 'canonical'.

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

    Parameters4/5

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

    The tool has zero parameters, and the input schema is an empty object with 100% schema coverage. There are no parameters to explain, so the baseline 4 applies. The description adds no parameter detail, but none is needed.

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

    Purpose5/5

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

    The description uses the specific verb 'Get' and identifies the resource as 'canonical syslog publisher configuration and delivery state'. It clearly distinguishes this tool from siblings like emu_update_syslog_publisher, which modifies the same resource, and emu_list_syslog_sources/events, which cover related but different syslog 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 given on when to use this tool versus alternatives. It does not mention that this is the read-only counterpart to emu_update_syslog_publisher, nor does it explain whether to prefer this over listing tools when only events or sources are needed. The description only states what the tool returns, leaving usage entirely implicit.

    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 of behavioral disclosure. It states what is returned but does not explicitly confirm a read-only operation, mention default pagination behavior, side effects, or error conditions. The inclusion of 'RISDB return codes' adds some specificity, but overall the description is thin on behavioral context.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no filler. Every clause contributes to the tool's purpose and output content, making it efficient and easy to parse.

    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 there is no output schema, the description does a good job naming the key fields (IP addresses, active versions, RISDB return codes). However, it omits details like default result size, ordering, or the structure of the response. For a simple list tool this is largely sufficient, but it could be more explicit about pagination defaults.

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

    Parameters3/5

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

    Schema coverage is 100%, so the baseline is 3. The description does not add any meaning beyond the schema's parameter descriptions; it does not explain how role, limit, and offset interact or what defaults apply. The description provides no supplementary value for the parameters.

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

    Purpose5/5

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

    The description uses a specific verb ('Lists') and a clear resource ('CUCM cluster nodes'), and enumerates the returned data (IP addresses, active versions, RISDB return codes). It distinguishes this tool from siblings like emu_list_phones or emu_list_inventory by focusing on cluster nodes.

    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 purpose is clear, but there is no explicit guidance on when to use this tool versus alternatives such as emu_get_topology or emu_list_inventory. The description provides no exclusion criteria or situational triggers, leaving the agent to infer applicability from the resource name alone.

    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 behavioral burden. 'List' clearly signals a read-only operation, but the description does not disclose return format, ordering, or behavior when no snapshots exist. This is acceptable for a simple list tool but offers minimal transparency.

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

    Conciseness5/5

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

    The description is four words and every word earns its place. It is front-loaded with the action verb and directly states the resource, with no redundancy or filler.

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

    Completeness4/5

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

    For a zero-parameter list operation, the description is sufficient for an agent to know what the tool does and when to call it. No output schema exists, so return value details are absent, but that gap is minor given the simplicity and inferable list semantics.

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

    Parameters4/5

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

    The input schema has zero parameters and no required properties, so there are no parameter semantics for the description to clarify. The baseline for zero-parameter tools is 4, and the description does not introduce any contradictions or missing parameter context.

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

    Purpose5/5

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

    The description uses a specific verb ('List') and a clear resource ('persisted emulator snapshots'), making the tool's purpose immediately understandable. It is also distinct from sibling snapshot tools like emu_load_snapshot, emu_export_snapshot, and emu_import_snapshot, which describe different operations.

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

    Usage Guidelines3/5

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

    The description implies the tool should be used when an agent needs to enumerate persisted snapshots, but it provides no explicit when-to-use or when-not-to-use guidance and does not mention alternatives among siblings. For a trivial list operation, this implied usage is acceptable, though explicit routing would be stronger.

    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 and does a good job: it discloses that the operation is destructive ("wipes") and scoped to "in-memory state", implying non-persistence. It also states the re-seeding behavior, which tells the agent the tool doesn't just clear state but replaces it with a topology. It does not detail every side effect but covers the key behavioral traits for a reset tool.

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

    Conciseness5/5

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

    A single sentence that front-loads the primary action ("Resets or wipes") and places the secondary action after. Every word contributes meaning; there is no fluff or 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?

    For a 2-optional-parameter tool with no required inputs and no nested objects, the description covers the essential context: what the tool is for, what resource it affects, and the reset behavior. The only gap is the absence of return value information since there is no output schema, but that is a minor omission for a reset action. Overall, complete enough for an agent to select and use correctly.

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

    Parameters3/5

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

    The input schema documents both parameters (mode and profile) with descriptions, enums, and defaults, achieving 100% coverage. The description adds nothing about parameters but isn't required to since the schema is self-sufficient. Baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description uses specific verbs ("resets or wipes") on a clear resource ("CUCM emulator in-memory state") and adds a secondary action ("re-seeds with a specified topology profile"). This makes it clearly distinguishable from siblings like emu_seed_fixtures (which seeds without wiping) and emu_load_snapshot (which loads a saved snapshot) because the core action is resetting state.

    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: it should be used when the emulator's in-memory state needs to be reset and re-seeded. However, it provides no explicit guidance on when to use this over alternatives (e.g., emu_seed_fixtures or emu_bootstrap_lab) or when not to use it. The context is clear but no exclusions or alternatives 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. The word 'List' strongly implies a read-only operation, and the states listed (held, policy-pending) add nuance, but nothing is stated about side effects, mutability, or whether the list is a snapshot. It doesn't contradict any annotations (since none exist), but it would be stronger with an explicit 'does not modify call state' note.

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

    Conciseness5/5

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

    The description is a single sentence that packs purpose, scope, and state enumeration without redundancy or verbosity. It uses precise wording and avoids filler. The structure is immediately parseable.

    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?

    The description alone resolves the main ambiguity among siblings: it clarifies it focuses on active calls (unlike general list tools), and names the states. With no annotations provided, this description carries the full contextual load and does so effectively. An agent can decide to use this tool vs emu_list_call_sessions or emu_get_cdr_history based on the phrase 'active or in-progress'.

    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?

    Both parameters are documented: limit is an integer with description, and state is a string with an explicit enum of allowed values (alerting, connected, policy-pending, held, disconnected). The schema provides full coverage. Missing details like default limit or whether states are mutually exclusive would strengthen it, but the current descriptions are sufficient for an agent to use the parameters correctly.

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

    Purpose5/5

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

    States a specific verb and resource ('Lists active or in-progress telephone call sessions') and enumerates the exact states returned (alerting, connected, policy-pending, held). This distinguishes it sharply from sibling call tools like emu_list_call_sessions (general list) and emu_list_cdr_records (CDR records).

    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 this is for active/in-progress calls, which differentiates it from historical or all-session listings like emu_list_call_sessions Jewell. It does not explicitly name a sibling or state when not to use it, but the 'active or in-progress' qualifier gives clear contextual 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?

    No annotations are provided, so the description carries the burden of indicating behavior. The verb 'retrieves' strongly implies a read-only operation with no side effects, which is transparent. It does not mention potential errors or caching, but it is sufficient for an agent to infer safe usage.

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

    Conciseness5/5

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

    The description is a single, focused sentence with no redundant words. It efficiently communicates the tool's function.

    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 a simple structure with three parameters, and the description plus schema cover the essential invocation details. It does not explicitly describe the return value, but since the output schema is absent and the purpose is clear, it is sufficiently complete for an agent to use correctly.

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

    Parameters4/5

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

    All three parameters have descriptive text: 'path' specifies the web path, 'format' indicates the response flavor (with enum in schema), and 'phoneNameOrIp' identifies the device. The descriptions add meaning beyond the type definitions, though they are not exhaustive (e.g., allowed path values are only examples).

    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: retrieving web responses (serviceability, network configuration, or XML execute) from a simulated Cisco IP phone endpoint. It provides a specific verb and resource, distinguishing it from other emu_* tools that handle calls, inventory, or CDRs.

    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 when to use the tool—whenever a web response from a phone is needed—but does not explicitly mention alternatives or conditions for not using it. The uniqueness of the task makes the usage context clear, but it lacks explicit 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?

    No annotations are provided, so the description carries the full burden. It clearly states the tool generates synthetic CDR/CMR records and computes RTP metrics, which are side effects. However, it does not mention whether the simulated call actually consumes any system resources or if it is purely offline, nor does it disclose any rate limits or side effects on the store.

    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 a single, information-dense sentence that front-loads the core action (simulates end-to-end call) and specifies key outputs. It is concise but a bit terse; could benefit from a second sentence for usage guidance, but efficiency is valued.

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

    Completeness3/5

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

    The tool is complex (simulation, 6 params, no output schema). The description covers key aspects (dial plan, media metrics, CDR/CMR) but lacks information about the expected response format, whether it writes to the store, and how it differs from emu_call_action. Since the output schema is absent, more detail on return values would be needed.

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

    Parameters5/5

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

    Schema coverage is 100% with detailed parameter descriptions (e.g., callingNumber, calledNumber, codec with enum). The description mentions 'dial plan routing' and 'RTP media metrics' which give domain context to parameters like callingSearchSpaceName and packetLossPct, enhancing understanding 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?

    Description clearly states the tool simulates a full telephone call through CUCM dial plan routing, includes media metrics and CDR/CMR output. It is distinct from siblings like emu_call_action (likely more granular) and emu_generate_cdrs (likely batch generation).

    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?

    Description explicitly states 'through CUCM dial plan routing' and 'emitting synthetic CDR/CMR records', which tells the agent when to use this vs. related tools like emu_call_action or emu_generate_cdrs. It implies this is for end-to-end simulation with media metrics, distinguishing from simpler call actions or batch generation.

    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

cucm-emulator-mcp MCP server

Copy to your README.md:

Score Badge

cucm-emulator-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/calltelemetry/cucm-emulator-mcp'

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