librelink_list_accounts
List patients linked to this install (id = patient_id, label, name). Read-only CGM data — not for medical decisions without clinician review.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account | No |
List patients linked to this install (id = patient_id, label, name). Read-only CGM data — not for medical decisions without clinician review.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds value by clarifying data type (CGM) and providing a medical disclaimer. Contradiction not present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. First sentence declares primary action and output format; second sentence adds essential context. No superfluous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one undocumented parameter and no output schema, description partially fills gaps but fails to explain the 'account' parameter. Safety warning is useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, description does not explain the 'account' parameter. The purpose is stated but the parameter's role is ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies action 'List' and resource 'patients linked to this install', with explicit fields (id, label, name). Distinguishes from sibling tools like librelink_list_connections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes a caution about not using for medical decisions without clinician review, but lacks explicit guidance on when to use this tool versus alternatives like librelink_list_connections.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools are clearly distinct by function, but librelink_list_accounts and librelink_list_connections are exact aliases, causing confusion. Some glucose tools have overlapping outputs (e.g., librelink_get_current_glucose vs librelink_get_latest_reading), though descriptions help differentiate them.
CGM data tools consistently use the librelink_ prefix, but authentication, connect, marketplace, report_bug, show_version, and toolkit_info lack the prefix, mixing conventions. This inconsistency makes the tool set feel disjointed.
With 16 tools, the set is slightly larger than needed, but it covers the main CGM functionalities plus platform utilities. The number is still reasonable and manageable, with each tool serving a specific purpose.
The CGM data tools provide comprehensive read-only access (current, graph, stats, logbook, etc.), but there are no write operations (e.g., setting targets) or historical data beyond ~12-14 days. The inclusion of marketplace and configuration tools feels out of scope but does not leave critical gaps for the stated domain.