Skip to main content
Glama

atomno-mcp-pharma

Клиент справочника лекарств РФ. Ответ — из официальной суточной выгрузки ГРЛС, реестра предельных цен ЖНВЛП и еженедельной выгрузки Росздравнадзора о контроле качества серий. Это справка из государственного реестра, а не медицинский совет.

Drug reference MCP client. Official Minzdrav GRLS dump, VEDL ceiling prices, Roszdravnadzor series letters.

Это справка из государственного реестра, а не медицинский совет.

Что умеет

  • Поиск препарата по торговому названию или МНН.

  • Карточка регистрационного удостоверения: статус, держатель, даты, формы, производитель.

  • Предельная цена по перечню ЖНВЛП, если позиция есть в реестре цен.

  • Письма Росздравнадзора о сериях: название, серия, тип письма, номер и дата.

Текста инструкции в выгрузке ГРЛС нет: тул get_instruction отвечает ready: false и называет причину. Пустой список препаратов не подменяет отказ источника.

Related MCP server: Unofficial FDA MCP Server

Быстрый старт

pipx install atomno-mcp-pharma
# или: uvx atomno-mcp-pharma

Cursor / Claude Desktop (mcp.json / claude_desktop_config.json):

{
  "mcpServers": {
    "pharma": {
      "command": "uvx",
      "args": ["atomno-mcp-pharma"],
      "env": { "MCP_PHARMA_API_KEY": "<ваш-ключ-Pro>" }
    }
  }
}

Переменные окружения

Переменная

Описание

Обязательна

MCP_PHARMA_API_KEY

Ключ Pro (заголовок X-API-Key). Получить

да

MCP_PHARMA_API_BASE

URL hosted-бэкенда (по умолчанию — прод)

нет

MCP_PHARMA_TIMEOUT

Таймаут HTTP, сек (default 30)

нет

MCP_PHARMA_LOG_LEVEL

Уровень логирования (DEBUG/INFO/WARNING/ERROR, default WARNING)

нет

Тулы

Тул

Вход

Что отвечает

check_drug_registration

name? / mnn? / ru_number?

статус РУ, держатель, даты

get_drug_card

name? / ru_number?

карточка из ГРЛС

search_drug

query, limit?

список совпадений

get_zhnvlp_price

name? / mnn?

предельные цены ЖНВЛП

check_recall

name? / series?

письма Росздравнадзора о сериях

get_instruction

name? / ru_number?

ready: false — текста инструкции в выгрузке нет

Каждый ответ содержит source, checked_at и disclaimer.

Дисклеймер

Это справка из государственного реестра, а не медицинский совет. Не аффилировано с Минздравом РФ и Росздравнадзором.

Лицензия

MIT © Atomno

Available Tools

6 tools
check_drug_registrationA

Статус регистрации в ГРЛС: номер РУ, держатель, даты, статус. Задайте name, mnn или ru_number. Справка, не медицинский совет. Тариф Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
mnnNoМеждународное непатентованное наименование / МНН (напр. «парацетамол»).
nameNoТорговое наименование (напр. «Панадол»).
ru_numberNoНомер регистрационного удостоверения (напр. «ЛП-001234»).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations present, the description carries the full burden of behavioral disclosure. It reveals the data source (GRLS), the scope of returned information, the non-medical-advice nature, and the Pro tariff requirement. It does not describe nil-result behavior or any side effects, but the content disclosed is substantive for a simple read-only lookup.

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 three short sentences, each carrying distinct value: result scope, parameter guidance, and constraints/disclaimers. There is no filler or redundant content.

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 low-complexity lookup tool with an output schema, the description covers purpose, query instructions, and key constraints. Minor gaps remain around parameter combination rules and behavior when no matching registration is found, but these are not critical given the output schema.

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 parameters themselves are already documented. The description adds an inter-parameter rule by instructing the agent to set 'name, mnn или ru_number', implying a choose-one pattern that the schema alone does not express. It does not clarify whether multiple parameters may be combined.

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 names the specific resource 'Статус регистрации в ГРЛС' and the concrete result fields (номер РУ, держатель, даты, статус), making it clear this is a registration-status lookup. It is distinguishable from siblings like search_drug or check_recall by the focus on GRLS registration data, though it lacks an explicit verb.

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 instruction 'Задайте name, mnn или ru_number' tells the agent what to supply, and 'Тариф Pro' flags an availability constraint. However, it does not explicitly state when to prefer this tool over siblings, nor does it mention any alternative tools, so usage context is implied rather than explicit.

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

