LibreLink Up (CGM)
Server Details
Glucose readings from your LibreLink Up sensor: graph, logbook, stats and summaries (read-only). Sec
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/librelink-mcp
- GitHub Stars
- 0
- Server Listing
- LibreLink Up (CGM)
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 16 of 16 tools scored.
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.
Available Tools
16 toolsauthenticateAIdempotentInspect
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavior: calling with no arguments returns a link, and calling with a token authenticates. Annotations indicate idempotentHint=true and no destructiveness, which align with the description. It adds context about configuration options beyond what annotations provide.
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?
The description is a single paragraph that mixes multiple instructions and scenarios, making it somewhat dense. Though it front-loads the purpose, better structuring (e.g., separating permanent vs session) would improve readability.
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 parameter and no output schema, the description covers input behavior and usage scenarios adequately. It explains both call modes (with and without token). Minor gap: no mention of the output format, but overall sufficient for a simple authentication tool.
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?
Schema coverage is 0%, so the description must compensate. It explains the 'token' parameter as a JWT for session-only login, adding meaning beyond the schema's property definition alone. It does not describe the return value, but that is acceptable without an output schema.
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?
The description clearly states the tool's purpose: authenticating for MCP.AI IDE agents by logging in and obtaining an access token. It specifies the verb 'authenticate' and the resource (access token), and distinguishes from sibling tools like librelink_* which are unrelated.
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?
The description explains when to use the tool (for login/authentication) and provides two usage scenarios: permanent configuration via config header or session-only login by pasting a token. It does not explicitly state when not to use or mention alternatives, but sibling tools are clearly unrelated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connectARead-onlyIdempotentInspect
Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds behavioral context by specifying the two possible return states (authenticated with empty pending[] vs connect_url). No contradiction with annotations.
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?
The description is two sentences, front-loaded with the main purpose, and no unnecessary words. Every sentence adds value.
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?
For a tool with no parameters and no output schema, the description completely covers the two main scenarios. No additional context needed.
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?
The input schema has zero parameters and 100% coverage, so description does not need to add parameter info. Baseline of 4 is appropriate as there is no gap.
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?
The description clearly states it returns connection status and URLs, and distinguishes between two states (all providers connected vs credentials missing). It does not explicitly differentiate from siblings like 'librelink_get_connection', but the purpose is specific and actionable.
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?
The description provides context on when to use the tool (to check connection status) and describes two scenarios (authenticated vs missing credentials). It does not mention when not to use it or alternatives, but the guidance is sufficient for a simple status check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
librelink_get_connectionARead-onlyIdempotentInspect
Get a specific LibreLink Up connection by patient (returns target range, sensor info, latest glucose measurement envelope). Read-only CGM data — not for medical decisions without clinician review.
Bulk support: accepts patient_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| patient_id | No | ||
| patient_ids | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only and idempotent. The description adds that it returns target range, sensor info, and latest glucose envelope, and warns about medical use. No contradictions with annotations.
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 sentences, no redundancy. The purpose is front-loaded, and each sentence adds value. Very concise.
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?
With 3 parameters and no output schema, the description outlines return content and bulk support. It is sufficient but could elaborate on the structure of 'envelope' or other returned fields.
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?
Schema has 0% description coverage; the description adds meaning to patient_ids by stating it supports batched execution, but does not explain account or patient_id parameters. Partial compensation.
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?
The description clearly states the tool gets a specific connection by patient and lists the returned data (target range, sensor info, latest glucose measurement). It differentiates from sibling tools like librelink_get_current_glucose which focus on readings, not connection details.
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?
The description notes that data is read-only and not for medical decisions without review, providing caution. It mentions bulk support via patient_ids, indicating batch use. However, it does not explicitly contrast with alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
librelink_get_current_glucoseARead-onlyIdempotentInspect
Get the latest single glucose reading for a connection (value, trend, color, isHigh/isLow flags). Read-only CGM data — not for medical decisions without clinician review.
Use librelink_get_glucose_graph for multi-point history or librelink_get_glucose_stats for time-in-range.
Bulk support: accepts patient_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| patient_id | No | ||
| patient_ids | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable context beyond annotations: 'Read-only CGM data — not for medical decisions without clinician review', which is an important behavioral caveat.
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?
The description is three concise sentences: purpose, warning with alternatives, and bulk support note. Every sentence adds value with no redundancy.
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?
Covers most aspects: output fields, safety warning, alternatives, bulk usage. However, it does not differentiate from the sibling 'librelink_get_latest_reading' and omits explanation of the 'account' parameter.
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?
The input schema has 0% description coverage, so the description partially compensates by explaining that patient_ids enables bulk support, implying patient_id is for a single patient. However, the 'account' parameter is left unexplained.
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?
The description clearly states the tool's purpose: 'Get the latest single glucose reading for a connection' with specific output fields (value, trend, color, isHigh/isLow flags). It also distinguishes from sibling tools by mentioning alternatives for multi-point history and stats.
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?
Explicitly provides when-to-use and when-not-to-use guidance: 'Use librelink_get_glucose_graph for multi-point history or librelink_get_glucose_stats for time-in-range.' Also mentions bulk support for batched execution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
librelink_get_glucose_graphARead-onlyIdempotentInspect
Get the high-resolution ~12h glucose graph for a connection (raw graphData array of measurement points). Read-only CGM data — not for medical decisions without clinician review.
For a single current reading use librelink_get_current_glucose; for stats use librelink_get_glucose_stats.
Bulk support: accepts patient_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| patient_id | No | ||
| patient_ids | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states 'Read-only CGM data', aligning with readOnlyHint=true and destructiveHint=false annotations. It adds context about not using for medical decisions without review, enhancing transparency 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of three sentences with no repetition. Key information is front-loaded: purpose, differentiation, and bulk support.
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?
The description adequately conveys the purpose and return type (raw graphData array) but lacks parameter details. Given the tool's moderate complexity and absence of output schema, more detail on parameters would improve completeness.
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?
Schema coverage is 0% with no parameter descriptions. The description only mentions patient_ids for batch execution, but fails to explain 'account' and 'patient_id' parameters, leaving their meaning unclear.
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?
The description clearly states the verb 'Get' and the resource 'high-resolution ~12h glucose graph for a connection', specifying the raw graphData array as the return format. It also distinguishes from sibling tools by mentioning alternatives for single reading and stats.
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?
Explicit guidance is provided: 'For a single current reading use librelink_get_current_glucose; for stats use librelink_get_glucose_stats.' It also notes bulk support via patient_ids, informing when to use this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
librelink_get_glucose_logbookARead-onlyIdempotentInspect
Get the manual-scan logbook for a connection (~14 days of spot readings and notes). Read-only CGM data — not for medical decisions without clinician review.
Not the continuous graph — use librelink_get_glucose_graph for minute-by-minute data.
Bulk support: accepts patient_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| patient_id | No | ||
| patient_ids | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds valuable behavioral context: it mentions read-only nature, cautions against medical decisions without clinician review, and highlights batch support via patient_ids. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, three sentences, with each sentence adding distinct value: purpose, differentiation from sibling, and batch support. It is well-structured and front-loaded.
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 the tool's complexity (3 params, no output schema, many siblings), the description covers the main purpose, a key distinction, and batch support. It does not explain return format or error conditions, but is fairly complete for a read-only data retrieval tool.
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 description coverage, the description must compensate. It only explains one parameter (patient_ids for batch support) and does not explain 'account' or 'patient_id' individually. This leaves significant ambiguity for two of three parameters.
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?
The description clearly states the tool retrieves the manual-scan logbook for a connection, specifying scope (~14 days of spot readings and notes). It distinguishes itself from the sibling librelink_get_glucose_graph by explicitly noting that tool is for minute-by-minute data.
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?
The description provides clear usage context: it's for manual-scan logbook data, not for the continuous graph, and includes a medical disclaimer. It specifies an alternative sibling tool (librelink_get_glucose_graph). However, it could be more explicit about when not to use this tool beyond the graph comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
librelink_get_glucose_statsARead-onlyIdempotentInspect
Compute time-in-range, average, min/max, and latest-point snapshot from the current graph window (~12h) for a connection. Defaults: target 70-180 mg/dL. Read-only CGM data — not for medical decisions without clinician review.
Bulk support: accepts patient_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| patient_id | No | ||
| target_low | No | ||
| patient_ids | No | ||
| target_high | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds useful context: data source is 'current graph window (~12h)', includes a medical disclaimer, and notes batch execution via patient_ids. No contradiction with annotations. Adds value beyond what annotations provide.
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 clear, front-loaded sentences with no redundancy. Every word adds value: purpose, scope, defaults, disclaimer, and bulk support are all conveyed efficiently.
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 5 parameters, no required fields, no output schema, and helpful annotations, the description covers the tool's purpose, scope, defaults, and bulk capability. Lacks detail on return format (e.g., not describing the 'latest-point snapshot' structure), but overall sufficient for an agent to understand when to invoke it.
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?
Schema documentation coverage is 0%, so description must compensate. It explains defaults for target_low and target_high (70 and 180 mg/dL) and the purpose of patient_ids (bulk execution). However, account and patient_id parameters are not described, leaving ambiguity. Partial compensation.
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 uses specific verb 'Compute' and names resources 'time-in-range, average, min/max, latest-point snapshot' from a defined scope 'current graph window (~12h)'. This clearly distinguishes it from sibling tools like librelink_get_current_glucose (single reading) and librelink_get_today_summary (full day).
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?
Provides cautionary note 'not for medical decisions without clinician review' and mentions bulk support, but does not explicitly state when to prefer this tool over siblings (e.g., when a statistical summary is needed vs. raw readings). Implicit guidance exists but not explicit enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
librelink_get_last_hoursARead-onlyIdempotentInspect
Last N hours of normalized points [{ ts, mg_dl, trend }] from the current graph window (max ~12h). Read-only CGM data — not for medical decisions without clinician review.
Bulk support: accepts patient_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | ||
| account | No | ||
| patient_id | No | ||
| patient_ids | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, but the description adds value by disclosing the medical disclaimer and bulk support. It also clarifies data source is 'current graph window (max ~12h)', which is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded. However, the second sentence about bulk support could be integrated more smoothly. Still efficient and readable.
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?
The return structure is described, which is good given no output schema. However, parameter documentation is incomplete, and the relationship between 'hours' and 'max ~12h' is unclear. The medical disclaimer fills some context but not all.
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?
Schema parameter descriptions have 0% coverage. The description mentions 'hours' and 'patient_ids' but does not explain 'account' or 'patient_id', nor does it specify valid ranges, defaults, or formats. Users must infer from context.
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?
The description clearly states the tool returns 'Last N hours of normalized points' with a specified data structure [{ ts, mg_dl, trend }], distinguishing it from siblings like librelink_get_current_glucose (single reading) and librelink_get_glucose_graph (different representation). The resource and action are specific.
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?
Usage context is implied ('current graph window') but no explicit guidance on when to choose this tool over siblings like librelink_get_glucose_graph or librelink_get_glucose_logbook. No 'when not to use' or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
librelink_get_latest_readingARead-onlyIdempotentInspect
Normalized latest reading: { mg_dl, trend_arrow, timestamp, minutes_ago, has_active_sensor }. Read-only CGM data — not for medical decisions without clinician review.
Bulk support: accepts patient_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| patient_id | No | ||
| patient_ids | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint. The description adds value by specifying the return fields (mg_dl, trend_arrow, etc.), emphasizing read-only nature, and clarifying medical disclaimer. Contradiction: false.
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 in two short paragraphs. Returns fields are listed upfront, followed by bulk support note. No unnecessary words.
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 the tool's simplicity, the description covers purpose, return structure, bulk mode, and a caution. Lacks parameter-level explanations and error handling, but is largely complete for a read-only data retrieval tool.
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?
Schema coverage is 0% with no parameter descriptions. The description only mentions that patient_ids is for bulk support, but fails to explain account, patient_id, or the distinction between single and bulk use. More detail is needed to compensate for the schema gap.
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?
The description clearly states the tool returns the 'latest reading' with a normalized format listing fields. It is specific but does not differentiate from similar sibling tools like librelink_get_current_glucose, which may serve a similar purpose.
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?
The description notes the tool is read-only and not for medical decisions, and mentions bulk support via patient_ids. However, it does not provide explicit guidance on when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
librelink_get_today_summaryARead-onlyIdempotentInspect
Same shape as librelink_get_glucose_stats but filtered to "today" in a chosen IANA timezone, plus hypo_events_70 / hyper_events_180 counts. Read-only CGM data — not for medical decisions without clinician review.
Bulk support: accepts patient_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| timezone | No | UTC | |
| patient_id | No | ||
| target_low | No | ||
| patient_ids | No | ||
| target_high | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that data is read-only CGM and not for medical decisions, plus mentions bulk execution support, which goes 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) with key information front-loaded. However, it could benefit from more detail on parameters without becoming verbose.
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?
No output schema, but description relies on referencing sibling librelink_get_glucose_stats for return shape, which is incomplete. Parameters are under-described, and there is no guidance on how to use the bulk feature or what the output looks like.
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?
Schema description coverage is 0%, so the description must compensate. It only mentions 'timezone' implicitly and 'patient_ids' for bulk. Parameters like account, patient_id, target_low, target_high are not explained, leaving significant ambiguity.
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?
The description explicitly states it's 'Same shape as librelink_get_glucose_stats but filtered to today in a chosen IANA timezone, plus hypo_events_70 / hyper_events_180 counts.' This clearly identifies the tool's purpose and differentiates it from its sibling librelink_get_glucose_stats.
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?
The description implies when to use (for today's summary vs. general stats) and provides a medical disclaimer. However, it lacks explicit statements on when not to use or detailed alternative comparisons besides referencing the sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
librelink_list_accountsARead-onlyIdempotentInspect
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 |
Tool Definition Quality
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.
librelink_list_connectionsARead-onlyIdempotentInspect
List patients whose LibreLink Up readings are accessible to this install (alias of librelink_list_accounts; same data). Read-only CGM data — not for medical decisions without clinician review.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds specific context: 'Read-only CGM data — not for medical decisions without clinician review', which is valuable beyond the annotations and clarifies the data's sensitivity.
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 sentences, front-loaded with purpose and alias. Efficient but could be slightly more concise by removing redundant phrasing ('same data' is implied). No fluff.
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?
For a simple tool with one optional parameter and no output schema, the description covers core purpose, alias, and read-only caveat. However, the lack of parameter description leaves it incomplete; a complete description would clarify the account field.
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?
Schema description coverage is 0%, and the description does not explain the 'account' parameter (its purpose, format, or behavior). The description adds no information about parameters, leaving the agent without guidance on how to use the input.
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?
The description clearly states the tool lists accessible patients ('List patients whose LibreLink Up readings are accessible'), uses a specific verb ('List'), and explicitly identifies itself as an alias of librelink_list_accounts, distinguishing it from siblings.
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?
The description notes the tool is read-only and not for medical decisions, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., when to choose this over librelink_list_accounts). The alias mention helps, but no when/when-not criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplaceAInspect
The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/ link that opens without login.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| action | No | search | |
| mcp_id | No | ||
| message | No | ||
| tool_id | No | ||
| arguments | No | {} | |
| immediate | No | ||
| tier_slug | No | ||
| prompt_body | No | ||
| prompt_slug | No | ||
| prompt_tool | No | ||
| prompt_vars | No | {} | |
| conversation | No | [] | |
| prompt_title | No | ||
| request_name | No | ||
| cancel_reason | No | ||
| cancel_comment | No | ||
| prompt_targets | No | ||
| report_context | No | ||
| prompt_category | No | ||
| request_details | No | ||
| prompt_description | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations indicating non-read-only, open-world, and non-idempotent behavior, the description adds critical context: invoke runs uninstalled MCPs without bloating the toolkit, may return connect or checkout links, and writes require admin role. It also explains the side-effect-free nature of one-off invokes. No contradictions with annotations.
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?
The description is dense and packed with essential information, structured around a logical flow. It covers all major actions and edge cases without excessive fluff, though it is a single lengthy paragraph that could benefit from bullet points. Every sentence adds value, making it appropriately concise for the tool's complexity.
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?
The description covers the entire lifecycle: discovery, description, invocation, installation, billing, reporting, and prompt library. It addresses common pitfalls (credentials, wallet balance, permissions) and does not rely on an output schema. For an agent to select and invoke this tool correctly, the description provides sufficient context.
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 23 parameters and 0% schema coverage, the description compensates by explaining the action-driven workflow and key parameters such as action, tool_id, arguments, and prompt_vars. However, it doesn't detail every parameter (e.g., cancel_reason, request_details), so some parameters remain under-explained. The description adds meaningful conceptual semantics beyond the schema.
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?
The description explicitly states the tool is 'the official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them.' It clearly identifies the core flow (search, describe, invoke) and distinguishes from sibling tools, which are domain-specific (e.g., librelink_*). The purpose is unambiguous and detailed.
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?
The description provides explicit when-to-use guidance: 'Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile... → invoke RUNS that tool.' It also contrasts install vs invoke ('prefer invoke for a single/occasional use') and notes that 'Writes... require workspace owner/admin.' This gives clear direction on when to use the tool and its alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_bugAIdempotentInspect
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| message | Yes | ||
| conversation | No | [] |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotency and non-destructiveness. The description adds no further behavioral details beyond the request to include a conversation array, which is marginally helpful but does not significantly enhance transparency.
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?
The description is a single, front-loaded sentence that directly states the purpose and a key instruction. It is concise without unnecessary elaboration.
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 the tool has three parameters, no output schema, and basic annotations, the description omits important details like the role of 'context' and what happens after reporting. This leaves the agent with incomplete information for invocation.
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 description coverage, the description should clarify all parameters. It only mentions the 'conversation' parameter, leaving 'context' and 'message' undefined. This is insufficient for an agent to correctly populate all inputs.
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?
The description clearly states the tool's purpose: reporting bugs, missing features, or sending feedback. This verb-resource pairing is specific and distinguishes it from sibling tools that focus on LibreLink data, authentication, and version info.
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?
The description instructs to include the conversation array with recent messages for reproduction, which is a clear usage guideline. While it does not explicitly mention when to avoid the tool or name alternatives, it implies the correct context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_versionARead-onlyIdempotentInspect
Show the current MCP platform and adapter versions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds context by specifying what versions are shown ('current MCP platform and adapter versions'), which is useful beyond the annotations. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, 8-word sentence that perfectly conveys the tool's purpose without any extraneous information. Every word earns its place.
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 the tool has no parameters and no output schema, the description is fully complete. It tells the agent exactly what the tool does and what it returns (version information), leaving no gaps.
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?
The tool has no parameters, and the schema description coverage is 100%. The description adds no parameter information (none needed), meeting the baseline score of 4 for 0-parameter tools.
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?
The description clearly states 'Show the current MCP platform and adapter versions', specifying the verb 'show' and the resource 'MCP platform and adapter versions'. It is distinct from sibling tools, none of which display version information.
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?
The description clearly indicates this tool is for retrieving version information. While no explicit when-not or alternatives are given, the simple read-only nature and uniqueness among siblings make usage context obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toolkit_infoARead-onlyIdempotentInspect
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no additional behavioral traits beyond the output content, such as potential latency, network dependencies, or behavior when MCPs are unavailable. Since the bar is lower with annotations present, a 3 is appropriate.
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?
The description is a single, front-loaded sentence that immediately states the purpose ('Returns the current toolkit state') followed by a concise enumeration. There is zero wasted wording, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description lists all key return components (installed MCPs, connection status, accounts, catalog tool counts). With no parameters, simple safety annotations, and low operational complexity, this is fully sufficient for an agent to understand and invoke the tool correctly.
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?
The tool has zero parameters, so a baseline of 4 applies. The description does not need to explain parameter semantics, and it does not attempt to add irrelevant parameter details.
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?
The description clearly states a specific verb ('Returns') and resource ('the current toolkit state'), then enumerates the exact components returned (installed MCPs, connection status, accounts connected, catalog tool counts). This fully distinguishes it from sibling tools like librelink_list_connections or show_version, which have narrower scopes.
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?
The description provides clear context that this tool is for obtaining an overall status snapshot of the toolkit. It does not explicitly mention alternatives or exclusions, but the enumeration of returned data implicitly positions it as the general-purpose overview tool, making the intended use apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceEnables clinical teams to list patients with active sharing and read glucose, graph, logbook, and statistics from LibreLink Up, with secure magic-link login and encrypted credentials.MIT
- AlicenseAqualityAmaintenanceEnables access to FreeStyle Libre glucose data through Claude Desktop, providing current readings, historical data, statistics, and trend analysis from LibreLinkUp accounts with secure credential storage.101MIT
- AlicenseAqualityAmaintenanceMCP server that reads glucose data from a FreeStyle sensor via the LibreLinkUp API, providing current glucose and history with explicit coverage and gaps.2654MIT
- Flicense-qualityDmaintenanceProvides access to Dexcom G7 continuous glucose monitor data, enabling AI assistants to retrieve current glucose readings and historical data.12
Your Connectors
Sign in to create a connector for this server.