Doctor Claude
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool targets a distinct operation: searching for articles, fetching article content, managing patient profile (set/get/delete), and calculating clinical scores. No two tools overlap in purpose.
Naming Consistency5/5All tool names follow a consistent `verb_noun` pattern with snake_case (e.g., `fetch_medical_article`, `get_patient_profile`), making the action and resource clear.
Tool Count5/5With 6 tools, the server is well-scoped: 3 for patient profile management, 2 for medical information retrieval, and 1 for clinical scoring. This covers core functionality without unnecessary bloat.
Completeness5/5The tool set covers the full lifecycle: search/fetch medical info, save/retrieve/delete patient context, and calculate relevant clinical scores. No obvious missing operations for the stated purpose.
Average 4.1/5 across 6 of 6 tools scored. Lowest: 3.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 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
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
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?
No annotations are provided, so the description must disclose behavioral traits. It only restates the tool name's action ('Delete') without explaining consequences such as permanence, reversibility, or impact on related data. This is a significant gap for a destructive operation.
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, focused sentence with no extraneous words. It immediately conveys the core function while remaining simple and appropriate for a zero-parameter tool.
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 the tool's simplicity, the description lacks critical context for a deletion operation. It does not explain whether deletion is permanent, whether it affects other data, or any side effects. Without annotations or an output schema, the description leaves significant gaps for an agent to understand the full implications.
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?
The tool has zero parameters and the schema is empty with 100% coverage. Baseline for no parameters is 4, and the description correctly does not reference any parameters. No additional semantic value is needed.
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 uses a specific verb ('Delete') and resource ('saved patient profile information'), clearly stating the tool's function. It distinguishes from sibling tools like get_patient_profile, set_patient_profile, and fetch_medical_article by indicating a destructive action on the profile.
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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention situations where deletion is appropriate, prerequisites, or alternatives like updating the profile. The agent is left to infer usage solely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It explicitly discloses that the tool provides educational information only and that clinical decisions must be made by qualified providers. It also enumerates the full scope of supported calculators. It does not describe output format or error behavior, but for a stateless calculator, the educational disclaimer and scope are key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and ends with a vital disclaimer, but it is overly long because it repeats the full calculator list already present in the schema's enum descriptions. The list could be condensed, and the redundancy makes it less concise than optimal.
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?
This is a complex tool with 16 calculators requiring different input structures. The description gives names and clinical uses but does not explain how to structure 'inputs' for each calculator, saying only 'see tool schemas for details' (not provided here). There is no output schema, so return values are also unspecified. The description is incomplete for an agent to correctly invoke the tool in many cases.
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 schema description coverage is 100%, including detailed enum values for 'calculator' and a description for 'inputs' (though vague). The description largely duplicates the enum list without adding new parameter-level meaning, especially for the nested 'inputs' object. Baseline 3 applies because the schema carries the weight.
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 tool calculates clinical decision rule scores for severity/risk assessment. It lists 16 specific calculators, which strongly distinguishes it from sibling tools that fetch articles, manage patient profiles, or search medical info. The verb 'calculate' and resource 'clinical decision rule scores' are explicit.
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 provides clear context for when to use the tool: to assess disease severity, stratify risk, and guide decision-making, including determining level of care. It does not explicitly mention when not to use it or name alternative tools, but the context is sufficient for a calculator with obvious use cases.
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. It discloses a key behavioral trait: returns null if no profile has been saved. However, it does not elaborate on safety, permissions, or other edge cases, which is acceptable for a simple read operation but not exhaustive.
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, front-loaded with the action, and includes only the essential extra detail about the null return. No waste or redundancy.
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?
For a tool with no parameters, no annotations, and no output schema, the description covers the main purpose and the most important behavior (null return). It is complete enough for an agent to know when to invoke it and what to expect in the missing case, though it does not describe the payload structure (not required here).
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?
With zero parameters, the schema provides no information to describe. The description does not need to add parameter details, and the baseline for 0 params is 4. The description correctly says nothing about parameters, which 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 action ('Retrieve') and the resource ('saved patient profile information'). It distinguishes itself from sibling tools like set_patient_profile (write), delete_patient_profile (remove), and search_medical_info (different resource).
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?
Usage is implied by the action of retrieving a saved profile, but there is no explicit guidance on when to use this tool versus alternatives. The description does not mention conditions or exclusions, but the simple getter nature makes the intended use reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the security domain restriction and the educational-only disclaimer, which are important behavioral traits. It also implies a read-only fetch operation and return of parsed content, but could elaborate slightly on error handling or return format.
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 two sentences, front-loaded with the primary purpose, followed by security and educational caveats. Every sentence contributes useful information without unnecessary padding.
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 tool's simplicity (one parameter) and no output schema, the description adequately explains the fetch-and-parse behavior, domain restrictions, and the non-clinical nature of the content. It could specify the output format, but the current level is sufficient for an agent to use the tool correctly.
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 schema already provides 100% coverage for the single parameter (URL with domain restriction). The description repeats the same allowed-domain constraint without adding additional semantic detail, so it meets the baseline but adds nothing 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 the tool's verb ('Fetch and parse') and resource ('medical article from MedlinePlus or StatPearls'), distinguishing it from sibling tools like search_medical_info. It is specific and unambiguous.
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 provides clear context that only URLs from medlineplus.gov and ncbi.nlm.nih.gov are allowed, which acts as an implicit exclusion for other sources. However, it does not explicitly mention alternatives like search_medical_info for when to search rather than fetch.
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?
With no annotations provided, the description carries the full burden. It discloses that data is stored locally and used for personalization, which is useful. However, it does not mention whether saving overwrites existing data, merges, or what response to expect. For a mutation tool, this is a moderate transparency gap.
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 two sentences: the first states the action and examples, the second explains storage, purpose, and optionality. It is front-loaded with the verb, has no filler, and every sentence contributes to understanding the tool.
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 tool's complexity (9 parameters, nested objects, no output schema), the description provides essential context: what it does, where data is stored, why it's useful, and that all fields are optional. It omits details like overwrite semantics, but this is not critical for deciding to use the tool. Overall, it is sufficiently complete for selection and invocation.
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 descriptions cover 100% of parameters, so the baseline is 3. The description adds 'All fields are optional,' which is a critical semantic not explicitly stated in the schema (though required count is 0). It also lists key fields, reinforcing the schema without redundancy, but doesn't elaborate on nested objects or units, which are already documented.
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 opens with 'Save patient profile information,' a clear verb and resource, and lists example fields (age, weight, height, chronic conditions, etc.). This distinguishes the tool from siblings like get_patient_profile and delete_patient_profile, which have different actions.
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 provides clear context: the information is stored locally and used for personalized medical information during consultations, implying when to use this tool. It doesn't explicitly state alternatives or exclusions, but the purpose and context are sufficient for an agent to choose it over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden of behavioral disclosure. It explains the return format, automatic query simplification, and the educational-only limitation. This provides rich context beyond what any schema could, and no contradictions exist.
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 appropriately sized—every sentence contributes meaning, from the search function, to return format, to query tips, fallback behavior, and the disclaimer. The IMPORTANT callout and clear flow make it easy to parse without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with two parameters and no output schema, the description is remarkably complete. It tells the agent what kind of queries work best, what happens on empty results, what to expect in the return list, and the educational scope. No further context is needed to invoke it correctly.
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 coverage is 100%, so the baseline is 3. The description adds extra value by reinforcing query simplicity and explaining the automatic retry behavior, which is not in the schema. It also clarifies the source parameter's role in searching both or one source, though the schema already describes that.
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 searches peer-reviewed medical information from MedlinePlus and StatPearls, and specifies the return of a list of articles with titles, URLs, and descriptions. It differentiates itself from the sibling 'fetch_medical_article' by emphasizing search rather than retrieval of a specific article.
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 provides explicit usage guidance on query formulation, advising simple 1-3 term queries and giving a concrete example of simplification. It also notes the automatic fallback to simpler queries, which helps agents understand behavior. It does not explicitly compare with sibling tools or state exclusions, but the context is clear enough.
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/gholtzap/doctor-claude'
If you have feedback or need assistance with the MCP directory API, please join our Discord server