Skip to main content
Glama

CGM authorize URL

cgm_authorize_url
Read-onlyIdempotent

Generate a Dexcom OAuth authorization URL that you open to grant CGM data access, then redirects with an auth code for API connection.

Instructions

Read-only OAuth URL generation; does not exchange tokens. Not a state mutation of glucose data. Gated by: user must open URL themselves (explicit user action). Builds the Dexcom OAuth authorize URL. The user opens it, grants access, and Dexcom redirects to your registered DEXCOM_REDIRECT_URI with an auth code. If credentials are missing, returns a hint with the exact env vars needed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.4
  2. Removedv0.4.1
  3. First observedv0.4.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description reinforces these by stating it is read-only and not a state mutation. Beyond that, it adds behavioral details: the requirement of explicit user action (gating) and the error behavior when credentials are missing, which are not in the annotations. No contradiction exists.

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 concise, about four sentences, and front-loads the key read-only nature. It efficiently conveys purpose, gating, and error handling without redundancy. Minor improvement would be to structure the parameter explanation separately, but overall it is well organized.

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 tool is simple (one optional parameter, no output schema), and the description covers purpose, gating, and error behavior. However, it omits any explanation of the 'state' parameter, which is critical for proper OAuth usage (e.g., CSRF protection). Without that, an agent might not know whether to pass a state value or what it should be. This gap prevents a higher score.

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

Parameters2/5

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

The schema has a single parameter 'state' with no description, and schema coverage is 0%. The description does not explain what 'state' is for (e.g., CSRF protection, callback state), nor does it provide any guidance on how to set it. With zero schema coverage, the description had a responsibility to document this parameter, and it fails to do so.

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's purpose: it builds a Dexcom OAuth authorize URL and explicitly notes it does not exchange tokens or mutate glucose data. This distinguishes it from sibling tools like cgm_glucose_now or cgm_connection_status, so an agent can identify it as the OAuth authorization step.

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 when the tool is relevant (OAuth authorization) and highlights a critical requirement: the user must open the URL themselves. It also mentions that missing credentials yield a hint with the exact env vars, which guides error handling. It does not explicitly name alternatives, but the sibling set is clearly different in scope, so the usage context is reasonably clear.

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