Skip to main content
Glama
firaskudsy

cronometer-api-mcp

by firaskudsy

Server Quality Checklist

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

  • Disambiguation4/5

    Tools have distinct primary purposes, but get_food_log, get_daily_nutrition, and get_nutrition_scores provide overlapping nutrition data at different granularities. Descriptions help differentiate, but an agent might still be confused about which to use for a specific need.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with lowercase and underscores (e.g., get_macro_targets, search_foods, add_food_entry). The naming is predictable and clear.

    Tool Count5/5

    With 13 tools, the surface is well-scoped for a nutrition tracking API. Each tool serves a clear function without unnecessary duplication, covering targets, logging, food management, and fasting.

    Completeness4/5

    Core CRUD operations are covered (search, add, remove, custom food creation). Day management (copy, mark complete) and multiple read endpoints exist. Missing is an update/editing capability for diary entries, but removal and re-addition can compensate.

  • Average 4.4/5 across 13 of 13 tools scored.

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

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

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior3/5

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

    Annotations already declare readOnlyHint, idempotentHint, etc. Description adds return content details (schedule and templates), which is useful but not deeply revealing of edge cases or side effects.

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

    Conciseness5/5

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

    Two well-structured sentences with front-loaded purpose. No extraneous words, each sentence serves a clear role.

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

    Completeness4/5

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

    Output schema exists and description covers what the tool returns. Could mention that it is a read-only operation, but annotations already imply that. Adequate for a zero-parameter 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?

    No parameters exist; schema coverage is 100%. Description adds no parameter info but none is needed. Baseline of 4 is appropriate.

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

    Purpose5/5

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

    Clearly states it retrieves macro targets including weekly schedule and templates. The verb 'get' combined with specific outputs distinguishes it from sibling tools that handle actual intake or scores.

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

    Usage Guidelines3/5

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

    Implies usage for retrieving target data but provides no explicit guidance on when to prefer this over alternatives like get_daily_nutrition or get_nutrition_scores.

    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?

    Annotations already indicate readOnlyHint=false (write operation), idempotentHint=false (not idempotent), and destructiveHint=false. The description adds that the tool returns a food_id for subsequent logging, which is useful. However, it does not mention what happens if a food with the same name already exists or any other side effects, leaving some 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 concise and well-structured: a one-line summary, two brief usage notes, and a clear bullet list of parameters. Every sentence adds value without redundancy.

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

    Completeness3/5

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

    Given the tool has 11 parameters and a moderate complexity, the description covers the essential steps (creation and subsequent logging). However, it lacks details on potential errors (e.g., duplicate name validation) and constraints (e.g., value ranges), which would improve completeness. The output schema is present but not relied upon in the description.

    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 no descriptions (0% coverage), but the tool description provides per-parameter explanations with units, defaults, and units (e.g., 'Calories per serving (kcal)'). This adds significant meaning beyond the schema titles, though some explanations are minimal (e.g., 'Fat per serving (g)').

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

    Purpose5/5

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

    The description clearly states 'Create a custom food in Cronometer with specified nutrition', providing a specific verb and resource. It distinguishes itself from sibling tools like 'search_foods' (search) and 'get_food_details' (retrieve) by focusing on creation, and explicitly mentions using the returned food_id with 'add_food_entry'.

    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 advises that nutrient amounts should be for the full serving size and directs the user to use the returned food_id with 'add_food_entry' after creation. This provides clear context for when to use the tool and what to do next, but does not explicitly mention when not to use it or list alternative tools for cases like duplicate food names.

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

  • Behavior4/5

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

    Annotations already indicate mutability, idempotency, and non-destructive nature. The description adds context that this is a toggle operation. No contradictions exist. It could be improved by noting any error conditions or state dependencies.

    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 minimal and efficient: a one-line purpose followed by two concise lines explaining parameters. No unnecessary words or repetition.

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

    Completeness4/5

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

    The description covers purpose and parameter semantics adequately. Since an output schema exists, return details are not required. A small gap is the lack of mention of behavior for non-existent dates, but the tool is simple enough.

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

    Parameters5/5

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

    With 0% schema description coverage, the description fully compensates by specifying the date format (YYYY-MM-DD) and the boolean role for complete. This adds essential meaning beyond the schema's type definitions.

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

    Purpose5/5

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

    The description clearly states the verb 'Mark' and the resource 'diary day', and specifies the action as toggling complete/incomplete. It distinguishes itself from sibling tools which are mostly getters or food-related 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 does not mention prerequisites, contextual triggers, or exclusions, leaving the agent without clear decision criteria.

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

  • Behavior4/5

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

    Annotations already declare readOnly, idempotent, non-destructive. Description adds value by specifying the exact return fields and that it returns aggregates. No behavioral traits beyond annotations are hidden, but no disclosure of time range scope.

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

    Conciseness5/5

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

    Two sentences: first states purpose, second lists return values. Extremely concise and front-loaded with no wasted text. Every sentence adds value.

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

    Completeness4/5

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

    Given no parameters, rich annotations, and existing output schema, description is almost complete. However, missing mention of the time period (e.g., all-time or date range) leaves a minor gap in understanding for the agent.

    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?

    No parameters, so schema coverage is 100%. Description naturally provides no parameter info beyond schema. Baseline 4 for zero parameters is appropriate.

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

    Purpose5/5

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

    Clearly states it gets aggregate fasting statistics and explicitly lists the returned fields (total fasting hours, longest fast, average fast duration, completed fast count). This distinguishes it from sibling tools like get_fasting_history which returns detailed logs.

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

    Usage Guidelines3/5

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

    Implies usage for aggregate stats vs get_fasting_history for detailed history, but no explicit when-to-use or when-not-to-use guidance. No mention of alternatives or prerequisites.

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

  • Behavior3/5

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

    Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds the ability to remove 'one or more' entries and mentions date parameter default. It does not contradict annotations but adds limited behavioral context beyond them.

    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 very concise: a single sentence for purpose, followed by a clear hint, then a brief args section. Every sentence is necessary and front-loaded.

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

    Completeness4/5

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

    For a simple destructive tool with annotations and an output schema, the description adequately covers prerequisites and parameters. It could mention that removal is permanent or updates the diary, but overall it is complete.

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

    Parameters4/5

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

    With 0% schema description coverage, the description compensates by clearly explaining each parameter: 'List of serving/entry IDs to remove' for entry_ids and 'Date the entries belong to as YYYY-MM-DD (defaults to today)' for date. This adds meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states the verb 'remove' and the resource 'food entries from the Cronometer diary'. It distinguishes from sibling tool 'add_food_entry' by focusing on removal.

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

    Usage Guidelines4/5

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

    The description explicitly says 'Use get_food_log to find entry IDs', providing clear prerequisite and context for when to use this tool. It does not explicitly state when not to use, but the guidance is clear.

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

  • Behavior4/5

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

    Annotations indicate readOnlyHint=false and destructiveHint=false. The description adds that the operation is additive and non-destructive, which aligns with annotations and provides useful behavioral context.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences plus an argument doc. It front-loads the main action, then clarifies the additive nature. No unnecessary words.

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

    Completeness3/5

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

    The description is mostly complete but has a slight ambiguity: 'from the previous day' could be interpreted as the day before the destination date or the calendar day before today. Clarifying the source would improve completeness.

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

    Parameters5/5

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

    With 0% schema description coverage, the description fully compensates by explaining the date parameter format 'YYYY-MM-DD' and default behavior ('defaults to today'), adding essential meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states 'Copy all diary entries from the previous day to the given date', specifying the action (copy), resource (diary entries), and target (given date). This distinguishes the tool from siblings like add_food_entry or mark_day_complete.

    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 mentions 'Additive -- does not remove existing entries on the destination date', providing a key usage guideline. It lacks explicit when-to-use or when-not-to-use compared to alternatives, but the context is clear enough.

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

  • Behavior4/5

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

    The description adds value beyond annotations by explaining that null values occur for untracked macros and that nutrients are included only if tracked. It also describes the response structure. Annotations already indicate safety and idempotency, so additional behavioral details are sufficient.

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

    Conciseness5/5

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

    The description is concise and front-loaded with the core purpose. It uses bullet points for the response structure and provides necessary context without extraneous details. Every sentence adds value.

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

    Completeness5/5

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

    Given the presence of an output schema, the description sufficiently covers the return values and behavior. It explains nutrient inclusion logic and null handling. The tool is simple with one parameter, and the description is complete.

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

    Parameters4/5

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

    The schema has 0% description coverage, but the description compensates with a dedicated 'Args' line specifying the date format (YYYY-MM-DD) and default behavior (today). This fully explains the sole parameter.

    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 'Get daily nutrition summary with consumed macro and micronutrient totals.' It specifies what the tool returns (summary with macros, nutrients list) and distinguishes from siblings like get_macro_targets (targets vs consumed) and get_food_log (log vs summary).

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

    Usage Guidelines4/5

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

    The description explains that nutrients appear only if tracked in Cronometer and advises setting targets to surface specific nutrients. It provides implicit guidance on when to use (daily consumption) but does not explicitly state when not to use or compare to alternatives.

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

  • Behavior4/5

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

    Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. Description adds details about return fields (status, timestamps, duration) and parameter behavior. No contradictions.

    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 plus an Args block. Front-loaded with action and resource. No unnecessary words.

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

    Completeness4/5

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

    Adequate for a read-only tool with output schema present. Description covers return fields and parameter defaults. Missing info on pagination or limits, but not critical given annotations.

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

    Parameters5/5

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

    Despite 0% schema coverage, the description's Args section fully explains both parameters with format (YYYY-MM-DD) and defaults (30 days ago for start, today for end). This adds essential meaning beyond the schema.

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

    Purpose5/5

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

    Description clearly states 'Get fasting history from Cronometer' and specifies return content: fasts with status, timestamps, duration. Differentiates from siblings like get_fasting_stats by focusing on history rather than statistics.

    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?

    Implies usage when needing fasting history with date range, but does not explicitly exclude alternatives or state when not to use. However, the purpose is clear enough for an agent to select correctly.

    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?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, which cover safety and idempotence. The description adds that the tool returns nutrition and serving sizes and that food_id comes from search_foods, but does not disclose additional behavioral details such as the response structure or how it handles missing data. With rich annotations, the description's incremental value is moderate.

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

    Conciseness5/5

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

    The description is concise (two sentences plus an args section) and well-structured, with each sentence serving a purpose. It front-loads the core action and returns information, then provides usage guidance. No unnecessary words.

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

    Completeness5/5

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

    Given that an output schema exists (so return values are already defined), the simple one-parameter tool is fully described. The description covers the tool's purpose, parameter origin, and integration with sibling tools, meeting all needs for a complete definition.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It explains that food_id is 'Food ID from search_foods results', which adds critical context beyond the schema's type and title. This effectively guides the agent in providing the correct value.

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

    Purpose5/5

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

    The description clearly states the tool retrieves detailed food information including nutrition and serving sizes. It distinguishes from siblings like search_foods (which provides basic info) and get_food_log (which returns logged entries), making the purpose specific and well-differentiated.

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

    Usage Guidelines5/5

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

    The description explicitly instructs to use this tool after search_foods to obtain full nutrient profiles and serving sizes, providing clear usage context and sequence. It effectively guides the agent on when to apply the tool relative to other tools.

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

  • Behavior4/5

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

    Annotations already indicate readOnlyHint=true and idempotentHint=true, making safety clear. The description adds valuable behavioral context about return format (category scores, consumed amounts, confidence levels) without contradicting 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?

    Concise and well-structured: front-loaded with purpose, then details, then usage guidance, then parameter docs. Every sentence provides value with no redundancy.

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

    Completeness5/5

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

    Given the tool's simplicity (one optional parameter) and presence of an output schema, the description fully explains the return structure and when to use it, making it complete for an agent to invoke correctly.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It documents the sole parameter 'date' with format YYYY-MM-DD and default today, which adds meaningful guidance beyond the schema's type-only definition.

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

    Purpose5/5

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

    Clearly states the tool retrieves nutrition scores with per-nutrient consumed amounts and category grades. Distinguishes from siblings by calling itself 'the richest nutrition endpoint' and listing specific categories (All Targets, Vitamins, etc.).

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

    Usage Guidelines4/5

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

    Explicitly says 'use it when you need to know both how much of each nutrient was consumed AND how close each is to the target', providing clear context for usage. Does not explicitly exclude alternatives, but the context strongly implies when to select this over other nutrition tools.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that it returns matching foods with IDs and source information, and includes the query parameter usage, which provides behavioral context beyond annotations.

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

    Conciseness5/5

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

    The description is very concise with three sentences and a docstring section. Every sentence adds value: purpose, outcome, and usage guidance. No fluff.

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

    Completeness5/5

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

    Given the existence of an output schema, single parameter, and comprehensive annotations, the description is complete. It explains what the tool returns, how to use it, and what to do with the results (pass to get_food_details).

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. The description includes a detailed parameter docstring with examples ('e.g. "eggs", "chicken breast"'), adding significant meaning beyond the schema's type-only definition.

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

    Purpose5/5

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

    The description clearly states 'Search Cronometer's food database by name.' with a specific verb and resource. It also distinguishes from sibling tool get_food_details by explaining the workflow: search then pass food_id to get_food_details.

    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?

    It clearly explains the tool's purpose and links to get_food_details for full nutrition info, providing an implicit usage context. However, it does not explicitly state when not to use this tool or compare to other search or logging tools.

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

  • Behavior5/5

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

    The description explains enrichment behavior ('best-effort'), distinguishes per-entry from day-level summaries, and details the returned fields. Annotations indicate readOnly, openWorld, idempotent, and non-destructive, which align with the description. No contradictions.

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

    Conciseness4/5

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

    The description is well-structured with sections for the main purpose, field explanations, and args. It is informative but could be slightly more concise; however, every sentence adds value.

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

    Completeness5/5

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

    Given the tool's complexity (food log, energy and nutrition summaries), the description covers all returned fields and their relationships. An output schema exists, reducing the burden, but the description still provides necessary context.

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

    Parameters4/5

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

    The schema has 0% coverage, but the description explicitly documents the 'date' parameter with format (YYYY-MM-DD) and default behavior ('defaults to today'), adding significant meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states 'Get all diary entries for a given date,' specifying the verb and resource. It distinguishes itself from sibling tools like search_foods by focusing on a date's log.

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

    Usage Guidelines4/5

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

    The description provides explicit context for when to use the tool (e.g., for a specific date) and gives guidance on using the energy_summary field ('Always report this…'). It lacks explicit when-not or alternative suggestions, but the context is clear.

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

  • Behavior5/5

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

    Annotations indicate a write operation (readOnlyHint false). Description adds context: response includes logged_to block, warns about misfiling, and explains diary_group behavior beyond annotations.

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

    Conciseness4/5

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

    Description is well-structured and front-loaded, but somewhat lengthy due to detailed parameter docs. Every sentence adds value; conciseness is slightly sacrificed for completeness.

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

    Completeness5/5

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

    Covers all parameters, response handling, prerequisites, and edge cases (e.g., meal guessing). With output schema present and good annotations, description is fully sufficient for correct agent usage.

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

    Parameters5/5

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

    With 0% schema coverage, description thoroughly explains all 6 parameters, including defaults, usage, and implications (e.g., diary_group auto behavior, translation_id, date format).

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

    Purpose5/5

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

    Clearly states 'Add a food entry to the Cronometer diary' with a specific verb and resource. Distinguishes from sibling tools like search_foods and remove_food_entry.

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

    Usage Guidelines5/5

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

    Explicitly instructs to use search_foods and get_food_details first. Provides detailed guidance on diary_group, warning against inferring meals and explaining when to override default.

    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

cronometer-api-mcp MCP server

Copy to your README.md:

Score Badge

cronometer-api-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/firaskudsy/cronometer-api-mcp'

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