fc0web

med-lit-mcp

Community fc0web
Updated

医療者の 「調べもの」 時間を削る MCP サーバ (v0.1.0)。 PubMed / ClinicalTrials.gov / KEGG DRUG / 診療報酬マスター / ガイドライン検索の 9 tools。 SaMD 非該当、 患者データ扱わず、 出典と原文のみ返す設計

med-lit-mcp

医療者の「調べもの」の時間を削るための MCP サーバです。PubMed・臨床試験・医薬品情報・診療ガイドライン・診療報酬マスターを、Claude から直接引けるようにします。

米国の調査では、医師は診療1時間あたり 1.5〜2時間 を事務と記録に費やしています。その一部が文献・添付文書・制度の確認です。このサーバはそこを狙っています。

このサーバがしないこと

本ソフトウェアは医療機器プログラム(SaMD)ではありません。 薬機法上の該当性は「寄与度(医学的判断への影響の大きさ)」と「リスク(誤作動時の危害)」で判断されます。本サーバは一次情報の所在を示すだけで医学的な判断を行わないため、非該当の範囲に留まります。

設計上、次のことはしません

  • 診断名の提示・鑑別診断の列挙
  • 治療方針・薬剤選択・投与量の推奨
  • 検査値や画像からの所見判定
  • 抄録や添付文書の要約・言い換え(原文のまま返します)

返すのは 出典と原文だけ です。判断は医療者が行ってください。

この方針はコードで担保しています。src/med_lit_mcp/guard.py に禁止表現のパターンを置き、サーバが自ら生成する文(ツール説明・注記・エラーメッセージ)に判断を示唆する表現が混入していないことをテストで検査しています。

扱うデータ

患者の個人情報は一切扱いません。 外部へ送信するのは検索キーワードだけです。通信先は次の4ホストに限定され、それ以外への通信は例外を投げます(http.pyALLOWED_HOSTS)。

ホスト 用途
eutils.ncbi.nlm.nih.gov PubMed(NCBI E-utilities)
clinicaltrials.gov ClinicalTrials.gov API v2
rest.kegg.jp KEGG DRUG(医薬品情報)
shinryohoshu.mhlw.go.jp 診療報酬情報提供サービス(マスター)

取得結果はローカルの SQLite にキャッシュされます(既定 ~/.cache/med-lit-mcp/)。診療報酬マスターを取り込めば、その検索はネットワークなしで動きます。

インストール

uvx --from git+https://github.com/fc0web/med-lit-mcp med-lit-mcp

または clone して:

git clone https://github.com/fc0web/med-lit-mcp
cd med-lit-mcp
uv sync
uv run med-lit-mcp

Claude Desktop / Claude Code への登録

claude_desktop_config.json(Claude Desktop)または .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": "[email protected]"
      }
    }
  }
}

Claude Code なら1行で登録できます。

claude mcp add med-lit -- uvx --from git+https://github.com/fc0web/med-lit-mcp med-lit-mcp

ツール

ツール 内容
search_pubmed 文献検索。著者・雑誌・年・研究デザイン(RCT / メタ解析 / システマティックレビュー等)で絞り込み
fetch_pubmed_abstract PMID から抄録の全文を取得。構造化抄録はセクションごとに保持
search_clinical_trials ClinicalTrials.gov 検索。疾患・介入・実施状況・相・国で絞り込み
find_guideline 診療ガイドライン探索。PubMed の guideline[pt] 絞り込み+Minds 検索URL
search_drug 一般名・商品名から医薬品検索(KEGG DRUG、日本薬局方収載品を含む)
fetch_drug_entry 医薬品の詳細(分類・標的・代謝・相互作用)
import_shinryo_master 診療報酬マスターの取り込み(初回のみ)
search_shinryo_hoshu 点数・薬価の検索(オフライン動作)
shinryo_master_status 取り込み済みマスターと収載日の確認

使用例

「オルフォルグリプロンの第3相試験を、2025年以降のRCTに絞って探して」
  → search_pubmed(term="orforglipron", year_from=2025, study_types=["rct"])

「初診料の点数を調べて」
  → import_shinryo_master(kind="shinryo")   # 初回のみ
  → search_shinryo_hoshu(term="初診料")

設定(環境変数)

変数 既定 説明
NCBI_API_KEY なし 設定すると NCBI のレート上限が 3→10 req/sec に上がります
NCBI_EMAIL なし NCBI が明示を推奨している連絡先。設定を推奨します
MED_LIT_CACHE 1 0 でキャッシュ無効
MED_LIT_TIMEOUT 30 HTTP タイムアウト(秒)
XDG_CACHE_HOME ~/.cache キャッシュの置き場所

APIキーは無くても動きます。レート制限は超過時に例外ではなく待機とリトライで処理します。

社内プロキシ・独自CAを使っている場合

MCP クライアントはサーバをサブプロセスとして起動する際、最小限の環境変数しか引き継ぎません。企業ネットワークで独自の認証局を使っている場合、TLS 検証に失敗することがあります。設定の 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"
}

できないこと(正直に)

  • Mindsガイドラインライブラリの本文検索。Minds は検索結果をブラウザ側で描画しており、公開APIもありません。ヘッドレスブラウザで取りに行くことは技術的には可能ですが、仕様変更に弱く利用条件も明確でないため v0.1 では行わず、検索URLの提示に留めています。
  • PMDA 添付文書の本文取得。同じく公開APIがないため、KEGG を一次ソースとし、PMDA の検索URLを併記しています。添付文書の記載が正であり、実務では必ず PMDA で原文を確認してください。
  • 歯科・調剤マスター。v0.1 は医科診療行為・医薬品・特定器材の3種のみです。

開発

uv sync
uv run pytest              # 外部APIを叩かないテスト
uv run pytest -m live      # 実APIへの疎通テスト
uv run ruff check .

出典

ライセンス

MIT。

免責

本ソフトウェアは医療機器プログラムではありません。診断・治療の判断に用いるものではなく、出力の最終的な確認責任は利用者にあります。制度・点数・薬価・ガイドラインは改定されるため、実務では必ず一次情報で確認してください。

MCP Server · Populars

MCP Server · New

    PSU3D0

    agent-spreadsheet

    MCP server for spreadsheet analysis and editing. Slim, token-efficient tool surface designed for LLM agents.

    Community PSU3D0
    pitiflautico

    NeoBrowser

    MCP server that drives real Chrome with your real logged-in sessions — genuine fingerprint (passes bot.sannysoft), human-like input, bot-wall aware. 43 tools, single static Rust binary.

    Community pitiflautico
    aeonfun

    Aeon MCP Server

    The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget forever.

    Community aeonfun
    nhadaututtheky

    NeuralMemory

    NeuralMemory stores experiences as interconnected neurons and recalls them through spreading activation, mimicking how the human brain works. Instead of searching a database, memories are retrieved through associative recall - activating related concepts until the relevant memory emerges.

    Community nhadaututtheky
    norrietaylor

    Distillery

    Team knowledge evaporates daily — pairing sessions, debugging context, architectural rationale lost to Slack. Distillery captures it at the point of creation, connects it into a living graph, and surfaces it conversationally. It monitors feeds, tracks what matters to your projects, and alerts you before you know to ask. A team brain that learns.

    Community norrietaylor