Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity. Tools are organized around specific resources (timesheets, clients, projects, categories, locations) and actions (create, delete, get, list, update), making it easy for an agent to select the correct one without confusion.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as create_timesheet, list_clients, and update_timesheet. This predictability enhances readability and usability for agents navigating the tool set.

    Tool Count5/5

    With 10 tools, the server is well-scoped for timesheet management, covering essential operations like CRUD for timesheets and listing related resources. Each tool serves a clear purpose without redundancy, making the count appropriate for the domain.

    Completeness5/5

    The tool set provides complete coverage for timesheet management, including full CRUD operations (create, get, update, delete, list), support for related entities (clients, projects, categories, locations), and a utility tool for defaults. There are no obvious gaps that would hinder agent workflows.

  • Average 3.3/5 across 10 of 10 tools scored.

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

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

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

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Delete' implies a destructive, irreversible mutation, the description doesn't specify whether this requires special permissions, what happens to associated data, or if there are confirmation steps. For a destructive tool with zero annotation coverage, this is inadequate.

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

    Conciseness5/5

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

    The description is a single, clear sentence with zero waste. It's front-loaded with the core action and resource, making it immediately scannable and efficient. Every word earns its place without redundancy.

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

    Completeness2/5

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

    For a destructive tool with no annotations and no output schema, the description is incomplete. It doesn't address critical context like error conditions (e.g., invalid ID), return values (e.g., success confirmation), or side effects. Given the high-stakes nature of deletion, more guidance is needed.

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

    Parameters3/5

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

    Schema description coverage is 100%, with the single parameter 'timesheet_id' fully documented in the schema. The description adds no additional meaning beyond what the schema provides (e.g., format constraints, examples, or context about ID sourcing). Baseline 3 is appropriate when the schema does the heavy lifting.

    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 ('Delete') and resource ('timesheet by its ID'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'update_timesheet' or 'get_timesheet', but the verb 'Delete' strongly implies a destructive operation that distinguishes it from read 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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing timesheet), consequences of deletion, or when to choose deletion over other operations like updating. With siblings like 'update_timesheet' and 'get_timesheet', this lack of differentiation is a significant gap.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It states it retrieves 'full details' but doesn't specify what those details include, whether it's a read-only operation, authentication requirements, error handling, or rate limits. The description is minimal and lacks essential behavioral context for a tool that presumably accesses sensitive timesheet data.

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

    Conciseness5/5

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

    The description is a single, clear sentence with zero wasted words. It's front-loaded with the core purpose and efficiently communicates the essential action without unnecessary elaboration. This is an excellent example of 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?

    For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'full details' includes, the response format, or any behavioral aspects. Given the complexity of timesheet data and the lack of structured metadata, the description should provide more context about what information is returned and how to interpret it.

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

    Parameters3/5

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

    The input schema has 100% description coverage, with the single parameter 'timesheet_id' clearly documented. The description adds no additional parameter semantics beyond what the schema provides (it only mentions 'by its ID' which the schema already covers). This meets the baseline score of 3 when schema coverage is high.

    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 ('Get full details') and resource ('a specific timesheet by its ID'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'list_timesheets' or 'get_timesheet_defaults', but the specificity of retrieving by ID provides some implicit distinction.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'get_timesheet' over 'list_timesheets' for browsing multiple timesheets, or 'get_timesheet_defaults' for default settings. There are no prerequisites, exclusions, or context about appropriate use cases.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but lacks behavioral details. It mentions returning 'a list of clients with their IDs and names', which gives some output context, but doesn't disclose critical traits like pagination, rate limits, authentication needs, or error handling. This is inadequate for a tool with no annotation coverage.

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

    Conciseness4/5

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

    The description is concise and well-structured in two sentences: the first states the purpose and context, the second specifies the return format. There is no wasted text, and it's front-loaded with the main action. However, it could be slightly more efficient by combining ideas.

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

    Completeness3/5

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

    Given the tool's low complexity (one optional parameter, no output schema, no annotations), the description is minimally complete. It covers the basic purpose and return format, but lacks details on usage guidelines and behavioral transparency, which are needed for full context. It's adequate but has clear 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 description adds no parameter-specific information beyond what the input schema provides. Since schema description coverage is 100% (the 'search_text' parameter is fully documented in the schema), the baseline score of 3 applies. The description doesn't compensate with additional semantics, but doesn't need to given the high schema coverage.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Search for clients to use in timesheets' specifies the verb (search) and resource (clients), with the context of timesheets. It distinguishes from siblings like list_categories or list_projects by focusing on clients, though it doesn't explicitly differentiate from other list_ tools beyond the resource type.

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

    Usage Guidelines2/5

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

    The description provides minimal guidance: it mentions 'to use in timesheets' which implies a context, but offers no explicit when-to-use rules, alternatives, or exclusions. For example, it doesn't clarify if this should be used before creating a timesheet versus other client-related operations, leaving usage vague.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It states it 'gets' data (implying read-only), but doesn't disclose any behavioral traits like whether this requires authentication, rate limits, freshness of data, or what format the results come in. The description is minimal and doesn't compensate for missing annotations.

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

    Conciseness5/5

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

    Single sentence with zero waste. Front-loaded with the core action and resource, followed by helpful examples. Every word earns its place.

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

    Completeness3/5

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

    For a simple read-only list tool with 0 parameters, the description is adequate but minimal. Without annotations or output schema, it doesn't describe return format, pagination, or error conditions. It meets minimum viable standards but leaves behavioral aspects unspecified.

    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 description coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, maintaining focus on the tool's purpose. Baseline for 0 parameters is 4.

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

    Purpose4/5

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

    The description clearly states the verb ('Get') and resource ('available work locations'), with examples provided ('Office, Client Site, Remote'). It distinguishes from most siblings (timesheet-related tools) but doesn't explicitly differentiate from list_categories/list_clients/list_projects which are also list operations.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. While the examples suggest it's for location types, there's no mention of prerequisites, when this data is needed, or how it relates to other list_* tools for timesheet management.

    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 mentions it 'gets projects' but doesn't specify whether this is a read-only operation, how results are returned (e.g., pagination, sorting), error conditions, or any rate limits. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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

    Conciseness4/5

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

    The description is concise with two sentences that are front-loaded with the core purpose. Both sentences add value: the first states what the tool does, and the second provides usage guidance. There's no wasted text, though it could be slightly more structured.

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

    Completeness3/5

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

    Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and usage context but lacks details on behavioral aspects like return format or error handling. Without annotations or output schema, the description should do more to compensate, but it's not entirely incomplete.

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

    Parameters3/5

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

    The input schema has 100% description coverage, with the single parameter 'client_id' fully documented in the schema. The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the tool's purpose with a specific verb ('Get') and resource ('projects'), and specifies the scope ('for a specific client'). It doesn't explicitly differentiate from sibling tools like 'list_clients' or 'list_timesheets', but the client-specific focus provides some implicit distinction.

    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 usage context ('Use this after selecting a client to find available projects'), which implies a workflow sequence. However, it doesn't explicitly state when to use this tool versus alternatives like 'list_clients' or 'list_timesheets', nor does it provide exclusion criteria or prerequisites beyond the implied client selection.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states that all fields except timesheet_id are optional and only provided fields will be updated, which is useful. However, it doesn't cover critical aspects like required permissions, whether the update is reversible, error handling, or response format, leaving significant gaps 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.

    Conciseness5/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 key constraint (optional fields). Every word earns its place with no waste, making it highly concise and well-structured.

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

    Completeness2/5

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

    Given the complexity of an 11-parameter mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., permissions, side effects), response format, and error conditions, which are crucial for safe and effective use by an AI agent.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all 11 parameters thoroughly. The description adds minimal value by noting that timesheet_id is required and other fields are optional, but this is largely redundant with the schema's required array and property descriptions. Baseline 3 is appropriate when the schema does the heavy lifting.

    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 ('update') and resource ('existing timesheet'), making the purpose unambiguous. It distinguishes from siblings like 'create_timesheet' and 'delete_timesheet' by specifying it's for updates, though it doesn't explicitly contrast with 'get_timesheet' or others.

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

    Usage Guidelines3/5

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

    The description implies usage for updating timesheets but doesn't explicitly state when to use this tool versus alternatives like 'create_timesheet' or 'get_timesheet'. It mentions that only provided fields are updated, which gives some context, but lacks clear guidance on prerequisites or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states the tool 'gets' categories, implying a read-only operation, but doesn't disclose behavioral traits like whether it requires authentication, returns a list or object, includes pagination, or has rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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

    Conciseness5/5

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

    The description is two concise sentences with zero waste: the first states the purpose and examples, and the second adds context about usage. It's front-loaded with the core function, making it easy to scan and understand quickly.

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

    Completeness3/5

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

    Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is adequate but not complete. It explains what categories are and provides examples, but lacks details on return format (e.g., list structure) or any behavioral constraints. For a simple read tool, this is minimally viable but could be more informative.

    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 0 parameters with 100% coverage, so no parameter documentation is needed. The description adds value by explaining what the tool returns (timesheet categories with examples), which compensates for the lack of output schema. This exceeds the baseline of 3 for high schema coverage.

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

    Purpose4/5

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

    The description clearly states the verb ('Get') and resource ('available timesheet categories'), and provides concrete examples (Development, Meeting, Admin) that illustrate what the tool returns. It distinguishes itself from siblings like list_timesheets by focusing on categories rather than timesheet entries. However, it doesn't explicitly contrast with other list_* tools (e.g., list_clients, list_projects), which keeps it from a perfect score.

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

    Usage Guidelines3/5

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

    The description implies usage by mentioning that categories 'categorize the type of work done,' suggesting this tool is for retrieving metadata needed to classify timesheets. However, it lacks explicit guidance on when to use this versus alternatives (e.g., before creating/updating a timesheet) or any prerequisites. The context is clear but not fully directive.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions the tool returns 'summary information for each timesheet', which adds some behavioral context about output format. However, it lacks details on permissions, rate limits, pagination, or error handling, which are important for a read operation with user-specific data.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core purpose and followed by output details. Every word earns its place with zero waste, making it highly efficient and easy to parse.

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

    Completeness3/5

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

    Given the tool's low complexity (2 parameters, no nested objects) and 100% schema coverage, the description is adequate but incomplete. It lacks an output schema, and with no annotations, it should provide more behavioral context (e.g., authentication needs, data scope) to fully guide the agent.

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

    Parameters3/5

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

    Schema description coverage is 100%, with both parameters ('start_date', 'end_date') fully documented in the schema. The description adds no additional parameter semantics beyond implying date-range filtering, so it meets the baseline of 3 where the schema does the heavy lifting.

    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 specific action ('List timesheets'), target resource ('timesheets'), and scope ('for the current user within a date range'), distinguishing it from siblings like 'get_timesheet' (single) and 'create_timesheet' (write). It precisely communicates what the tool does without ambiguity.

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

    Usage Guidelines3/5

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

    The description implies usage for retrieving timesheets within a date range, but does not explicitly state when to use this tool versus alternatives like 'get_timesheet' (for a single timesheet) or other list tools (e.g., 'list_projects'). No exclusions or prerequisites are mentioned, leaving some context for the agent to infer.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It discloses that the tool creates a new entry (implying mutation) and returns an ID, which is helpful. However, it doesn't mention authentication requirements, rate limits, error conditions, or what happens if duplicate entries are attempted. For a creation tool with zero annotation coverage, this leaves significant behavioral gaps.

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

    Conciseness5/5

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

    The description is two concise sentences that are front-loaded with the core purpose. Every word earns its place: first sentence defines the action and required inputs, second sentence states the return value. No wasted words or redundancy.

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

    Completeness3/5

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

    For a creation tool with 10 parameters, no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and return value, but lacks information about error handling, side effects, or system behavior that would be important for a mutation operation. The 100% schema coverage helps, but behavioral context is incomplete.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly. The description adds minimal value beyond the schema by listing required fields in natural language, but doesn't provide additional semantic context like format examples beyond what's in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

    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 ('Create a new timesheet entry') and specifies the resource ('timesheet'), distinguishing it from siblings like delete_timesheet, update_timesheet, and get_timesheet. It explicitly mentions required fields (client, project, category, date, time range), which helps differentiate it from read-only siblings.

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

    Usage Guidelines3/5

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

    The description implies usage by stating required fields, but doesn't explicitly say when to use this tool versus alternatives like update_timesheet or get_timesheet_defaults. It mentions using list_clients, list_projects, and list_categories to find IDs, which provides some contextual guidance but doesn't define clear boundaries with sibling tools.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It implies a read-only operation ('Get default values') but doesn't explicitly state safety aspects like whether it requires authentication, has rate limits, or what happens on errors. The description adds some context about the purpose but lacks detailed behavioral disclosure.

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

    Conciseness5/5

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

    The description is two sentences with zero waste: the first states the purpose and examples, the second provides usage guidance. Every word earns its place, and it's front-loaded with the core functionality.

    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 low complexity (1 parameter, no output schema, no annotations), the description is reasonably complete. It covers purpose, usage, and examples of returned defaults. However, without annotations or output schema, it could benefit from more detail on return format or error handling, but it's adequate for this simple tool.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents the single 'date' parameter with its format. The description doesn't add any parameter-specific information beyond what the schema provides, such as explaining why the date matters for defaults. Baseline 3 is appropriate when schema does the heavy lifting.

    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 specific action ('Get default values') and resource ('for creating a timesheet'), with explicit examples of what defaults are included ('last used client, project, and rates'). It distinguishes this from sibling tools like 'create_timesheet' by focusing on preparatory data retrieval rather than creation.

    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 this tool: 'Call this before creating a timesheet to get sensible defaults.' This directly contrasts with sibling tools like 'create_timesheet' and 'get_timesheet', establishing a clear pre-creation workflow context.

    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

TimePRO.MCP MCP server

Copy to your README.md:

Score Badge

TimePRO.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/calumjs/TimePRO.MCP'

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