Skip to main content
Glama
cetijunior

Progresso MCP

by cetijunior

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have clearly distinct purposes: ticket lifecycle (create/update/move/get/list), leads (list/create/update), project management (list/update), and time tracking (check_in/check_out/stop_timer). The main overlap is move_ticket vs update_ticket since moving is essentially updating status, though the descriptions clarify move is column-specific while update is general field patching. dashboard_pulse is distinct enough as an aggregate view.

    Naming Consistency4/5

    Most tools follow a consistent verb_noun pattern (list_tickets, create_ticket, update_ticket, move_ticket, list_leads, create_lead, update_lead, list_projects, update_project). Minor deviations exist like check_in/check_out/stop_timer and dashboard_pulse which don't follow the resource-noun pattern, but they're still understandable and follow predictable verb-first phrasing.

    Tool Count5/5

    15 tools for an agency management/progress tracking server is well-scoped. Each tool covers a distinct functional area: tickets, leads, projects, time tracking, and dashboard aggregate. The count feels complete without being bloated, and each tool appears necessary for the stated purpose.

    Completeness3/5

    Ticket management is thorough (list, get, create, update, move, comment), and leads/projects have basic CRUD. However, there are notable gaps: no way to delete tickets, leads, or projects; no tool to list tickets for a specific ticket's sub-tickets (only get_ticket for one); CRM has no way to view individual lead details separately from the list; and there's no tool to list or view project details beyond the list. The time-tracking tools depend on tickets but their interaction with the ticket surface feels slightly disconnected.

  • Average 3/5 across 15 of 15 tools scored. Lowest: 2.4/5.

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

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

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

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    No annotations are provided, so the description carries the full behavioral disclosure burden. It does not state whether creation requires any special permissions, what happens on success/failure, whether the lead is immediately visible, or how the 'temperature' and 'status' fields affect default behavior. 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.

    Conciseness3/5

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

    The description is a single short sentence with minimal waste. However, this is under-specification rather than genuine conciseness—it is too terse to be useful, providing no additional value over the tool name.

    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 6 parameters, 0% schema coverage, no annotations, and no output schema, the description should do substantial work but instead states a single phrase. The agent has almost no guidance on how to correctly invoke this tool or interpret results, making it incomplete for the tool's complexity.

    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 for parameter semantics. It adds nothing—none of the six parameters (name, notes, status, company, temperature, next_follow_up) are explained beyond what the schema types/enums provide. The temperature enum is self-documenting, but fields like 'status' and 'next_follow_up' lack meaning.

    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+resource ('Create a CRM lead'). However, it doesn't distinguish this from sibling tools like create_ticket, and it's quite terse. It tells what it does but adds little beyond the tool name 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 on when to use this tool versus alternatives. There is no mention of when to create a lead vs. a ticket, whether leads require a prior workspace/project context, or any prerequisites. The context signal shows no usage direction whatsoever.

    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?

    None annotations are provided, so the description carries full burden. Listing is read-only by implication, but nothing states this explicitly, nor is there any note about the output shape, ordering, or what each status means. Minimal behavioral disclosure beyond naming the 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?

    Five words, no filler, well under the size limit. Every word earns its place, but this is more under-specification than disciplined 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?

    This is a simple read-only tool with one optional parameter, but with no annotations, no output schema, and 0% description coverage, the description is minimal. It lacks mention of result shape, default behavior (all statuses if omitted), and any ordering. For a simple tool it's borderline, but given zero supporting context, a mark of 2 is fair.

    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 no parameter details beyond the enum values visible in the schema itself. The 'status' filter meaning (filtering which projects to return) is implied but never stated in the description, so it adds no value over 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?

    'List projects with status.' identifies the verb (list) and resource (projects), which is clear. However, it doesn't distinguish from siblings like list_tickets or list_leads; the 'projects' resource mostly differentiates it, but no scope is described (e.g., pagination, owner scope). It's clear but minimal.

    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. There's no mention of when filtering by status is appropriate, no exclusion of alternatives, and no prerequisites. The agent must infer usage entirely from the 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?

    With no annotations provided, the description carries full behavioral disclosure burden. It says the operation stops a timer (implying mutation), and requires a work note, but doesn't disclose what happens if no timer is active (error? no-op?), what data persists, or whether this affects related records like tickets or projects. Very thin behavioral coverage.

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

    Conciseness4/5

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

    Two short sentences, zero waste. Every word earns its place. The structure is front-loaded with the core action first.

    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 is a stateful mutation (stopping a timer) with no annotations and no output schema. It doesn't explain the return value, error behavior when no timer is active, or how the note is used/stored. For a tool with workflow implications (requires a running timer first), it should disclose more about prerequisites and consequences.

    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?

    There's one parameter (note), and the description adds that it's required to be a work note — marginally clarifying the purpose beyond the schema (which just says 'note', minLength 1). Schema coverage is 0%, so the description does carry the burden, but with only one parameter there's little to explain. The mention that the note is a work note adds some value beyond 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 states 'Stop the running timer' with a clear verb and resource target. It's reasonably specific about what it does, though it doesn't clarify what the timer is tracking or how it relates to other time-related sibling tools like check_in/check_out.

    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 minimal guidance. 'Work note is required' implicitly tells the user they must supply a note, but it doesn't state when to use this tool vs alternatives, any prerequisites (e.g., a timer must be running first), or what happens if no timer is running.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. 'Patch' implies partial mutation, but the description doesn't state whether the full object is required, whether fields are additive/patch-style, or how the operation interacts with existing data. No mention of auth, reversibility, or effects on related entities.

    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 efficient sentence with no waste, but it lists 'payment' which conflicts with actual schema parameter names, adding minor confusion. Concise but slightly inaccurate.

    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 7-parameter mutation tool with no annotations and no output schema, this description is too thin. It doesn't explain the 'patch' semantics, which parameters map to which behavior, required vs optional handling, unique constraints (e.g., ticket_id uuid format), or any side effects. No return/shape info provided.

    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 no parameters are described. The description lists several field names (title, description, status, due_at, payment) but 'payment' doesn't map to any actual schema parameter (schema has 'amount' and 'payment_status'). This loose mapping plus 0% schema coverage means parameters are inadequately documented.

    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 names specific verb+resource ('Patch ticket fields') and enumerates the primary mutable fields. It's a clear purpose statement but doesn't explicitly differentiate from sibling 'create_ticket' or 'move_ticket', relying on the verb 'patch' to imply update semantics.

    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 create_ticket or move_ticket. The field list provides some context (update existing tickets), but there are no explicit exclusions, prerequisites, or alternative recommendations.

    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 disclosure burden. 'Patch' strongly implies partial mutation, but the description doesn't state whether status/temperature/follow-up fields are validated against allowed values, whether updates are logged, what happens to the lead's history, or what the response reflects. It doesn't mention the lead_id requirement or failure conditions for non-existent leads.

    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 enumerates the fields. The YYYY-MM-DD format hint is useful inline. No wasted words, but could be slightly clearer about what 'patch' implies for partial updates.

    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 4-param mutation tool with no annotations and no output schema, this description is under-informative. The parameters are mostly enums or free-form strings without documented allowed values (status has no enum, next_follow_up has no format in schema beyond the description hint). An agent can't reliably know what status values to pass or what the mutation returns.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must compensate. It names the three updatable fields (status, temperature, follow-up date) which adds some meaning beyond raw param names. However, it doesn't clarify that next_follow_up expects YYYY-MM-DD beyond what the description itself states in parentheses, and it doesn't explain valid status values. The lead_id parameter format is left entirely to 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 what the tool does: 'Patch a lead's status, temperature, or follow-up date'. Verb 'patch' + resource 'lead' + specific fields is specific and clear. It distinguishes from siblings like update_ticket/update_project by naming 'lead' as the resource, though it doesn't explicitly differentiate from create_lead or check_in which also operate on leads.

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

    Usage Guidelines2/5

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

    The description lists which fields can be updated (status, temperature, follow-up date) but provides no guidance on when to use this vs alternatives. It doesn't mention that this is the update counterpart to create_lead/list_leads, nor does it specify whether patching is partial vs full replacement. No exclusions or alternative tool references are provided.

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

  • 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. 'Add' implies a write/mutation operation, but nothing is stated about side effects, required permissions, whether the comment is immediately visible, or what happens on failure. The @Name mention reveals a behavior not otherwise visible, but lacks details on how mentions are resolved or notified.

    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 core purpose. The parenthetical about @Name mentions is efficiently packed. There's no wasted wording, though it's arguably too brief given the missing behavioral and parameter guidance.

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

    Completeness3/5

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

    Given the tool's simplicity (2 params, no nested objects, no output schema), the description provides the core purpose and one notable feature (mentions). However, with zero annotations and zero schema coverage, the description should carry more weight for behavioral context like permissions and side effects. It's adequate for a simple tool but leaves real gaps for a mutation 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?

    Schema description coverage is 0%, so the description must compensate for explaining both parameters. It mentions 'body text' and @Name mentions, which clarifies the body parameter's role, but it doesn't clarify what ticket_id format or semantics are beyond the schema's UUID format. The description adds some value for body but generally leaves parameter meaning to the bare 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 uses a specific verb+resource combination ('Add a comment on a ticket') that clearly states what the tool does and what resource it targets. It distinguishes from sibling tools like create_ticket (creates tickets vs comments) and update_ticket (modifies vs adds). The parenthetical about @Name mentions adds useful context, though it doesn't fully differentiate from create/update operations.

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

    Usage Guidelines2/5

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

    No explicit guidance is given for when to use this tool versus alternatives. It doesn't explain relationship to create_ticket/update_ticket or mention any prerequisites (e.g., ticket must exist first, required permissions). The mention of @Name support hints at a use case but doesn't provide when-to-use 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.

  • 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. The description is entirely passive and doesn't disclose whether this is a read-only operation, whether data is live or cached, what time period 'pulse' covers, or what the response structure looks like. For a tool that aggregates multiple data sources, 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 a single efficient sentence that lists all three content domains concisely. No wasted words. Slightly low given it could add more useful context, but appropriately sized for what 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?

    For a tool with 0 parameters and no output schema, the description is the only source of behavioral and usage information. It fails to explain the scope of the data (e.g., all time versus today), the format of results, or what makes it distinct from detailed list tools. The description is adequate for stating the purpose but incomplete for guiding a correct invocation.

    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 with 100% schema coverage, so the baseline is 4. The description effectively communicates what data the tool surfaces (financials, check-ins, in-progress tickets), which is meaningful given no parameters exist to clarify.

    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 tool gives 'Agency pulse' with a financials summary, who's checked in, and in-progress ticket count. This is reasonably specific about the resource (dashboard/agency pulse) and the three content areas. However, it doesn't explicitly contrast with sibling tools (e.g., list_tickets, list_leads), so the distinction is implied but not stated.

    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 explicit guidance on when to use this tool versus alternatives. With 14 sibling tools including list_tickets and list_projects, the description doesn't clarify that this is the aggregate/summary view versus the detailed listing tools. The 'pulse' framing implies an overview use case, but no explicit when/when-not guidance 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 provided, the description carries the full burden of behavioral disclosure. It implies a state-changing operation (moving a ticket) but doesn't state whether the operation is reversible, what happens to the ticket's position if omitted, whether position is relative to existing tickets, or whether any side effects (e.g., timestamps, notifications) occur.

    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 zero wasted words. It's appropriately front-loaded with the action verb. Could add a sentence of guidance but is not verbose.

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

    Completeness2/5

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

    This is a state-changing tool with no annotations, no output schema, and 0% schema coverage. Given all three structured fields are empty of help, the description must do very heavy lifting, and a single sentence is insufficient. It doesn't cover position semantics, status values, return behavior, or error conditions.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the description must compensate. It clarifies that 'status' refers to a column and that 'position' is optional, adding some meaning beyond the bare schema (which has no descriptions). However, it doesn't explain the semantics of 'position' (e.g., is it 0-indexed, does it mean 'between' existing items), and 'status' values (expected strings, valid column names) remain 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 uses a specific verb ('Move') plus a clear resource ('ticket') and states the action (move to a new column/status and optional position). It's clear and unambiguous. However, it doesn't explicitly distinguish from sibling update_ticket, which could also touch status, so it doesn't fully differentiate.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool instead of update_ticket or create_ticket. Both update_ticket and move_ticket could conceivably modify status, and no when-to-use / when-not-to-use guidance is provided. The description implies usage (moving a ticket to a fresh column) but never excludes 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 carries the full burden of behavioral disclosure. It identifies the operation as a PATCH (implying partial updates), which is useful. However, it doesn't disclose return behavior (what is returned on success?), idempotency, whether partial fields are merged or replaced, or any permission/auth requirements for a mutation operation.

    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 purpose and enumerates the mutable fields. No wasted words. Could be longer to add behavioral detail, so this is good conciseness rather than under-specification.

    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 mutation tool with no annotations and no output schema, it does a decent job naming the fields. But it's missing guidance on status transition rules, what the response looks like on success, and error conditions. The tool is relatively simple (4 params, no nested objects), which tempers the severity, but more behavioral context would help.

    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 0% schema description coverage, the description must compensate, and it does list the three mutable fields (name, description, status). This adds value over the bare schema. However, it doesn't explain the semantics of the status enum values (active/completed/archived) or any validation logic around transitions, which would be genuinely useful given the enum.

    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+resource pattern: 'Patch a project's name, description, or status.' It clearly states what fields can be updated. However, it doesn't explicitly distinguish from sibling tools like update_lead or update_ticket beyond the resource name, though the resource itself ('project') provides that distinction naturally.

    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. It doesn't mention prerequisites (like project existence), whether the status enum state transitions are validated (e.g., can you move from archived to active?), or any constraints on partial vs full updates. A sibling get/list tool exists but no cross-referencing is given.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden of behavioral disclosure. It does disclose that sub-tickets are included in the response, which is useful behavioral context. However, it doesn't describe the response format, whether ticket_id must exist, error behavior, or whether it's a read-only operation. For a read operation with no annotations, the description provides minimal but non-zero behavioral insight.

    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 with zero unnecessary words. It front-loads the core purpose and adds the sub-tickets detail efficiently.

    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 a single parameter and no output schema, the description gives the core purpose but lacks depth. It doesn't explain what fields are returned, how sub-tickets are structured, potential failures (e.g., nonexistent ticket_id), or pagination behavior if many sub-tickets exist. A read tool with no annotations and no output schema should provide more context about the return shape.

    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 does not elaborate on the ticket_id parameter beyond what the schema already states. The schema notes ticket_id is a string with uuid format and is required. The description adds no meaning about what the ID represents, how to obtain it, or any formatting expectations beyond the schema.

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

    Purpose4/5

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

    The description clearly states the verb (Fetch) and resource (one ticket plus its sub-tickets). It distinguishes itself from list_tickets by specifying it fetches a single ticket and includes sub-tickets, which differentiates it from the sibling list_tickets.

    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 vs alternatives. It doesn't mention when to prefer get_ticket over list_tickets, nor any exclusions or context about use cases. The distinction from list_tickets must be inferred.

    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 discloses the sort order (newest first) which is genuinely useful, but doesn't mention pagination behavior, what fields are returned, the meaning of the 'status' parameter, whether this is a read-only safe operation (though listing strongly implies it), or whether there are any filter constraints or defaults.

    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 waste. It's appropriately minimal for what it conveys. Slightly more detail on parameters or return shape could justify additional length, but as written it's 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?

    For a list tool with 2 parameters and no output schema, the description is thin. There's no default limit mentioned, no guidance on how 'status' filters results, no indication of what lead fields are returned, and no pagination strategy. The sibling list_tickets likely returns similar-shaped data, so some copying of conventions may be implied, but the description alone doesn't make this tool independently usable without probing.

    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. However, the description doesn't explain either parameter — it doesn't clarify what values 'status' accepts (e.g., open, won, lost) or how 'limit' interacts with the newest-first ordering. The description adds zero information about parameters beyond the schema, and with 0% coverage this is a notable gap, though the parameter names themselves are fairly self-explanatory.

    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 CRM leads (newest first)' has a specific verb+resource ('List' 'leads'), specifies the domain (CRM), and notes the sort order. It doesn't distinguish from siblings explicitly, but there's a clear create_lead/update_lead pair that implies this is the read tool for leads, while list_tickets covers a different resource, so purpose is reasonably established though sibling differentiation is implicit.

    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 is the tool for viewing leads given the sibling create_lead/update_lead counterparts, but offers no explicit when-to-use guidance, no mention of alternatives, and no note on when list_tickets would be more appropriate. The 'newest first' sort gives some usage context but no exclusion criteria or guidance on status filtering.

    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 description states this lists 'top-level tickets' (excluding subtasks), which is useful hierarchical context. However, it does not disclose return format, pagination behavior, ordering, or what happens when no filters are applied (presumably lists all). Given no annotations exist, this is a modest but incomplete 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 clear sentence that efficiently conveys the core action and optional filters. No wasted words. It is appropriately sized for a list-type 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?

    For a list tool with all-optional parameters and no output schema, the description is reasonably sufficient: it names the action, resource, and two filter dimensions. However, it does not clarify 'top-level' semantics fully (whether subtasks appear, how the default Main board works), nor does it mention the limit parameter or result ordering. Slightly under-specified but adequate for basic 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?

    Schema description coverage is only 33% (only board_id has a description, noting it defaults to Main board). The description mentions board_id and status filters, reinforcing their meaning, but adds no semantics for limit or status (e.g., what status values are valid). It partially compensates for the low coverage by naming the filter fields, but no enum or syntax guidance is provided for status.

    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') and resource ('tickets'), and adds the scoping qualifier 'top-level' which helps distinguish it from nested ticket operations. The optional filters (board_id, status) are named. This clearly differentiates from siblings like get_ticket (single fetch), create_ticket, and list_leads. Strong purpose clarity.

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

    Usage Guidelines2/5

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

    The description implies this is for retrieving ticket lists with optional filtering, but provides no explicit when-to-use guidance or exclusions relative to siblings. It doesn't say 'use get_ticket for a single ticket' or note that dashboard_pulse might serve summary needs. Context of usage is only 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 provided, the description carries the full burden of behavioral disclosure. It correctly identifies the creation action and the parent_id sub-ticket behavior. However, it doesn't disclose what happens on creation (returned ID, assigned values, required parameters beyond title) or mention any side effects like notifications, authentication needs, or default board behavior when board_id is omitted.

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

    Conciseness4/5

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

    Two short sentences, front-loaded with the primary purpose and immediately followed by a practical usage note. Every sentence earns its place. Very efficient and to the point.

    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 5 parameters, 20% schema coverage, no annotations, and no output schema, the description is somewhat thin. It explains the sub-ticket capability and provides testing guidance, but doesn't clarify expected behavior for unspecified parameters (default status, required board context) or what the tool returns upon successful creation. Adequate but with clear gaps for a multi-parameter creation tool.

    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 only 20%, so the description must compensate. The description adds meaning by clarifying parent_id's role in creating a sub-ticket, which aligns with the schema's own parent_id description. It also highlights status/board_id as relevant fields for testing context. However, it doesn't add much beyond the schema for title, status, or description semantics.

    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 creates a ticket (or sub-ticket via parent_id), which is a specific verb+resource identification. It distinguishes sub-ticket creation as a distinct capability. However, it doesn't explicitly differentiate from sibling tools like update_ticket or move_ticket, though the action verb 'create' naturally sets it apart.

    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 offers a practical usage note ('Prefer zz-scratch boards when testing live'), which provides some usage context. However, it doesn't explicitly say when to use this vs alternatives like create_lead or when not to use it. The guidance is partial and doesn't fully address tool selection context.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden. It discloses the action (check-in), the timer-starting behavior (a mutation), and the role nuance ('if you are admin'), but doesn't describe side effects like whether a check-in takes an attendance action, whether it fails if already checked in, or what the response returns. Some behavioral context but notable gaps.

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

    Conciseness4/5

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

    Two compact sentences, no wasted words. The first sentence states the primary action, the second adds the optional behavior and role note. Efficient and front-loaded.

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

    Completeness3/5

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

    This is a single-optional-param action tool with no output schema. The description covers the main behavior and admin nuance but doesn't address edge cases like duplicate check-ins, error conditions (e.g., what if ticket_id is invalid), or whether check-in requires existing authentication. Adequate but could add a bit more about behavior/effects.

    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 ticket_id as 'Ticket to start timing on'. The description adds contextual meaning by explaining that omitting ticket_id enables presence-only check-in (admin). This adds value beyond the schema's literal parameter description, so slightly above baseline but not rich.

    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 ('Check in for today') and identifies the resource (a ticket via ticket_id, or presence-only). It distinguishes behavior based on whether a ticket is passed. However, it doesn't directly differentiate from siblings like check_out or stop_timer, though the verb+action is reasonably clear.

    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 gives explicit when-to guidance: 'Check in for today' plus a clear optional behavior with ticket_id, including an admin-specific note ('omit ticket_id for presence-only if you are admin — still recommended to pass a ticket'). It conveys context for when to pass a ticket vs. presence-only, though it doesn't explicitly exclude alternatives.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the behavioral burden. It discloses that running timers get stopped with an auto note, which is useful. However, it doesn't clarify what happens if no timers are running, what the return value is, or whether this is destructive/idempotent.

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

    Conciseness5/5

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

    Two short sentences, zero wasted words. Front-loads the primary purpose and adds one key behavioral nuance. Appropriate length for a zero-parameter tool.

    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 parameterless tool in a time-tracking family, the description covers the core purpose and the key side effect (stopping timers). It could mention idempotency or behavior when no timer is active, but this is near-complete for the tool's simplicity.

    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 100% schema coverage (no params to document). The description adds the behavioral context about timers being stopped, exceeding the baseline for a 0-parameter tool.

    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 (check out for today) and adds a meaningful behavioral detail: running timers are stopped with an auto note. This distinguishes it from check_in and stop_timer siblings, though it's a bit brief.

    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 the end-of-day context ('for today') and the timer-stopping behavior. While it doesn't explicitly name alternatives like stop_timer or check_in, the sibling set makes the distinction apparent enough.

    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

progresso-mcp MCP server

Copy to your README.md:

Score Badge

progresso-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/cetijunior/progresso-mcp'

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