Skip to main content
Glama

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.4

  • Disambiguation5/5

    Each tool has a clearly distinct function: registration status, recall info, drug card, instruction link, pricing, and fuzzy search. There is no overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case (e.g., check_drug_registration, get_drug_card), making them predictable and easy to parse.

    Tool Count5/5

    With 6 tools, the server is well-scoped for its pharmaceutical domain, providing essential query operations without being unnecessarily sparse or bloated.

    Completeness5/5

    The tool set covers the core use cases for drug information retrieval: searching, checking registration, recalls, full card details, instructions, and pricing. No obvious gaps for a read-only database.

  • Average 3.8/5 across 6 of 6 tools scored. Lowest: 3.2/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 7 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • 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.

  • This repository includes a glama.json configuration file.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

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 provided, and the description does not disclose behavioral traits such as authorization needs, rate limits, or side effects. The 'Тариф Pro' phrase implies a paid tier but lacks clarity on restrictions. The list of fields is helpful but insufficient for a tool with no 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?

    Description is a single sentence that efficiently conveys the tool's output and tariff. It is front-loaded but includes a minor marketing component ('Тариф Pro'). No wasted words aside from that.

    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?

    Output schema exists (not shown), so return values are covered. However, with no annotations, the description lacks context on prerequisites, error handling, and access restrictions. The tool's special tariff suggests additional context is needed.

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

    Parameters3/5

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

    Schema coverage is 100% with both parameters (name, ru_number) described. The description adds context about the output fields but does not enhance parameter semantics beyond the schema. Baseline 3 is appropriate.

    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?

    Description clearly states the tool provides a 'reference card' of a drug from GRLS, listing specific data fields (trade name, INN, forms, dosages, etc.). It distinguishes from siblings like search_drug (generic search) and get_zhnvlp_price (pricing) by specifying a comprehensive card.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. The mention of 'Тариф Pro' hints at a paid requirement but does not state usage context or exclusions. No comparison to sibling tools like check_drug_registration or search_drug.

    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?

    Annotations are absent, so the description carries the burden. It discloses fuzzy matching and ranking behavior, plus a tariff note ('Тариф Pro'). However, it does not mention response format, error conditions, or whether it is read-only. The output schema may partially cover return values, but the description could improve with more behavioral details.

    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 extremely concise with two short sentences. Every word adds value: fuzzy search, fields, ranking, bridge, and tariff. No redundancy or filler. Perfect structure for quick comprehension.

    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's moderate complexity (fuzzy search, ranking, bridge between INN and trade names) and the presence of an output schema, the description is reasonably complete. It mentions the tariff Pro which is an important behavioral signal. Could be improved by explicitly stating that the output includes a ranked list of drugs with both trade and INN names, but the schema likely covers this.

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

    Parameters3/5

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

    Schema coverage is 100% with descriptions for both parameters. The tool description adds 'fuzzy' and 'ranking' context to the query parameter, which is already described in schema. For the limit parameter, no additional meaning is added. The description adds marginal value beyond the schema.

    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?

    Description clearly states it does fuzzy search of drugs by trade name or INN with ranking. This verb+resource combination is specific and distinct from sibling tools which are registration checks, recalls, card retrieval, instructions, and price lookup. No ambiguity.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool vs alternatives. While sibling tools are different, there is no explanation of prerequisites, limitations, or context such as 'use this when you need to find a drug by name or INN'. The description only implies usage through the search verb.

    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, the description carries the transparency burden. It discloses that results are raw document data without interpretation, and mentions the Pro tariff, but does not specify auth requirements, rate limits, or side effects. 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.

    Conciseness4/5

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

    The description is short and to the point, with no unnecessary words. It front-loads the key information. Could potentially be slightly more structured, but overall efficient.

    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 presence of an output schema, the description does not need to explain return values. The two parameters are well-covered in the schema, and the description hints at usage. The tool's niche is clear relative to siblings. Lacks details on error handling or empty results, but complete enough for a simple lookup.

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

    Parameters3/5

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

    Schema coverage is 100% with both parameters described. The description adds that either name or series should be provided, slightly clarifying usage, but does not explain semantics beyond what the schema already provides. Baseline 3 is appropriate.

    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 checks letters from Roszdravnadzor about drug recalls, specifying the information returned (availability, date, details, reason) and that it does not interpret the data. It distinguishes from siblings like check_drug_registration which deals with registration, not recalls.

    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 advises to provide 'name or series', implying at least one parameter should be used, but lacks explicit guidance on when to use this tool vs siblings, no when-not-to-use, and no mention of prerequisites (e.g., Pro tariff). The context is implied but not explicit.

    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 states the output (status, number, date) and mentions 'Pro tariff' indicating a potential cost. However, it does not explicitly state that the tool is read-only or disclose any side effects, auth needs, or rate limits.

    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 consists of two concise sentences: the first defines the tool's output, the second specifies parameters and tariff. Every word serves a purpose with no redundancy.

    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's simplicity (status lookup), the description covers the key output (status, number, date) and parameters. An output schema exists, so return values are further detailed there. Minor gaps include lack of clarity on handling multiple matches or resolution logic.

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

    Parameters3/5

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

    Schema coverage is 100%, so each parameter already has a detailed description. The tool description adds 'Задайте name, mnn или ru_number,' which minimally reinforces usage but does not add significant value beyond the schema.

    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 checks drug registration status in GRLS (active/cancelled/suspended) and returns registration number and date. The verb 'check' and resource 'drug registration' are specific, and the tool is easily distinguished from siblings like check_recall or search_drug.

    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 tells users to provide name, mnn, or ru_number as parameters. However, it does not explicitly guide when to use this tool versus alternatives (e.g., get_drug_card for full details, check_recall for recalls), leaving the agent to infer from context.

    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 explains the tool's function (checking list inclusion and returning price) but does not disclose any behavioral traits such as destructive actions, rate limits, or authentication needs. The mention of 'Тариф Pro' hints at a paid tariff but lacks explicit detail.

    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 extremely concise: two sentences. The first clearly states the purpose, and the second specifies the input options and tariff. No wasted words.

    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?

    For a simple lookup tool with an existing output schema, the description is adequate. It covers the core functionality. However, it could briefly mention how to interpret the output or any constraints (e.g., mutual exclusivity of parameters) for 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?

    Schema coverage is 100% with descriptions for both parameters. The description adds the hint 'Задайте name или mnn', implying mutual exclusivity, which goes beyond the schema. This provides useful usage guidance.

    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 checks if a drug is in the ЖНВЛП (essential drugs list) and returns the registered price (ПЗЦ) by form/dosage/packaging. It specifies the required input (name or mnn), distinguishing it from sibling tools like check_drug_registration or get_drug_card.

    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 tells the user to provide name or mnn but does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions or prerequisites like required permissions. Usage is implied but not fully guided.

    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?

    No annotations are provided, so the description carries the burden. It discloses that the tool returns a link and text with attribution, and that it requires Pro tariff. This provides good behavioral context for a read-like operation, though it could mention if any side effects 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/5

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

    The description is a single, efficient sentence with no wasted words. It front-loads the key purpose and provides immediate instruction on usage.

    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?

    With an output schema present, the description appropriately focuses on input guidance and the nature of the output (link and text). It is complete for the tool's complexity, though it could mention prerequisites or error conditions.

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

    Parameters3/5

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

    Schema coverage is 100%, so the schema already describes both parameters well. The description adds that you should provide either 'name' or 'ru_number', clarifying they are alternatives, which is a minor semantic addition beyond the schema.

    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 provides a link to the official instruction from the GRLS and its text as public information with attribution. It specifies the resource (official instruction) and the source (GRLS), distinguishing it from siblings like get_drug_card or check_recall.

    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 to provide 'name' or 'ru_number', guiding when to use the tool. It also mentions 'Тариф Pro' indicating a premium feature. However, it does not explicitly contrast with sibling tools or state when not to use it.

    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

mcp-pharma MCP server

Copy to your README.md:

Score Badge

mcp-pharma MCP server

Copy to your README.md:

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/atomno-mcp/mcp-pharma'

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