medlineplus-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
The four specific lookup tools (medication, diagnosis, lab test, procedure) have clearly distinct purposes. However, medlineplus_connect is a low-level utility that overlaps with all of them, potentially causing confusion if an agent chooses it over the more specific tool.
Naming Consistency3/5Four tools use a consistent 'lookup_' prefix, but medlineplus_connect breaks this pattern with a different naming style. The inconsistency is noticeable but not chaotic.
Tool Count4/5Five tools is a reasonable number for the domain, covering the main clinical code systems (RXCUI, ICD, LOINC, CPT, SNOMED). The count is not excessive and fits the scope well.
Completeness4/5The tools cover the major MedlinePlus lookup categories (medication, diagnosis, lab, procedure). The general medlineplus_connect tool fills potential gaps, though a dedicated health-topic search tool might be missing.
Average 3.5/5 across 5 of 5 tools scored. Lowest: 2.7/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only states it is a 'lookup', implying a read-only operation, but lacks detail on authentication, rate limits, or any potential side effects. The brevity leaves ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise. It is front-loaded with the essential verb and object. However, it could benefit from a bit more detail without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and no output schema, the description should provide more context about the lookup process and expected results. It is too minimal to fully inform an agent about how to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% (language and codeSystem have descriptions). The description adds no additional meaning to the parameters; it merely echoes 'type/code-system combinations' without clarifying the roles of 'code' and 'name' or how they interact with 'type' and 'codeSystem'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs a low-level lookup for supported type/code-system combinations. This distinguishes it from the more specific sibling tools (lookup_medication, etc.) by emphasizing its generic nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the more specific siblings. The description does not specify prerequisites, when not to use it, or provide any explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as idempotency, side effects, rate limits, prerequisites, or error handling. The description carries the full burden but adds no behavioral context beyond the basic lookup action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the tool's purpose. Every word is necessary, and there is no redundancy or trivial content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lacks information about the return format (e.g., plain text, structured data, links). Although the task is simple, the description could be more complete by clarifying what the output contains. The current version is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions. The description adds no additional meaning beyond the schema; it only mentions using a LOINC code. Since schema coverage is high, baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'look up', the resource 'MedlinePlus lab-test information', and the method 'using a LOINC code'. It distinguishes this tool from siblings like lookup_medication, lookup_diagnosis, lookup_procedure, and medlineplus_connect by specifying the type of information and the required identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The description implies that this tool is for lab tests with LOINC codes, but does not mention alternatives or situations where other siblings might be better. Usage context is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not mention that the tool is read-only, any authentication requirements, or the nature of the output (e.g., what information is returned). This is insufficient for safe agent invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous words. It is front-loaded with the action and resource. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and sparse annotations, the description does not explain what the tool returns (e.g., full MedlinePlus entry, summary, links) or any limitations (e.g., rate limiting, required codes). A lookup tool with only input specs is incomplete for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for 3 of 4 parameters (75% coverage). The description adds context about MedlinePlus and code systems but does not elaborate on parameter semantics beyond what the schema states. No additional format or syntax guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Look up'), the resource ('MedlinePlus information'), and the specific input types ('CPT or SNOMED CT procedure codes'). It distinguishes itself from sibling tools (lookup_medication, lookup_diagnosis, etc.) by focusing on procedure codes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for procedure code lookups via the input schema and mentions of CPT/SNOMED CT. However, it lacks explicit guidance on when to use this tool over siblings or specific prerequisites (e.g., requiring an authenticated session).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses source (MedlinePlus Connect) and acceptable inputs, but lacks details on failure modes, data freshness, or behavior if multiple identifiers are provided. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence conveys purpose, source, and input methods with no wasted words. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, yet description doesn't explain return format or provide examples. Lacks details on error handling or network requirements. For a simple lookup, it's adequate but leaves gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 4 params with descriptions (100% coverage). Description adds context: 'English name fallback' and that the tool uses codes or name. This extra clarity about fallback behavior justifies above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'look up', resource 'medication education links from MedlinePlus Connect', and acceptable identifiers (RXCUI, NDC, name). Distinguishes from sibling tools (lookup_diagnosis, etc.) by focusing solely on medications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for medication lookups but offers no explicit guidance on when to use vs alternatives, when not to use, or prerequisites. The purpose alone differentiates from siblings, but no exclusions or decision tree.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/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 states the action ('look up') and resource ('MedlinePlus health-topic links'), but does not disclose what happens if the code is not found, any rate limits, or the structure of the returned links. It is minimally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-formed sentence that conveys the core purpose without extraneous words. It is front-loaded with the action and specific code systems, making it efficient for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description could be more explicit about the return format (e.g., list of links, titles). However, for a straightforward lookup tool, the mention of 'health-topic links' provides sufficient context for an agent to understand the general outcome. It is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, meaning the schema already documents most parameters well. The description adds context that the 'codeSystem' parameter includes ICD-10-CM, ICD-9-CM, or SNOMED CT, which aligns with the schema enum. However, it does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it looks up MedlinePlus health-topic links for diagnosis codes, specifying three code systems (ICD-10-CM, ICD-9-CM, SNOMED CT). This distinguishes it from sibling tools like lookup_medication or lookup_lab_test, which target different medical entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
While no explicit 'when to use' or 'when not to use' guidance is given, the tool name and description make it obvious that it is intended for diagnosis codes. The context of sibling tools implies alternative tools for medications, labs, procedures, and general MedlinePlus connections, providing indirect usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/chrisvo/medlineplus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server