check_recallA

Письма Росздравнадзора о сериях: название, серия, тип письма, номер и дата. Справка, не медицинский совет. Тариф Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoТорговое наименование препарата.
seriesNoНомер серии (если известен).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses that the result is reference information, not medical advice, and notes the Pro tariff requirement. However, it does not explicitly state read-only behavior, data source limitations, or access/auth implications beyond tariff.

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?

Extremely compact: every fragment earns its place. The core information is front-loaded, followed by a useful disclaimer and tariff note. No filler or redundant restatement of the schema.

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 low-complexity lookup with fully described optional parameters and an output schema, the description is fairly complete. It conveys the data source, key fields, informational nature, and tariff. The main missing piece is explicit sibling differentiation, which belongs to usage guidance.

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?

Input schema covers both parameters with descriptions, so the baseline is 3. The description adds little beyond restating 'name' and 'series' as relevant fields; it does not introduce new parameter constraints, formats, or edge-case semantics.

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 identifies the resource: Roszdravnadzor letters about drug series, and lists the relevant fields (name, series, letter type, number, date). It is specific and distinguishable from siblings like check_drug_registration, though it does not explicitly name alternatives.

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?

Usage context is implied: use this tool to retrieve Roszdravnadzor letters about series. The disclaimer 'Справка, не медицинский совет' adds context, but there is no explicit guidance about when to prefer this over sibling tools or 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.

get_drug_cardB

Карточка из ГРЛС: торговое имя, МНН, формы, держатель, производитель, статус. Справка, не медицинский совет. Тариф Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoТорговое наименование препарата.
ru_numberNoНомер регистрационного удостоверения (РУ).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It does add useful context: it is a reference card, not medical advice, and it requires a Pro tariff. However, it does not disclose behavior when neither parameter is supplied, how failures are surfaced, or whether the data is freshness-limited.

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 compact sentence that front-loads the key output fields and then adds two short clarifying notes. It is efficient and free of redundant wording, though it could have included usage guidance without becoming verbose.

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?

The output schema and parameter schema cover the return structure and parameter meanings well. The main gaps are the absence of sibling differentiation and no statement about whether at least one of the two optional parameters must be supplied for a useful call. For a simple get-card tool, this is adequate but not complete.

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 description coverage is 100%, so the schema already fully documents both parameters. The description names data fields like trade name and INN but adds no extra meaning beyond the schema, so the baseline of 3 is appropriate.

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 identifies the tool's return value: a GRLS drug card containing trade name, INN, forms, holder, manufacturer, and status. It is specific about the resource, but it does not explicitly differentiate the tool from siblings like search_drug or check_drug_registration.

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?

There is no guidance on when to use this tool versus the listed siblings. The description only mentions that it is a reference, not medical advice, and that it is a Pro tariff feature; it never explains what kind of query should be routed here rather than to search_drug, get_instruction, or check_drug_registration.

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

get_instructionC

Текст инструкции в официальной выгрузке ГРЛС отсутствует, ответ ready=false с причиной. Тариф Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoТорговое наименование препарата.
ru_numberNoНомер регистрационного удостоверения (РУ).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose a key behavior: the official GRLS export lacks instruction text, so the response will be ready=false with a reason, and the feature is tied to the Pro tariff. However, it does not clarify authentication, rate limits, or what happens outside the Pro tariff.

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 very short and every clause carries information: the absence of instruction text, the ready=false response, and the Pro tariff requirement. It is efficient, though slightly cryptic because the main verb for the tool's action is missing.

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?

An output schema exists, so return-value details are not necessary. The description communicates the core caveat, but it lacks usage context, routing to sibling tools, and a clear statement of prerequisites beyond 'Тариф Pro'. An agent could still be unsure when this tool should be called.

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?

The schema already describes both parameters fully (trade name and registration number), so the baseline is 3. The description adds no parameter-specific meaning, such as whether one identifier is preferred or how they affect the ready=false response.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (instruction text in the GRLS export) and a concrete response trait (ready=false with reason), but it never explicitly states the tool's operation, e.g., 'returns the instruction text' or 'checks instruction availability'. It also does not differentiate itself from sibling tools like get_drug_card or get_zhnvlp_price.

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?

