Skip to main content
Glama
Cronometer MCP

Cronometer MCP

by ChrisJVanek

export_data

Read-onlyIdempotent

Export Cronometer food logs, daily nutrient totals, exercises, biometrics, or notes over long date ranges as JSON or CSV, with paging for large results.

Instructions

Cronometer's own data export, for long date ranges.

data_type is one of:

  • servings: every food logged, with its full nutrients

  • daily_summary: one row of nutrient totals per day

  • exercises, biometrics, notes

The rows are the columns of Cronometer's CSV export. Large results are paged; follow the get_result_page hint.

Args: data_type: servings, daily_summary, exercises, biometrics or notes. start_date: First day, YYYY-MM-DD. end_date: Last day, YYYY-MM-DD (defaults to today). format: "json" for parsed rows or "csv" for the raw text.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "data_type": "<data_type>",
      "start_date": "<start_date>"
    },
    "name": "export_data"
  }
}

Input Schema

NameRequiredDescriptionDefault
formatNojson
end_dateNo
data_typeYes
start_dateYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds genuinely new behavior: results are paged for large ranges, the follow-up is get_result_page, and format='csv' returns raw text rather than parsed rows. It does not quantify pagination limits or note rate limits, so it stops short of a 5.

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?

Front-loaded with the one-line purpose, then a scannable bulleted enumeration of data_type values, then a compact Args block. Minor waste: data_type's values are listed twice (bullets and Args), and 'The rows are the columns of Cronometer's CSV export' is an awkward sentence that adds little.

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?

With an output schema present, return values need not be explained, and the paging note covers the main operational risk. All required and optional parameters are documented, including the format switch and date defaults. Only the vagueness of 'follow the get_result_page hint' and the unstated behavior for zero-result ranges keep it from full marks.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must carry all four parameters — and it does: data_type's five permitted values with per-value meaning, start_date/end_date as YYYY-MM-DD with end_date defaulting to today, and format distinguishing parsed rows from raw CSV text. This is meaningfully richer than the bare schema titles.

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

Purpose4/5

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

States a specific verb+resource ('Cronometer's own data export') and scopes it to 'long date ranges', then enumerates the exact data_type values with what each returns. It implicitly separates itself from per-day siblings like get_food_log or get_daily_nutrition via the long-range framing, but never names an alternative, so the differentiation is inferential rather than explicit.

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?

'For long date ranges' gives a usable context cue, and 'Large results are paged; follow the get_result_page hint' tells the agent what to do on truncation. There is no explicit when-not guidance (e.g., use get_daily_nutrition for a single day) and no stated prerequisites or auth needs, leaving usage mostly implied.

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