med-lit-mcp
Provides tools for searching PubMed literature with filters such as author, journal, year, and study design, and for fetching full abstracts by PMID.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@med-lit-mcpSearch PubMed for recent systematic reviews on diabetes prevention"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
med-lit-mcp
An MCP server to cut down the time clinicians spend "looking things up." It lets you search PubMed, clinical trials, drug information, clinical practice guidelines, and the medical fee schedule master directly from Claude.
A U.S. survey found that physicians spend 1.5–2 hours on administrative tasks and paperwork for every hour of patient care. Part of that time goes to checking the literature, package inserts, and regulations. This server targets exactly that.
What this server does not do
This software is not a medical device software (SaMD). Under the PMD Act, regulatory applicability is determined by "the degree of contribution to medical judgment" and "risk (harm in the event of a malfunction)." This server only points to the location of primary information and makes no medical judgment, so it stays within scope of non-applicability.
By design, it does not:
Present a diagnosis or list differential diagnoses
Recommend treatment plans, drug choices, or dosages
Make interpretations based on lab results or images
Summarize/translate abstracts or package inserts, extends the original text
All it returns is the source and the original text. Medical judgment is the responsibility of the clinician.
This policy is enforced in code. src/med_lit_mcp/guard.py contains patterns of prohibited language, and tests verify that server-generated text (tool descriptions, disclaimers, error messages) does not contain expressions that suggest a medical decision.
Related MCP server: MeSH MCP
What data it handles
It does not handle any patient personal information. What is sent externally is only the search keyword. Communication is restricted to the four hosts below; any other destination raises an exception (see ALLOWED_HOSTS in http.py).
Host | Use |
| PubMed (NCBI E-utilities) |
| ClinicalTrials.gov API v2 |
| KEGG DRUG (drug information) |
| Medical fee schedule information service (master) |
Retrieved results are cached in local SQLite (default ~/.cache/med-lit-mcp/). Once a medical fee schedule master is imported, those searches work without a network.
Installation
uvx --from git+https://github.com/fc0web/med-lit-mcp med-lit-mcpAlternatively, clone it:
git clone https://github.com/fc0web/med-lit-mcp
cd med-lit-mcp
uv sync
uv run med-lit-mcpRegistration with Claude Desktop / Claude Code
Add it manually to either claude_desktop_config.json (Claude Desktop) or .mcp.json (Claude Code):
{
"mcpServers": {
"med-lit": {
"command": "uvx",
"args": ["--from", "git+https://github.com/fc0web/med-lit-mcp", "med-lit-mcp"],
"env": {
"NCBI_EMAIL": "you@example.com"
}
}
}
}For Claude Code, you can also register it with:
claude mcp add med-lit -- uvx --from git+https://github.com/fc0web/med-lit-mcp med-lit-mcpTools
Tool | Description |
| PubMed search. Filter by author, journal, year, and study design (RCT / meta-analysis / systematic review, etc.) |
| Get the full abstract by PMID. Keep the sections of a structured abstract. |
| ClinicalTrials.gov search. Filter by condition, intervention, availability, and country |
| Search clinical practice guidelines. Filters with PubMed |
| Drug search by generic or brand name (includes KEGG DRUG and Japanese Pharmacopoeia-listed drugs) |
| Drug details (classification, target, metabolism, interactions) |
| Import a medical fee schedule master (first time only) |
| Search point values and drug prices (works offline) |
| Check the imported master and coverage date |
Usage examples
「オルフォルグリプロンの第3相試験を、2025年以降のRCTに絞って探して」
→ search_pubmed(term="orforglipron", year_from=2025, study_types=["rct"])
「初診料の点数を調べて」
→ import_shinryo_master(kind="shinryo") # 初回のみ
→ search_shinryo_hoshu(term="初診料")Settings (environment variables)
Variable | Default | Description |
| None | When set, NCBI rate limit increases from 3 to 10 req/s |
| None | Contact email that NCBI recommends providing. Recommended. |
|
| Set to |
|
| HTTP timeout (seconds) |
|
| cache directory |
No API key is needed. When the rate limit is exceeded, the server waits and retries rather than throwing an exception.
When using a corporate proxy or a self-signed CA
MCP clients launch the server as a subprocess and only pass a minimal set of environment variables. If your corporate network relies on a private CA, TLS verification may fail. Be sure to set them explicitly in the configuration's env:
"env": {
"SSL_CERT_FILE": "/path/to/ca-bundle.crt",
"REQUESTS_CA_BUNDLE": "/path/to/ca-bundle.crt",
"HTTPS_PROXY": "http://proxy.example.jp:8080"
}What it can't do (honestly)
Full-text search of the Minds guideline library. Minds renders search results in the browser and has no public API. It is technically possible to fetch it with a headless browser, but it's fragile under specification changes and terms of use are not clear, so v0.1 only provides the Minds search URL.
Full-text body of PMDA package inserts. There is likewise no public API, so KEGG is the primary source and the PMDA search URL is made available. For clinical use, always refer to the PMDA's official package inserts.
Master data for dentistry and dispensing. v0.1 covers three categories only: medical procedures, drug products, and specific medical devices.
Development
uv sync
uv run pytest # 外部APIを叩かないテスト
uv run pytest -m live # 実APIへの疎通テスト
uv run ruff check .Sources
License
MIT
Disclaimer
This software does not provide medical device software. It is not intended for diagnosis or treatment decisions, and the user is solely responsible for final verification of the output. Because regulations, fee schedules, drug prices, and guidelines are subject to change, always confirm with primary sources in practice.
Available Tools
9 toolsfetch_drug_entry医薬品詳細取得A
KEGG IDを指定して医薬品の詳細(一般名・商品名・分類・標的・相互作用など)を取得します。search_drug で得た kegg_id を渡してください。
| Name | Required | Description | Default |
|---|---|---|---|
| kegg_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
アノテーションが一切ないため、説明文が動作に関する負担をすべて負う。「取得します」は読み取り操作を示すが、認証の必要性、ネットワークアクセス、レート制限、エラー時(IDなしなど)の動作、部分的なデータ/返り値の形式については明示されていない。破壊的な動作のヒントはないが、読み取り専用のヒントや外部副作用の開示もない。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
「KEGG IDを指定して」という文が先頭で、資源が明確になっており、日本語として簡潔で1文のみで、無駄な言葉はない。パラメータの手順や代替手段の詳細を盛り込む必要性に欠ける、整った構造である。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
入力は低複雑度(必須パラメータ1つのみ)で、出力スキーマも存在するため、返却値の構造は自己記述的。ただし、記述にはツールのエラーの動作(「見つからない場合は0件や空を返す」)や外部依存(KEGG REST API、ネットワーク認証、レート制限など)については書かれておらず、これらは実行時には不明な点となる。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
入力スキーマは kegg_id(文字列)のみでカバレッジ0%。説明文は「KEGG IDを指定」とだけ述べており、スキーマの名前と同じで実質的な意味を追加していない。唯一の追加情報は「search_drugで得たkegg_idを渡してください」というメタ手順の指示で、データ形式やフォーマット、IDの由来は説明されていない。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
「KEGG IDを指定して医薬品の詳細(一般名・分類・標的・相互作用など)を取得します」は、具体的な動詞「取得」とリソース「医薬品詳細」、および一意の識別子「KEGG ID」を明示しており、ツールの目的は明確。姉妹ツール search_drug はリスト取得用であることが「search_drugで得たkegg_idを渡してください」の記述から差別化されている。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
「search_drugで得たkegg_idを渡してください」という記述が、直近の検索フローからのIDを渡すワークフローを示しており、使用タイミングは暗黙に示されている。ただし、代替案や不使用条件は明示されていないものの、このワークフローの示唆は十分に明確である。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_pubmed_abstractPubMed 抄録取得A
PMIDを指定して抄録の全文と書誌情報を取得します。抄録は原文のまま返します(要約・翻訳・解釈は行いません)。構造化抄録はセクションごとに分けて返します。
| Name | Required | Description | Default |
|---|---|---|---|
| pmids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does well: it states the abstract is returned verbatim with no summarization/translation/interpretation, and that structured abstracts are split by section. It does not cover failure modes or edge cases such as missing abstracts, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each adding distinct information: retrieval scope, verbatim behavior, and structured-abstract handling. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch-by-ID tool with an output schema available, the description covers the main behavioral facts and return characteristics. It lacks guidance on invalid/missing PMIDs or array size behavior, but those are minor against an otherwise complete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description only minimally compensates by saying 'specify PMID'. It does not clarify that pmids accepts an array, what counts as a valid PMID, or any limits; however, the single parameter's name and type are semantically obvious.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('取得します') and resource ('抄録の全文と書誌情報') keyed to PMIDs, making the operation concrete. It is clearly distinct from sibling search_pubmed, which searches rather than fetches by ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for when PMIDs are already known, but it does not explicitly state that search_pubmed should be used to discover PMIDs or exclude alternative retrieval paths. Usage context is only inferred, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_guideline診療ガイドライン探索A
あるトピックの診療ガイドラインを探します。PubMedを guideline[pt] で絞った結果と、Mindsガイドラインライブラリの検索URLを返します。Mindsは検索結果をブラウザ側で描画しており機械的に取得できないため、URLの提示に留めています。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| topic | Yes | ||
| year_from | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly reveals an important limitation: Minds search results are rendered in-browser and cannot be mechanically retrieved, so only a URL is provided. It also states the output structure (PubMed results and a Minds URL). This goes beyond what an agent could infer from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with two clauses that convey purpose, method, and a key limitation. Every phrase earns its place, and the limitation about Minds is essential behavioral context. Slightly more could be said about parameters, but that is a completeness concern, not a conciseness issue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists (relieving the need to describe return values), the description omits parameter usage details (limit, year_from) and any differentiation from sibling tools. Given the tool's moderate complexity (3 parameters, one required) and the lack of annotations, this is a notable gap. The description covers the core purpose and one behavior limitation, but not enough for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (0% coverage), so the description must compensate. It addresses 'topic' implicitly ('あるトピック') but does not explain 'limit' (default 20) or 'year_from' (nullable) at all. Two of three parameters lack semantic meaning beyond their names and types, leaving agents to guess their effect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: finding clinical practice guidelines for a topic. It specifies the resource (PubMed with guideline[pt] filter) and the Minds guideline library, and mentions the output is results plus a URL. This differentiates it from siblings like search_pubmed, which likely handles general PubMed searches, even though no explicit comparison is made.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It does not reference sibling tools such as search_pubmed or fetch_drug_entry, nor does it state conditions or exclusions. The purpose implies use for guideline searches, but the usage context is not articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_shinryo_master診療報酬マスター取り込みA
診療報酬情報提供サービスから公式マスターを取得してローカルDBに取り込みます。初回のみ実行が必要で、以後の検索はオフラインで動きます。kind: shinryo(医科診療行為)/ iyakuhin(医薬品)/ tokutei(特定器材)。
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | shinryo | |
| force | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 primary effect (fetch and import) and the one-time nature, but fails to disclose the 'force' parameter semantics, whether imports overwrite existing data, potential network/time requirements, or any side effects on the local DB. This is a significant transparency gap for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, three short sentences, with the main action front-loaded, followed by a clear usage hint, then a compact parameter list. Every sentence contributes value, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is simple (2 params, output schema exists), the description covers the core purpose, the one-time setup role, and kind values, which is adequate for basic invocation. However, it omits the force semantics, explicit guidance on when to use versus alternatives, and any prerequisites like network access, leaving gaps that an agent would need to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains 'kind' with its three enum values (shinryo, iyakuhin, tokutei) and their meanings, but it does not describe the 'force' parameter at all. Half of the parameters are left unexplained, and the description only partially compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the official master from the medical fee information service and imports it into the local DB, with a specific verb and resource. It also differentiates from search siblings by explicitly noting it is a one-time setup action and that subsequent searches work offline, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: '初回のみ実行が必要' (needs to be executed only once initially) and states that subsequent searches work offline, implying it should be run before using search tools. However, it does not explicitly name alternative tools or state when not to use this tool, so it stops short of fully explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_clinical_trials臨床試験検索B
ClinicalTrials.gov を検索します。疾患・介入・実施状況・相・国で絞り込めます。進行中の試験や、ある薬剤がどの段階にあるかを確認するのに使います。
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | ||
| limit | No | ||
| phase | No | ||
| status | No | ||
| country | No | ||
| condition | No | ||
| intervention | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it only states the basic search-and-filter function. It doesn't describe behavior of the 'limit' parameter, pagination, whether it's a live external API call, failure modes, or the result-set behavior — all significant for a tool with a default limit and externally sourced data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences in Japanese with zero waste: function first, filter dimensions second, use cases last. Every sentence earns its place and the structure is front-loaded with the core action. Appropriately sized for a search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values don't need explanation. The description adequately covers the tool's purpose and main filter dimensions, but gaps remain: 'term' and 'limit' semantics are undocumented, and the accepted values for phase/status are unspecified. Adequate for a filtered search tool, but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, placing the full burden on the description. It does map five of the seven parameters to filter dimensions (condition, intervention, status, phase, country), but it omits 'term' and 'limit' and provides no acceptable value formats for phase/status. With no enums in the schema either, an agent has no concrete guidance for populating those fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('searches ClinicalTrials.gov') and lists its filtering dimensions (disease, intervention, status, phase, country). It also gives concrete use cases — checking ongoing trials and a drug's development stage. It doesn't name siblings explicitly, but the resource and use cases clearly mark it as the clinical-trial search tool among the drug/pubmed/guideline siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The final sentence explicitly states when to use it ('to check ongoing trials and at what stage a drug is at'), providing clear usage context. However, it offers no exclusions and doesn't name alternatives like search_drug or search_pubmed, so an agent must infer the boundary between this and related search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_drug医薬品検索A
一般名・商品名から医薬品を検索します(KEGG DRUG)。日本薬局方の収載状況や日本の商品名も引けます。添付文書の本文はPMDAで確認する必要があるため、検索URLを併記します。
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 a key behavioral trait: the tool does not return package insert full text but includes a PMDA search URL instead. It also reveals the data source (KEGG DRUG) and the ability to return JP listing status and brand names. This goes beyond simple action framing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences in Japanese, front-loading the primary action and then adding a crucial limitation (PMDA URL). Every sentence contributes meaningful information with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with two simple parameters and an output schema, the description covers the essential aspects: what is searched, the data source, and a notable limitation. It does not detail the expected output structure, but the output schema likely handles that. Minor gaps like parameter usage for 'limit' are understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage, so the description must compensate. It explains that the search term can be a generic or brand name, which directly clarifies the 'term' parameter. However, it does not address the 'limit' parameter; its meaning is only inferable from the default value. Since one of two parameters is clarified, this partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: searching for drugs by generic or brand name, backed by the KEGG DRUG database. It also specifies additional capabilities (Japanese Pharmacopoeia status, brand names) and names the data source, making it distinct from sibling tools like search_pubmed or find_guideline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly establishes when to use this tool (for drug name lookups) and provides a clear limitation: full package insert text is not provided; instead, a search URL to PMDA is returned. This effectively tells the agent that for full text, it should consult PMDA directly, but it does not explicitly name alternative sibling tools or state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pubmedPubMed 文献検索A
PubMedを検索して書誌情報の一覧を返します。キーワード・著者・雑誌・年・研究デザインで絞り込めます。抄録の全文が必要なときは fetch_pubmed_abstract を続けて呼んでください。結果には必ず出典URLと取得日時が付きます。
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | relevance | |
| term | Yes | ||
| limit | No | ||
| author | No | ||
| journal | No | ||
| year_to | No | ||
| year_from | No | ||
| study_types | No | ||
| free_full_text | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 that results include source URL and acquisition datetime, and implies that full abstracts are NOT returned by directing to fetch_pubmed_abstract. This is useful behavioral context. It doesn't mention rate limits or pagination, but these are less critical for a search tool and may be covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, each adding value. The purpose is front-loaded, the filtering options are summarized, and the follow-up action is clearly stated. There is no redundant or filler language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, 1 required) and the presence of an output schema, the description covers the essential information: purpose, key filtering capabilities, and a usage hint for abstracts. It doesn't explain every parameter or edge case, but the schema and output schema likely cover return details. Overall, it is sufficiently complete for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists the conceptual filter dimensions (keyword, author, journal, year, study design), which maps to most parameters. However, it doesn't mention sort, limit, or free_full_text, though those are somewhat self-evident. The high-level mapping is helpful but not exhaustive, leaving some parameter details to the schema names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a search over PubMed and returns a list of bibliographic information. It uses a specific verb ('search'), a specific resource ('PubMed'), and an explicit outcome, which distinguishes it from sibling tools like search_clinical_trials and search_drug. It also names fetch_pubmed_abstract as a follow-up, reinforcing its role as the search step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs when to call fetch_pubmed_abstract next, providing a clear workflow. While it doesn't explicitly say when NOT to use other search tools, the focus on PubMed and the mention of abstract retrieval as a separate step is enough to guide usage. It could be improved by explicitly naming alternative search tools, but the main alternative is covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_shinryo_hoshu診療報酬・薬価検索C
取り込み済みの診療報酬マスターを検索します。名称・カナ・コードで引けます。ネットワークを使わないためオフラインでも動作します。点数は改定で変わるため、収載ファイル名を結果に添えています。
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | shinryo | |
| term | Yes | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral disclosure burden. It discloses two relevant behaviors: it works offline (no network) and it attaches the included file name to results to indicate version due to fee revisions. It does not mention error handling, pagination, or the prerequisite that the master must be imported, though the latter is implied. Given the absence of annotations, a score of 3 is appropriate—it reveals some key traits but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short Japanese sentences, each contributing a distinct fact: purpose, offline availability, and result metadata. It is front-loaded with the core purpose and does not contain fluff. It could be slightly more structured (e.g., listing parameters), but it is appropriately concise for its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description leaves out essential context for correct invocation. It does not explain what each 'kind' value means, which is critical for selecting the right search scope. It also doesn't clarify that data must be imported first (though '取り込み済み' implies it) and doesn't reference the sibling shinryo_master_status for checking readiness. The output schema exists, so return value structure is likely covered, but the missing parameter semantics and prerequisite context make this incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains that the 'term' parameter can be a name, kana, or code, which adds value. However, it does not explain the 'kind' parameter (shinryo, iyakuhin, tokutei) or the 'limit' parameter beyond their schema defaults. The enum values are left undefined, and no examples are given, leaving the agent to infer their meaning. Partial coverage only, hence a low score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search' and the resource 'ingested medical fee master', and specifies search criteria (name, kana, code). It also notes offline operation, which helps differentiate it from network-dependent search alternatives like search_drug. However, it doesn't explicitly name sibling tools or clarify that it covers both medical fees and drug prices (though the title implies this), so it stops short of a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use or when-not-to-use guidance. It mentions offline capability and that results include a file name, but does not indicate when to prefer this over sibling tools like search_drug or fetch_drug_entry. The context that data must be ingested is only implicit via '取り込み済み' (ingested).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shinryo_master_statusマスター取り込み状況A
ローカルに取り込み済みの診療報酬マスターの一覧と収載日を返します。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations were provided, so the description carries the full disclosure burden. It discloses that the tool is a read-style status query returning a list with publication dates, which is implicitly non-mutating. However, it does not explicitly state read-only behavior, permissions needed, or any quirks about the returned data. The behavior described is minimal but consistent with the tool's apparent nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tight sentence that states the purpose and return content with zero wasted words. The key information (returns locally-imported master list and publication dates) is front-loaded and immediately actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the tool has no parameters, so the description need not explain return values or arguments in depth. For a simple status-query tool this is largely sufficient. The only minor gap is not mentioning the expected pattern of pairing with import_shinryo_master, but for a zero-parameter read tool this is a small omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is trivially 100%, so there is nothing for the description to add about argument semantics. The baseline for a zero-parameter tool is 4, and the description appropriately focuses on the return value instead of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('返します' - returns) and resource (診療報酬マスターの一覧), scoped to locally-imported masters with their publication dates. It implicitly distinguishes itself from siblings like import_shinryo_master (which imports) and search_shinryo_hoshu (which searches billing codes), since this tool reports ingestion status rather than performing those actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to use this tool versus alternatives. The natural counterpart, import_shinryo_master, is a sibling but the description never points to it or explains that this tool is for verifying what has been ingested before importing/searching. Usage context is only implied, not stated.
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. Dates show when Glama detected each change.
9 tool updates
v0.1.0- First observed
fetch_drug_entry - First observed
fetch_pubmed_abstract - First observed
find_guideline - First observed
import_shinryo_master - First observed
search_clinical_trials - First observed
search_drug - First observed
search_pubmed - First observed
search_shinryo_hoshu - First observed
shinryo_master_status
TDQS
Each tool targets a distinct resource and action: drug entries, PubMed searches, abstract retrieval, clinical trial search, guideline discovery, drug search, and shinryo master operations are all clearly separated. Even the two drug-related tools (search_drug and fetch_drug_entry) have a clear search-then-fetch workflow, avoiding overlap.
The naming follows a mostly consistent pattern with verb prefixes (search_, fetch_, import_, find_), though shinryo_master_status deviates by being a noun phrase instead of an action. Minor inconsistency with 'find_guideline' versus 'search_' but overall the pattern is predictable and readable.
With 9 tools, the server is well-scoped for its purpose of medical literature and drug/reimbursement information retrieval. Each tool covers a distinct domain or step in a workflow, and the count feels neither bloated nor insufficient for the stated functionality.
The surface covers the main workflows: drug search/detail, PubMed search/abstract, clinical trial lookup, guideline discovery, and shinryo master management. Minor gaps exist, such as lacking full-text article retrieval beyond abstracts or direct PMDA label fetching, but these are acknowledged as external limitations and agents can work around them.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search 36M+ PubMed biomedical articles and ClinicalTrials.gov studies.
Medical RAG: semantic search for clinical guidelines, drug interactions, diagnoses & EHR data.
Medical RAG: semantic search for clinical guidelines, drug interactions, diagnoses & EHR data.
Ground answers in scientific literature. Search full text, evaluate trust, access full-text articles
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to search and retrieve biomedical research articles from PubMed's database of over 35 million citations, including metadata, abstracts, MeSH terms, and full-text PDFs when available.11MIT
- AlicenseAqualityDmaintenanceConnects Claude to the U.S. National Library of Medicine MeSH APIs to search and retrieve medical authority data, descriptors, and qualifiers. It enables library and metadata staff to perform subject analysis and confirm terminology within an AI-assisted cataloging workflow.41GPL 3.0
- FlicenseAqualityDmaintenanceProvides Claude Code with access to peer-reviewed medical information from MedlinePlus and StatPearls, and acts as an unlicensed diagnostic medical expert for educational purposes.61-
- AlicenseAqualityBmaintenanceEnables searching for scientific papers across OpenAlex, CrossRef, and Unpaywall, and downloading open-access PDFs directly through Claude Desktop.51MIT
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/fc0web/med-lit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server