There is no explicit guidance on when to use this tool versus alternatives. The phrase 'Тариф Pro' hints at a payment-tier precondition, but no conditions, exclusions, or sibling comparisons are provided.

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

get_zhnvlp_priceA

Предельная цена из реестра ЖНВЛП по названию или МНН. Справка, не медицинский совет. Тариф Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
mnnNoМНН (позиция перечня ЖНВЛП).
nameNoТорговое наименование препарата.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden. It discloses that this is informational ('Справка'), not medical advice, and that it is tied to the Pro tariff. For a simple read-only price lookup, this is reasonably transparent, though it does not detail error behavior when both optional params are absent.

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, compact sentence with the core result front-loaded first, followed by the lookup key and relevant caveats. No filler words are present.

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?

The tool is simple, the input schema is fully documented, and an output schema exists. The description gives the essential lookup semantics and important caveats. It could be slightly more complete by stating that at least one of name or MNN must be supplied, since both are schema-optional.

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 value by clarifying that the lookup works by either trade name or MNN ('по названию или МНН'), effectively describing the relationship between the two optional parameters beyond their individual schema 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 the tool returns the 'Предельная цена из реестра ЖНВЛП' (maximum price from the essential medicines register) and can be queried by name or INN. This distinguishes it from the sibling tools, which handle registration, cards, instructions, recalls, and general drug search.

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 implies usage: use this tool when you need a ЖНВЛП price by name or MNN. It does not explicitly state when to prefer it over search_drug or the other siblings, nor does it provide exclusions or alternative routing.

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

search_drugA

Поиск по ГРЛС: торговое наименование или МНН. Справка, не медицинский совет. Тариф Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoМаксимум результатов.
queryYesСтрока поиска по торговому наименованию (ТН) или МНН.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral transparency burden. It adds useful context: the tool is a reference lookup, not medical advice, and is tied to the Pro tariff. However, it does not disclose matching behavior, authorization requirements, or rate limits; search is inherently read-only so the gap is moderate.

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 compact and front-loaded: it states the search scope first, then the informational caveat, then the tariff restriction. Every clause earns its place with no filler.

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 two-parameter search tool with full schema coverage and an output schema, the description is nearly complete. The main missing element is explicit guidance on when to prefer this tool over sibling tools like check_drug_registration.

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 description coverage is 100%, so the schema already documents both parameters. The description essentially restates that query is a search string by trade name or INN and does not add meaningful detail beyond 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 states a specific action — searching the GRLS registry by trade name or INN — which clearly identifies it as a search tool. It does not explicitly differentiate it from sibling tools like check_drug_registration, but the core purpose is unambiguous.

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 implies usage: search when you have a trade name or INN. It adds useful context that the result is informational rather than medical advice and that the Pro tariff applies, but it gives no explicit exclusions or comparisons with sibling tools.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observedcheck_drug_registration
    • First observedcheck_recall
    • First observedget_drug_card
    • First observedget_instruction
    • First observedget_zhnvlp_price
    • First observedsearch_drug

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation4/5

Most tools target distinct resources: search, drug details, registration status, pricing, recalls, and instructions. However, check_drug_registration and get_drug_card both surface status and holder information and accept similar query parameters, so their boundaries could be clearer.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using check_, get_, or search_. There is no mixing of naming conventions or vague action-only verbs.

Tool Count5/5

Six tools is well-scoped for a read-only pharmaceutical registry server. Each tool covers a meaningful query type without unnecessary redundancy or bloat.

Completeness3/5

Core registry lookups are covered: search, drug card, registration status, pricing, and recalls. However, get_instruction is a non-functional stub that always returns ready=false, so instruction retrieval is a notable gap in the surface.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides access to the official FDA DailyMed database for comprehensive drug information, including drug labels, NDC codes, RxNorm mappings, pharmacologic classifications, and FDA application numbers through natural language queries.
    28
    3
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides comprehensive pharmaceutical intelligence by integrating real-time openFDA data with locally-cached Orange Book and Purple Book databases. It enables users to analyze drug safety, patents, generic equivalents, biosimilars, and regulatory information through natural language queries.
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for verifying Russian counterparties (legal entities and individual entrepreneurs) via public Federal Tax Service data: EGRUL/EGRIP, bankruptcy registry (EFRSB), Transparent Business, bailiff service (FSSP), and arbitration courts (KAD).
    8
    15
    MIT