Skip to main content
Glama
Thecimal

Quantified Self MCP Server

Check how current the data is

get_data_status
Read-onlyIdempotent

Check if your local data is current and complete before analyzing it. Reports latest date, gaps, and status like CURRENT or STALE.

Instructions

Report how current and complete the database is: latest data date, coverage window, gaps, last successful import, and an overall status of CURRENT, STALE, INCOMPLETE, NO_DATA or IMPORT_FAILED. Check this before drawing conclusions from any analysis, and say so when the status is anything other than CURRENT.

Use this tool when:

  • the user asks how up to date their data is, or whether an import is needed.

  • you are about to interpret recent data and want to know whether it is fresh enough to trust.

Privacy note: this server and its SQLite file are entirely local, but the data returned by this tool becomes part of the conversation sent to whatever model the calling client is configured with. If that model runs in the cloud rather than on your machine, treat this the same as pasting the data into a chat with that provider.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stale_after_daysNoHow many days the latest data may trail today before the status becomes STALE. Defaults to 2.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
gapsYes
as_ofYes
actionNo
reasonNo
sourceNo
statusYes
coverageYes
gap_countYes
days_behindNo
latest_dataNo
missing_daysYes
latest_importNo
days_with_dataYes
stale_after_daysYes
last_successful_importNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.29

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/non-open-world, and the description adds value beyond them: the privacy note explains that returned data becomes part of the cloud conversation, which is a real behavioral consequence the schema cannot express. The enumerated status values (CURRENT/STALE/INCOMPLETE/NO_DATA/IMPORT_FAILED) also tell the agent how to interpret results.

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 payload of returned fields, then a scannable bulleted when-to-use list. The privacy paragraph is longer than strictly needed for tool selection, but it is purposeful and clearly separated, so the structure holds up.

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?

Annotations cover the safety profile and an output schema exists, so return shape need not be described. The description fully covers purpose, usage, and the privacy caveat; the only gap is failing to situate itself relative to the overlapping sibling get_import_status.

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 stale_after_days is fully documented in the schema with its default and semantics. The description mentions STALE status but never references or explains the parameter, adding nothing beyond what the schema already provides. Baseline 3 applies.

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?

Specific verb+resource ('Report how current and complete the database is') with the returned fields and the exact status enum values spelled out, so an agent knows precisely what it gets back. It does not, however, differentiate itself from the sibling get_import_status, which overlaps on the 'last successful import' dimension.

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?

Explicit 'Use this tool when:' bullets cover the two main triggers (user asks about freshness; about to interpret recent data) plus the instruction to check before drawing conclusions. Strong context, but no exclusion or explicit routing away from get_import_status, which an agent must disambiguate on its own.

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