Skip to main content
Glama
RowanErasmus

DailyMed MCP Server

by RowanErasmus

get_dailymed_context

Retrieve comprehensive information about the FDA DailyMed database, including its purpose, content types, and appropriate use cases.

Instructions

Get comprehensive information about DailyMed database, its purpose, content types, and when to use it

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler implementation for get_dailymed_context, which returns a static object providing metadata about the DailyMed service.
    async getDailyMedContext() {
      return {
        service: "DailyMed",
        version: "2.0",
        description: "DailyMed is the official provider of FDA label information (package inserts) for approved drug products",
        baseUrl: "https://dailymed.nlm.nih.gov/dailymed/services/v2",
        purpose: "Provide comprehensive, up-to-date drug labeling information",
        contentTypes: [
          "Structured Product Labels (SPLs)",
          "Drug names and active ingredients", 
          "NDC codes",
          "FDA application numbers",
          "Drug classification information",
          "RxNorm mappings",
          "Pharmacologic class mappings"
        ],
        keyFeatures: [
          "Official FDA-submitted drug labeling information",
          "Cross-references with RxNorm and pharmacologic classifications", 
          "Multiple data formats (JSON, XML, PDF)",
          "Free public access with regular updates",
          "Comprehensive search and filtering capabilities"
        ],
        dataFreshness: "Updated daily with new FDA submissions",
        apiCapabilities: [
          "Search SPLs by drug name, manufacturer, NDC, RxCUI, etc.",
          "Advanced filtering with multiple parameters",
          "Pagination support for large result sets",
          "Full SPL document retrieval with structured sections",
          "Mapping data linking SPLs to external terminologies"
        ],
        useCases: [
          "Healthcare professionals researching drug information",
          "Patients seeking official drug labeling information", 
          "Researchers conducting pharmaceutical studies",
          "AI systems providing drug information and recommendations",
          "Regulatory compliance and drug safety monitoring"
        ]
      };
    }
  • src/tools.ts:4-11 (registration)
    Tool registration for get_dailymed_context.
    {
      name: "get_dailymed_context",
      description: "Get comprehensive information about DailyMed database, its purpose, content types, and when to use it",
      inputSchema: {
        type: "object",
        properties: {},
      },
    },
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions getting 'comprehensive information,' but doesn't detail what that entails—e.g., format of the response, potential rate limits, authentication needs, or whether it's a read-only operation. For a tool with zero annotation coverage, this lack of behavioral context is a significant gap, though it doesn't contradict any annotations.

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 a single, efficient sentence that front-loads the key action ('Get comprehensive information') and covers purpose and usage hints. There's no wasted text, but it could be slightly more structured (e.g., by separating purpose from usage more clearly) to enhance readability, keeping it from a perfect score.

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?

Given the tool's complexity (0 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does and hints at usage, but lacks details on behavioral traits and output format, which are important for a tool providing 'comprehensive information.' With no output schema, the description should ideally elaborate on return values, but it doesn't, leaving gaps in completeness.

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?

The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for such cases is 4, as the description appropriately avoids redundant information and focuses on the tool's purpose without misalignment with the schema.

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?

The description clearly states the tool's purpose: to 'Get comprehensive information about DailyMed database, its purpose, content types, and when to use it.' This specifies the verb ('Get') and resource ('comprehensive information about DailyMed database'), making it understandable. However, it doesn't explicitly differentiate from siblings like 'get_download_links' or 'get_mapping_statistics,' which might also provide database-related information, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes 'when to use it,' which implies guidance on usage context, but it's vague and not explicit. It doesn't specify when to choose this tool over alternatives (e.g., vs. 'get_drug_details' for specific drug info or 'get_download_links' for data access), nor does it outline prerequisites or exclusions. This leaves usage somewhat implied rather than clearly defined.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RowanErasmus/dailymed-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server