meddata について
meddataはMedData APIをツールとして提供するMCPサーバーで、MCPクライアントから薬やサプリメントの情報、相互作用を調べられます。情報源に記載がない結果と、対象外の組み合わせを区別し、評価根拠も返します。
主な機能
- 01ブランド名・一般名で薬を検索
- 02RxCUIまたはNDCで薬の情報を取得
- 03サプリメント検索とファクトシート取得
- 04薬とサプリメントの相互作用を確認
- 05根拠付きで服用ルーティンを評価
- 06利用状況とプラン上限を確認
活用シーン
- 01薬の詳細プロフィールを取得
- 02薬とサプリメントの組み合わせを確認
- 03ルーティン評価の参照元を確認
- 04請求期間内の利用状況を確認
MCP 対応
薬、サプリメント、相互作用に関するMedData APIの検索機能をツールとしてMCPクライアントに公開します。stdioとstreamable-HTTPに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MedData MCP サーバー
mcp-name: io.github.anthesiallc/meddata
Model Context Protocol サーバーです。MedData API をツールとして公開するため、MCP クライアント(Claude Desktop、Cursor、ChatGPT コネクター、エージェントフレームワークなど)から、薬や サプリメントのデータを検索し、相互作用を会話形式で確認できます。
薄いラッパーです。各ツールは MedData REST エンドポイントを 1 つずつ呼び出します。データに関する処理はすべて API 側で行われます。
ツール
| ツール | 機能 |
|---|---|
search_drugs | ブランド名または一般名で薬を検索し、RxCUI と詳細を返します |
get_drug | RxCUI による薬の全プロフィール |
get_drug_by_ndc | NDC 包装コードによる薬のプロフィール |
search_supplements | 名前でサプリメントを検索し、サプリメント ID を返します |
get_supplement | ID によるサプリメントの完全なファクトシート |
check_interactions | 薬やサプリメントを混在させた 2~10 件のリストにおける相互作用 |
assess_routine | ルーティンの完全な評価:ペアごとの対象範囲、情報源、タイミング、食事条件 |
get_usage | 現在の請求期間の使用量とプラン上限 |
check_interactions と assess_routine の違い
check_interactions は相互作用をフラットなリストで返します。assess_routine
は判断の根拠を返します。送信された各名称が何に解決されたか、すべてのペアについて何を参照したか、各結果の根拠となる文書がわかります。結果を表示するだけでなく、説明したり、それに基づいて行動したりする場合に利用してください。
最も重要な違いは pairs_checked[].status にあります。
| status | 意味 |
|---|---|
finding | 根拠のある結果が 1 件以上あり、findings[] に記載されています |
no_finding_in_sources | この種のペアを対象とする情報源を参照しましたが、該当する情報はありませんでした。結果がないことは安全性の証拠ではありません |
not_covered | この種のペアを対象とする情報源がないため、評価されていません。サプリメント同士のペアのほとんどはここに該当します |
unresolved | 項目を解決できなかったため、確認できませんでした |
not_covered と no_finding_in_sources は異なる結果であり、空のフラットリストでは違いがわかりません。
assess_routine には class_matching も指定できます(デフォルトではオフ)。有効にすると、薬は、記載されている薬名だけでなく、サプリメントの記録に示された治療クラスにも一致します。該当する結果には basis.level: "class" が付与され、クラス名も示されるため、推定による一致と明示的な一致を区別できます。結果には、情報源が送信内容にどの程度一致するかを示す basis.level(formulation/ingredient/class)、3 状態の timing と food の条件も含まれます。情報が記載されていない場合は「影響なし」ではなく not_documented とされます。また、文書のバージョンと原文の抜粋を含む references[] もあります。
API キーを取得する
無料プランでは月 250 回まで利用でき、クレジットカードは不要です。
curl -X POST https://meddata.anthesia.io/api/v1/signup \
-H 'Content-Type: application/json' \
-d '{"email":"[email protected]"}'
キーはレスポンスの api_key フィールドに返されます。
インストールと実行
最も簡単な方法は uv を使用することです(手動での venv 作成は不要です)。
# stdio transport (default — for Claude Desktop, Cursor, most local clients)
MEDDATA_API_KEY=md_your_key uvx meddata-mcp
# streamable-HTTP transport (for remote / web clients)
MEDDATA_API_KEY=md_your_key uvx meddata-mcp --http
または、専用の環境に pip でインストールします。
pip install meddata-mcp
MEDDATA_API_KEY=md_your_key meddata-mcp
注:専用の環境にインストールしてください。
mcpSDK が必要とするstarletteのバージョンは、MedData API アプリで指定されているものより新しいため、同じ環境にインストールすると競合します。
環境変数:
MEDDATA_API_KEY(必須)— MedData API キーです。MEDDATA_BASE_URL(任意)— デフォルトはhttps://meddata.anthesia.ioです。MEDDATA_TIMEOUT(任意)— リクエストのタイムアウト時間(秒)です。デフォルトは30です。
クライアントの設定
Claude Desktop
claude_desktop_config.json に追加します(Settings → Developer → Edit Config)。
{
"mcpServers": {
"meddata": {
"command": "uvx",
"args": ["meddata-mcp"],
"env": { "MEDDATA_API_KEY": "md_your_key" }
}
}
}
Cursor
同じブロックを ~/.cursor/mcp.json(またはプロジェクトの .cursor/mcp.json)に追加します。
Smithery(ホスト型、インストール不要)
このサーバーは Smithery でホストされているため、Smithery に対応した MCP クライアントは何もインストールせずに接続できます。Smithery の設定に MedData API キーを入力すると、サーバーに接続されます。
LangChain / LangGraph
LangChain または LangGraph のエージェントは、
langchain-mcp-adapters を通じてこれらのツールを使用できます。
# pip install langchain-mcp-adapters langgraph "langchain[anthropic]"
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient(
{
"meddata": {
"transport": "stdio",
"command": "uvx",
"args": ["meddata-mcp"],
"env": {"MEDDATA_API_KEY": "md_your_key"},
}
}
)
tools = await client.get_tools()
# hand `tools` to a LangGraph/LangChain agent, e.g.
# from langgraph.prebuilt import create_react_agent
# agent = create_react_agent("anthropic:claude-opus-4-8", tools)
LlamaIndex でも、MCP ツール仕様を通じて同様に使用できます。
ソースから開発する
git clone https://github.com/anthesiallc/meddata-mcp && cd meddata-mcp
python -m venv .venv
.venv/Scripts/python -m pip install -e ".[http]" # Windows; [http] adds uvicorn for --http
# .venv/bin/pip install -e ".[http]" # macOS/Linux
MEDDATA_API_KEY=md_your_key .venv/Scripts/python -m meddata_mcp.server
注意事項
- データは情報提供のみを目的としており、医療上の助言ではありません。
- 相互作用データは信頼できる医療データベースから取得しています。結果が空の場合、それらの情報源で見つからなかったことを意味し、組み合わせの安全性が証明されているわけではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。