Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct action in the campaign lifecycle (e.g., create_campaign vs. cancel_campaign, abort_branch vs. spawn_and_continue). While some tools like get_campaign and get_updates overlap in scope, their purposes (full state vs. delta) are clearly differentiated.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in snake_case (e.g., abort_branch, create_campaign, complete_step). The naming is predictable and makes the function of each tool immediately understandable.

    Tool Count4/5

    21 tools is slightly high but justified for a comprehensive workflow orchestration system. Each tool serves a clear purpose in campaign management, step execution, branching, and monitoring. No obvious bloat, though a few tightly related tools (e.g., get_notes, search_notes) could potentially be merged.

    Completeness5/5

    The tool set covers the full lifecycle of campaigns and steps: creation, cancellation, pausing, resumption, steering, step execution with branching, input/decision handling, heartbeat monitoring, and comprehensive state retrieval. There are no obvious gaps for the intended domain of long-running multi-step work.

  • Average 4.2/5 across 21 of 21 tools scored. Lowest: 2.9/5.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • This repository is licensed under GPL 3.0.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    Discloses that pending steps are skipped, but lacks details on reversibility, authorization needs, or side effects. With no annotations, the description should provide more 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?

    Extremely concise with no redundant information. Two sentences plus a clear argument description.

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

    Completeness2/5

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

    Despite having an output schema, the description omits important mutation aspects like reversibility, permission requirements, and impact on other campaigns. Siblings like pause_campaign suggest alternative behaviors, but no comparison is provided.

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

    Parameters3/5

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

    Adds that 'id' is a Campaign UUID, which is not in the schema. However, it does not describe valid UUID format or where to obtain it. Schema coverage is 0%, so minimal compensation.

    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 it cancels a campaign and notes that pending steps are skipped. This verb+resource combination distinguishes it from pause_campaign or abort_branch.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like pause_campaign or abort_branch. The description does not mention prerequisites or scenarios.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it lists notes, but does not disclose whether it is read-only, if there are pagination limits, ordering, or what happens when no filters match. This is insufficient for a safe and correct invocation.

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

    Conciseness5/5

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

    The description is extremely concise, consisting of a single purpose statement and a structured parameter list. Every sentence adds value, and the purpose is front-loaded. No unnecessary words.

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

    Completeness3/5

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

    Given the tool's simplicity (3 parameters, 1 required) and the presence of an output schema, the description covers the basic behavior and parameter mapping. However, it does not clarify how filters combine (AND/OR) or mention ordering/pagination, which are important for correct usage. It is minimally complete but has gaps.

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

    Parameters3/5

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

    The input schema has 0% description coverage, so the description must compensate. It explains that 'tags' is an OR match and 'step_id' filters by step, and identifies 'campaign_id' as a UUID. This adds meaning beyond the schema titles, but does not clarify the expected format for tags (array) or that step_id is an integer. The description provides moderate added 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 clearly states the tool's action ('List notes') and resource ('notes'), and specifies that it can be filtered by 'tag or step'. This is a specific verb+resource combination that distinguishes it from similar tools like 'search_notes' and 'add_note', though it does not explicitly differentiate from 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 does not provide guidance on when to use this tool versus alternatives like 'search_notes' or 'get_campaign'. It lacks explicit context about when to prefer this tool or any exclusions or prerequisites.

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

  • Behavior2/5

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

    No annotations are provided, and the description does not disclose behavioral traits such as idempotency, side effects, required authorization, or error conditions. Only the basic action is mentioned.

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

    Conciseness4/5

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

    The description is extremely concise with one sentence and a parameter line. No redundant information is present, though it lacks depth.

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

    Completeness2/5

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

    Given the single parameter and existence of an output schema, the description does not explain prerequisites, error states, or return behavior. It leaves the agent without important context for robust usage.

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

    Parameters3/5

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

    The description adds 'Campaign UUID' to the parameter, providing semantic meaning beyond the schema's type string. However, schema coverage is 0%, and the description is minimal, doing little to compensate.

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

    Purpose5/5

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

    The description clearly states 'Resume a paused campaign' with a specific verb and resource. It distinguishes from sibling tools like pause_campaign and cancel_campaign.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives (e.g., whether the campaign must be paused, or what happens if it's not). No exclusion or prerequisite information 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?

    No annotations provided. The description lacks detail on side effects, permissions, or data mutability. It only states it changes direction and updates strategy, which is minimal.

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

    Conciseness4/5

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

    Description is short with two sentences and an Args section. It is concise and front-loaded, 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?

    Given only two simple parameters and an output schema, the description covers the basics. However, lacks detail on behavioral context and how it interacts with sibling tools.

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

    Parameters3/5

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

    Adds basic meaning to parameters (id as UUID, guidance as new direction/constraints), but nothing beyond a brief one-liner. Schema coverage is 0%, so description provides some value but is still sparse.

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

    Purpose5/5

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

    The description clearly states the verb 'change' and 'updates' with the resource 'campaign direction' and 'strategy'. It distinguishes from sibling tools like create_campaign or cancel_campaign.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use vs alternatives like pause_campaign or resume_campaign. No mention of prerequisites or when not to use.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It says 'Get delta since last report' and lists return types, but it does not disclose whether the tool is read-only, idempotent, or whether calling it resets the delta. The description lacks details on side effects, rate limits, or authentication needs, making it only partially transparent.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences for the purpose and one line each for args and returns. Every sentence adds value with no redundancy. The structure front-loads the core purpose, then provides parameter details, making it easy to parse.

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

    Completeness3/5

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

    Given the tool has a single optional parameter and an output schema (true), the description adequately covers the parameter and return summary. However, it does not explain what 'since last report' means mechanistically (e.g., is it since last invocation or a separate report event?), and it lacks guidance on concurrency or error conditions. This leaves some ambiguity for a complex campaign system.

    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?

    Schema coverage is 0%, so the description must compensate. It explains that 'id' is a Campaign UUID and that omitting it gets updates across all active campaigns. This adds clear semantics beyond the bare schema definition, which only shows the parameter is optional. The explanation is sufficient for an LLM to use the parameter 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?

    The description clearly states the tool retrieves 'delta since last report' including completed steps, failures, and new notes. It specifies the resource (updates) and the action (get). This distinguishes it from siblings like get_campaign (full info) and get_notes (all notes).

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

    Usage Guidelines3/5

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

    The description provides guidance on the 'id' parameter, saying to omit it for updates across all active campaigns. However, it does not explicitly state when to use this tool versus alternatives like get_campaign or list_campaigns, nor does it give prerequisites. This leaves the agent without clear selection criteria.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full responsibility. It discloses the return format (Array of objects with id, name, status, priority, progress) and the optional filter. It does not mention any side effects or safety concerns, but as a read operation, this is acceptable. The behavior is clearly described.

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

    Conciseness5/5

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

    The description is extremely concise—two sentences plus a short Args/Returns explanation. It is front-loaded with the core purpose and provides necessary details without any wasted words.

    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 covers all essential aspects: purpose, parameter semantics, and return format. With no output schema provided in the input, the description's explicit mention of the return fields (id, name, status, priority, progress) ensures completeness. The sibling tools provide context for when to use this vs. others.

    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?

    Given 0% schema description coverage, the description adds significant value by listing the allowed values for 'status' (active/paused/done/failed/cancelled) and explaining that omitting returns all. This fully compensates for the lack of schema descriptions and makes the parameter's usage clear.

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

    Purpose4/5

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

    The description clearly states the action 'List campaigns' with optional filtering by status. It is specific about the resource and action, but does not explicitly differentiate from sibling tools like 'get_campaign' (which likely returns a single campaign) or other campaign-related tools. The distinction is implied by the verb 'list' vs 'get'.

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

    Usage Guidelines3/5

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

    The description explains that the tool lists campaigns optionally filtered by status, implying its use case. However, it does not explicitly state when not to use it or mention alternatives (e.g., 'get_campaign' for a single campaign, or other tools for mutations). Usage guidance is minimal.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses that running steps finish but no new ones start. However, it omits details on resumability, permissions, or side effects. Still, the core behavior is transparent.

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

    Conciseness5/5

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

    The description is extremely concise with two sentences and an args section. No superfluous information; every word adds value. Well-structured.

    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 tool with 1 parameter and an output schema, the description covers the essential behavior and parameter meaning. However, it could mention resumability or link to related tools like 'resume_campaign'. Still, fairly 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?

    Schema description coverage is 0%, but the description adds meaning by stating 'id: Campaign UUID', clarifying the parameter's purpose and type beyond the schema's minimal 'Id' label. This partially compensates for the lack of schema descriptions.

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

    Purpose5/5

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

    The description clearly states the action ('pause'), the resource ('campaign'), and the behavioral effect ('running steps finish but no new ones start'). It effectively distinguishes the tool from siblings like 'cancel_campaign' and 'resume_campaign'.

    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 for temporarily halting a campaign while allowing current steps to complete, but does not explicitly state when to use versus alternatives like 'cancel_campaign'. No direct mention of when-not or prerequisites.

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

  • Behavior3/5

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

    No annotations provided; description explains it unblocks steps and returns to ready queue. Lacks details on side effects, auth, or error handling.

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

    Conciseness5/5

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

    Very concise, front-loaded with purpose, then param descriptions. No wasted words.

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

    Completeness4/5

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

    Output schema exists, description minimally mentions return value. Covers core workflow but parameter details are somewhat thin given zero schema coverage.

    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 0% schema coverage, description adds meaning for each param (Campaign UUID, step waiting, answer). Good but could elaborate on format/constraints.

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

    Purpose5/5

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

    Clearly states the tool provides input to a step waiting for human decision. Uses specific verb and resource, and distinguishes from sibling 'request_input'.

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

    Usage Guidelines4/5

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

    Explicitly mentions when to use (when workers call request_input) and what it accomplishes. Does not list alternatives but context is clear.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden. It discloses the return (Note ID and similar notes) and mentions semantic search integration. However, it does not clarify if the tool is only usable during active step execution or what happens if called outside that 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 concise, with a front-loaded summary, followed by parameter details, return info, and next steps. Every sentence adds value without redundancy.

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

    Completeness4/5

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

    Given the tool's complexity and presence of an output schema, the description adequately covers purpose and parameters. However, it lacks explicit prerequisites (e.g., must be within a step) and does not clarify relationship to sibling tools like provide_input.

    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 description coverage is 0%, but the description provides detailed parameter descriptions (e.g., 'Campaign UUID', 'What you found. Be specific.', 'Optional tags for filtering (e.g. ["finding", "citation"])'), adding significant meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states 'Record a noteworthy finding during step execution' with a specific verb (record) and resource (note), and distinguishes from sibling tools like get_notes and search_notes by focusing on creation.

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

    Usage Guidelines3/5

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

    The description provides some workflow context (e.g., 'Next: Continue your work. Call complete_step when done.') but does not explicitly state when to use this tool over alternatives like provide_input or fail_step. No exclusions or when-not-to-use guidance.

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

  • Behavior4/5

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

    Discloses key behavioral trait: sets last_reported_at to filter future calls. No annotations exist, so description carries full burden. Lacks details on error handling or auth, but sufficient for a read 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?

    Description is short, front-loaded with purpose, then side effect, then parameter and return info. No wasted words.

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

    Completeness4/5

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

    Covers purpose, side effect, parameter format, and return summary. Output schema exists so return details not needed. Could mention prerequisite (campaign exists), but not critical.

    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?

    Only parameter 'id' is described as 'Campaign UUID', which adds meaning beyond the raw schema (type string). With 0% schema coverage, description fully compensates.

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

    Purpose5/5

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

    Description clearly states verb 'Get full campaign state' and lists specific fields (goal, strategy, progress, step tree, recent notes). Distinguishes from siblings like list_campaigns (summary) and get_notes (notes only).

    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?

    Describes side effect of setting last_reported_at, implying use for tracking new activity. Does not explicitly mention when not to use or compare with alternatives like get_updates.

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

  • Behavior4/5

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

    No annotations provided; description carries full burden. Discloses that target step doesn't fail but completes, reason saved as note, and returns list of skipped step IDs. Good transparency for a mutation tool.

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

    Conciseness4/5

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

    The description is concise with a few sentences and an Args list. It's front-loaded with core purpose. Only minor inefficiency: the Args list could be slightly tighter, but overall well-structured.

    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 is complex (branch abort with ancestor) and has an output schema (return value). Description covers the return type ('List of skipped step IDs') and behavioral nuances. Sufficiently complete given the context.

    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 description coverage is 0%, but the description includes an Args section that explains each parameter's purpose (target_id, output, reason, step_id). This adds significant meaning beyond the bare schema.

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

    Purpose5/5

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

    The description clearly states it aborts an ancestor step, skipping its branch. It uses specific verb+resource ('abort branch') and distinguishes from siblings like 'fail_step' and 'complete_step' because it completes the ancestor with output.

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

    Usage Guidelines4/5

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

    Explicitly states when to use: when an entire branch of reasoning is pointless. Explains behavior (target completes with output, parent decides). Lacks explicit when-not-to-use or alternatives, but context is clear.

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

  • Behavior4/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It covers the main action, the effect on the step, and two important edge cases (skipped results in audit recording, stale_claim instructs to stop working). It does not mention reversibility or side effects, but the coverage is good.

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

    Conciseness5/5

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

    The description is concise and well-structured: a one-sentence summary, followed by an Args section and a Returns section. No unnecessary words or repetition. Every sentence adds value.

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

    Completeness4/5

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

    The description covers the tool's purpose, parameters, and return behavior including edge cases. Given that an output schema exists, the description does not need to detail return values fully. However, it could mention typical usage sequencing relative to other step lifecycle tools.

    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?

    The schema has 0% description coverage, so the description must fully explain the parameters. It does so effectively: step_id is described as 'Your step ID. Inferred from $SORTIE_STEP_ID if unset.' and summary as 'What you did and what you found. This becomes the step output visible to downstream steps.' This adds essential meaning beyond the raw schema.

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

    Purpose5/5

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

    The description begins with a clear verb+resource statement: 'Mark your step as done with a summary of what you accomplished.' This directly communicates the tool's function and distinguishes it from siblings like fail_step or abort_branch.

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

    Usage Guidelines4/5

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

    The description explains that step_id can be inferred from the environment variable and describes special return cases (skipped, stale_claim). However, it does not explicitly state when to use this tool versus alternatives like fail_step or abort_branch, leaving some ambiguity.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses that step_id can be inferred from an environment variable and that the return indicates retryability or permanent failure. It does not mention side effects or destructive nature, but is adequate for a step failure report.

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

    Conciseness5/5

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

    The description is concise with a front-loaded purpose, followed by a structured Args and Returns section. Every sentence is informative and 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?

    The description covers both parameters, the return value, and environment variable inference. Given the presence of an output schema (which may detail return values), this is sufficiently complete. It could mention prerequisites or side effects, but is solid overall.

    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?

    The schema has 0% description coverage, so the description must compensate. It explains both parameters: step_id (your step ID, inferred from env) and error (what went wrong), and also describes the return value. This is excellent semantic addition.

    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 'Report that you cannot complete your step', using a specific verb and resource. It distinguishes itself from siblings like complete_step (success) and abort_branch (branch-level abort).

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

    Usage Guidelines4/5

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

    The description implies usage when a step cannot be completed. While it does not explicitly list alternatives, the context of siblings and the purpose make it clear. A slight improvement would be an explicit when-not statement.

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

  • Behavior4/5

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

    No annotations provided, so the description carries full burden. It explains automatic DAG rewiring and that downstream dependents wait for the continuation. Also notes the tool is hidden at max depth. These are important behavioral traits beyond the schema.

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

    Conciseness4/5

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

    The description is moderately lengthy but well-structured with Args, Returns, and a Note. It is front-loaded with the main purpose and each sentence contributes useful information.

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

    Completeness5/5

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

    Given the tool's complexity and lack of annotations, the description covers purpose, usage, behavior, parameters, and return values. It also mentions the hidden constraint. An output schema exists, so return explanation is sufficient.

    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 description coverage is 0%, but the description adds clear meanings for each parameter: step_id, partial_output, subtasks (structuring as dicts), and continuation. This adds significant value over the bare schema.

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

    Purpose5/5

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

    The description clearly states 'Split your work: spawn subtasks and a continuation' with a specific verb and resource. It distinguishes from siblings like `complete_step` or `fail_step` by focusing on task decomposition.

    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 says 'Use when you discover you need additional work done before you can finish' which is explicit usage guidance. It does not mention when not to use or alternatives, but the context with siblings implies differentiation.

    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 explains key behaviors: dry_run creates in paused status, benchmark_command is metadata-only, and defaults for several parameters. It does not mention limitations like rate limits or auth needs, but covers main traits.

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

    Conciseness5/5

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

    The description is well-organized: a summary line, bulleted Args with concise explanations, a Returns line, and a Next line. Every sentence adds value with zero redundancy.

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

    Completeness5/5

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

    Given 11 parameters, 1 required, and an output schema, the description covers all aspects: parameter defaults, behaviors, return values, and next steps. It is comprehensive for a creation tool.

    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 description coverage is 0%, but the description fully explains each of the 11 parameters, including defaults, nullability, and semantics (e.g., 'benchmark_command: Metadata only — the runner does not execute it'). This far exceeds minimal value.

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

    Purpose5/5

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

    The description clearly states 'Create a new campaign for long-running, multi-step work,' using a specific verb and resource. It distinguishes from sibling tools like steer_campaign by noting follow-up actions, making 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 Guidelines4/5

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

    The description provides follow-up guidance ('Next: Use get_campaign... or steer_campaign...'), but does not explicitly state when to use this tool versus alternatives like abort_branch or spawn_and_continue. It is clear but lacks exclusionary language.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. Discloses that any step in the campaign DAG is readable, explains the `limit` cap (32000), and describes the return format with `has_more`. However, it doesn't mention authentication or rate limits, which are implied but not stated.

    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 well-structured with a one-line purpose, a usage paragraph, concise bulleted Args, and a Returns block. Every sentence adds value without redundancy.

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

    Completeness5/5

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

    Given 4 parameters, no nested objects, and a provided output schema (described in text), the description covers purpose, usage, parameters, and return format. It ties into the sibling tool's contract, leaving no critical gaps.

    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 description coverage is 0%, yet the description fully explains each parameter: `step_id` (any campaign step), `offset` (0-indexed), `limit` (default and cap), `field` (default 'output' or 'input'). This adds essential meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states 'Read a range from a step's ``output`` (or ``input``) field', specifying a verb, resource, and distinguishing from the sibling `get_my_context` by referencing the preview-seek contract.

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

    Usage Guidelines4/5

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

    Provides explicit usage context: 'when an upstream preview is truncated, call this with the ``step_id`` from the preview to pull the full text'. It references the sibling tool as the counterpart, but doesn't exhaustively list all when-not situations.

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

  • Behavior5/5

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

    With no annotations provided, the description fully carries the burden of behavioral transparency. It explains the zombie reset sweep, lease extension mechanism, return value semantics (ok vs stale_claim), and the consequence of a stale claim. This exceeds expectations for a heartbeat 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 well-structured with a lead sentence, followed by paragraphs on zombie reset, lease renewal, and return values. While slightly verbose, every sentence adds value. Minor trimming could improve conciseness, but current structure is effective.

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

    Completeness5/5

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

    Given the tool's complexity (leases, zombie reset, claim management) and that an output schema exists, the description covers all necessary aspects: calling frequency, parameter defaults, return behavior, and error handling. It is self-contained and actionable.

    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 description coverage is 0%, so the description must compensate. It explains step_id can be inferred from $SORTIE_STEP_ID and provides the default for extend_leases_sec (900) along with its purpose. This adds essential meaning beyond the raw schema.

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

    Purpose5/5

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

    The description opens with 'Report that you're still alive and keep your claim + leases fresh,' which is a specific verb-resource pair. It clearly defines the tool's role for long-running agents and distinguishes itself from siblings like complete_step or fail_step by focusing on liveness and lease renewal.

    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 states that 'Long-running agents should call this every few minutes,' providing clear timing guidance. It also instructs to 'Stop working immediately' upon receiving a stale_claim response. While it doesn't explicitly exclude other tools, the unique purpose of heartbeat makes alternative uses obvious.

    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 step pauses, resumes when provide_input is called, and the answer appears in the input field. Minor omission: does not discuss error conditions or permissions.

    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 well-organized: purpose first, then usage guidelines, then behavioral explanation, then parameter details. Every sentence adds value without redundancy.

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

    Completeness5/5

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

    Given that an output schema exists and no additional complexities, the description covers the tool's behavior, parameters, and return value adequately. It also references the counterpart tool (provide_input) and explains the step's lifecycle.

    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 0%, but the description thoroughly explains each parameter: step_id is inferred from environment, question should be specific, and partial_output is optional. This fully compensates for the lack of schema descriptions.

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

    Purpose5/5

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

    The description clearly states the tool pauses the step and asks for a decision. It specifies the resource (coordinator) and action, and distinguishes from siblings by highlighting human judgment scenarios.

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

    Usage Guidelines5/5

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

    The description explicitly says when to use (forks requiring human judgment) with examples, and implies when not to use (cases without ambiguity). It provides clear context for usage.

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

  • Behavior5/5

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

    With no annotations, description fully discloses behavioral traits: fallback to recency when embeddings disabled, return format including 'mode' field. This goes beyond schema and adds significant value.

    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?

    Efficiently structured with Args and Returns sections. Every sentence provides needed information without redundancy. No fluff.

    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?

    Covers all necessary aspects: search semantics, parameter explanations, fallback behavior, return format. Given tool complexity and no output schema shown, description is self-contained and complete.

    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 description coverage is 0%, so description carries full burden. It explains each parameter's purpose and clarifies default behavior (e.g., omitting campaign_id searches all). Adds meaning beyond bare 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?

    Clearly states 'semantic search across campaign notes', specifying verb and resource. Distinguishes from sibling 'get_notes' which likely retrieves notes without semantic ranking.

    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?

    Explains when to use each parameter: query for search, campaign_id to scope or omit for all, top_k for result count. Also describes fallback behavior when embeddings unavailable, guiding on expected behavior.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses the tool's behavior: it scans notes for the metric, extracts the value, compares against the threshold, and notes limitations (only most-recent value, future revisions). This exceeds typical 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 well-structured with sections, bullet points, and clear examples. Every sentence adds value, explaining the metric discovery, return fields, and next steps. It is comprehensive without being overly verbose.

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

    Completeness5/5

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

    Given the tool's simplicity (single parameter) and presence of an output schema (though not shown), the description fully covers the return values, decision logic, and context for the coordinator. It leaves no gaps for a standard use case.

    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 description coverage for the single parameter 'id'. The description adds 'Campaign UUID', which is minimally sufficient but clear. It compensates for the schema's lack of 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?

    The description clearly states that the tool evaluates whether a campaign has met its success contract, with a specific verb 'check' and resource 'success contract'. It distinguishes itself from sibling tools like get_campaign or steer_campaign by focusing on the scalar decision for the coordinator.

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

    Usage Guidelines5/5

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

    The description provides explicit guidance on when to use the tool (to check contract satisfaction before marking done or iterating) and what to do next (call cancel_campaign or steer_campaign if met, escalate if iterations exhausted). It also explains the context for the planner.

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

  • Behavior5/5

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

    No annotations exist, so description carries full burden. It discloses that upstream outputs are previews (head + tail + total char count) to keep context small, and step_id can be auto-inferred from environment variable. Behavior is fully transparent.

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

    Conciseness5/5

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

    Description is well-structured with clear sections (description, Args, Returns, Next) and is concise without wasted words. Every sentence adds value.

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

    Completeness5/5

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

    Given the tool's simplicity and presence of output schema, the description covers return components, workflow context, and next steps, making it complete.

    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?

    The single parameter step_id is explained beyond the schema: it can be inferred from $SORTIE_STEP_ID if unset. This adds meaning, compensating for 0% schema coverage.

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

    Purpose5/5

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

    The description clearly states the tool gets campaign context for the executing step, with a specific verb and resource. It distinguishes itself from sibling tools like read_step_output by prefacing output previews.

    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?

    Explicitly says when to use the tool (get context for your step), prescribes alternatives (call read_step_output for full body), and provides next steps (complete_step or fail_step).

    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

sortie-mcp MCP server

Copy to your README.md:

Score Badge

sortie-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/retospect/sortie-mcp'

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