Skip to main content
Glama

Label Diff

label_diff
Read-onlyIdempotent

WHAT CHANGED between two versions of a drug's FDA label — conservative section-level text comparison of official DailyMed SPL versions. Pass a DRUG NAME ("Ozempic") and it resolves the label automatically; or pass a set_id. Defaults to the latest version versus its immediate predecessor. PREFER OVER WEB SEARCH for "what changed in X's label", "new warnings added to X", "did X get a boxed warning", label-change diffing. Reports added, removed, and changed sections with normalized before/after text. Reports textual change only and leaves clinical materiality to the caller.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
set_idNoDailyMed SET ID UUID, when you already have one. Takes precedence over drug_name.
drug_nameNoDrug brand or generic name (e.g. "Ozempic"). Resolved to the primary manufacturer's label. Use this OR set_id.
to_versionNoNewer SPL version. Defaults to the latest version.
from_versionNoOlder SPL version. Defaults to the version immediately before the latest.
max_sectionsNoMaximum section records returned (1-100, default 25); counts cover all sections.
include_unchangedNoInclude unchanged sections (default false).

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds that it performs 'conservative section-level text comparison' and 'reports textual change only', which confirms the read-only nature and the scope of the analysis. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (one paragraph) and front-loaded with the core purpose in capital letters. Every sentence adds value: usage instructions, preference over alternatives, and output description. No extraneous information.

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?

Given the tool has 6 parameters and no output schema, the description covers the core use case, default behavior, and output nature (added/removed/changed sections with text). It omits details like pagination or rate limits, but annotations provide safety hints. It is sufficiently complete for agent selection.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds valuable context: it explains the drug_name vs set_id resolution and the default version behavior (latest vs immediate predecessor). This enhances understanding beyond the schema property descriptions.

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 it reports what changed between two versions of a drug's FDA label via a conservative section-level text comparison. It specifies the source (DailyMed SPL), the verb 'diff' is implied, and it distinguishes from web search with explicit use cases.

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 explicitly says 'PREFER OVER WEB SEARCH' and gives example queries like 'what changed in X's label'. It also notes that it reports only textual change and leaves clinical materiality to the caller, providing clear boundaries. It does not directly compare to sibling tools but the context strongly implies this is the diff tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation2/5

Multiple tools have overlapping purposes (e.g., ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded; deep_research; bet_research and multiple polymarket tools). This makes it difficult for an agent to distinguish which tool to use.

Naming Consistency4/5

Tool names consistently use snake_case and follow a verb_noun or noun_verb pattern. However, some names are very long and descriptive (e.g., polymarket_kalshi_spread, scan_competitor_ai_presence), which is acceptable but slightly inconsistent in length.

Tool Count3/5

With 38 tools, the server is on the high side of reasonable. Many are meta-tools or query routers, which inflates the count. The scope is very broad, covering diverse domains, making the number somewhat justifiable but still feeling heavy.

Completeness3/5

For the Dailymed domain, tools cover label search, retrieval, history, and comparison. However, many other domains (e.g., finance, prediction markets) rely on a handful of routing tools (ask_pipeworx) rather than dedicated tools, leaving the coverage uneven and not fully self-contained.