Claude Media
SNOMED CTをClaudeに連携する方法 — 認証不要で15ツールを使う手順

SNOMED CTをClaudeに連携する方法 — 認証不要で15ツールを使う手順

SNOMED International公式のSNOMED CT Terminologyコネクタを、サインインなしでClaudeに追加する手順です。15ツールの役割、Claude Codeの追加コマンド、用語検証の頼み方を示します。

SNOMED CTの用語をClaudeに引かせるなら、SNOMED Internationalが公開しているコネクタ「SNOMED CT Terminology」を追加します。接続先は https://snowstorm-mcp.snomedtools.org/mcp で、サインインは不要です。アカウントもAPIキーも用意せずに、コードの検索、存在確認、階層の上下移動、ECLによる値集合の展開をClaudeの会話から実行できます。

SNOMED CTは、80か国以上の電子カルテで使われている臨床用語体系です。この記事では、追加の手順、15個のツールの役割、Claude Codeでの追加コマンドと権限設定、用語の検証を任せるときの頼み方を順に扱います。

このコネクタで何ができるか

Connectors Directoryのページは、作成元をSNOMED Internationalとし、掲載日を2026年6月、サインインを不要と表示しています。機能は次の5つに整理できます。

  • コードまたは名前で概念を引く
  • コードが存在し、有効(active)であることを検証する
  • 概念同士の包含関係(subsumption)を判定する
  • 階層をたどる(祖先、子、子孫)
  • ECL(Expression Constraint Language)で値集合を展開する

International版、US版、オーストラリア版など、接続先のバックエンドが持つ版を横断して使えます。接続先はSnowstormという用語サーバーで、コネクタはその前に立つステートレスなプロキシです。ページには、クエリの内容や個人データをリクエストの合間に保持しないと書かれています。

全ツールが読み取り専用です。用語データを書き換える操作はなく、Claudeが誤って変更を加える経路がありません。

追加の手順

ディレクトリに載っているので、カスタムコネクタのURL入力は要りません。サポート記事の手順に沿って追加します。

手順

ディレクトリからSNOMED CT Terminologyを追加する流れ

  1. 1

    コネクタ一覧を開く

    チャット欄の「+」から「Connectors」の「Manage connectors」を選ぶか、「Customize > Connectors」を開きます。「+」を押すと、カテゴリ別の一覧に進みます。

  2. 2

    SNOMED CT Terminologyを選ぶ

    分類は「Health & life sciences」です。説明と機能を確認して「Connect」または「Install」を押します。

  3. 3

    認証画面は出ない

    ページの表示は「Sign-in: Not required」で、ログインのための手順は載っていません。追加が済んだら、会話で有効にします。

  4. 4

    会話でコネクタをオンにする

    チャット欄の「+」から「Connectors」を開き、SNOMED CT Terminologyをオンにします。

TeamプランとEnterpriseプランでは、OwnerまたはPrimary Ownerが「Organization settings > Connectors」で先に組織に追加します。追加しても全員が自動で使えるわけではなく、各メンバーが接続操作を行う点は他のコネクタと同じです。

ディレクトリのページには、開発元の信頼性に関する注意も載っています。コネクタは信頼できる開発元のものだけを使い、提供されるツールの内容はAnthropicが管理していない、という趣旨です。

15個のツールの役割

ツール名の一覧はディレクトリのページに、各ツールの説明はGitHubのREADMEにあります。READMEの表をもとに分類すると、次のとおりです。

区分ツール役割
接続の確認ツールlist_terminologies役割使える用語体系(版)と既定の版を返す
接続の確認ツールserver_health役割指定した用語体系の到達性と機能を確認
接続の確認ツールserver_capabilities役割バックエンドの詳細情報
接続の確認ツールfhir_metadata役割FHIRのCapabilityStatementの要約
検索と検証ツールsnomed_expand役割FHIRの ValueSet/$expand。ECLに対応
検索と検証ツールsnomed_lookup役割FHIRの CodeSystem/$lookup
検索と検証ツールsnomed_validate_code役割FHIRの CodeSystem/$validate-code
検索と検証ツールsnomed_subsumes役割FHIRの CodeSystem/$subsumes
階層ツールsnomed_get_ancestors役割IS-A階層をたどり祖先を返す
階層ツールsnomed_get_children役割直接の子
階層ツールsnomed_get_descendants役割すべての子孫
Snowstorm専用ツールsnowstorm_list_codesystems役割コードシステムの概要
Snowstorm専用ツールsnowstorm_list_versions役割コードシステムの版
Snowstorm専用ツールsnowstorm_search_concepts役割用語による概念検索
Snowstorm専用ツールsnowstorm_get_concept_native役割シノニムを含む概念の詳細

READMEは、全ツールが任意の terminology 引数を受け取ると説明しています。"snomedct-us" のように版を指定でき、省略すると既定の版が使われます。多くのツールは、接続先を絞る target 引数も受け取ります。

最後の4つは、READMEの表で「Snowstorm only」とされているツールです。ディレクトリのページは15個すべてを掲載していますが、手元の接続先でどれが動くかは、先に server_capabilities を呼ばせて確かめるのが確実です。

頼み方の例

READMEには、AIアシスタントが自然な質問にツールで答える3つの例が載っています。同じ型でClaudeに頼めます。以下は例示で、Claudeの実出力ではありません。

頼み方

READMEの使用例に沿った頼み方

  • コードの意味を引く

    「SNOMED CTの概念22298006は何ですか」。READMEでは snomed_lookup に {"code": "22298006"} を渡し、推奨語(preferred term)の "Myocardial infarction" などを受け取る流れです。

  • 包含関係を確かめる

    「2型糖尿病は内分泌疾患の一種ですか」。READMEでは snomed_subsumes に code_a と code_b を渡して、IS-A関係の有無を判定します。

  • 用語から概念を探す

    「心房細動に関連する概念を挙げて」。READMEでは snomed_expand に filter と count を渡し、概念ID、推奨語、有効かどうかを受け取ります。

存在しないコードを渡したときの挙動も、READMEに記載があります。エラーではなく、found: false と「その版・バージョンに見つからない。概念IDを確認するか、用語で検索するように」という旨のメッセージを返す構造化された否定が返ります。Claudeに「見つからない」を「存在しない」と言い切らせず、版を替えて探させる根拠になります。

用語の検証を任せるときのコツ

ここからは、コネクタの仕様を踏まえた運用の工夫です。

記憶で答えさせず、毎回ツールを通す

SNOMED CTは概念IDが数字の羅列で、言語モデルが記憶から出したコードは誤りやすい領域です。マッピング表の下書きやコードの確認では、次のように手順を固定すると、根拠がツールの結果に残ります。

次の用語をSNOMED CTのコードに対応づけてください。
- 先に list_terminologies で使える版を確認する
- 候補は snomed_expand の filter で探し、採用前に snomed_validate_code で有効性を確認する
- コードは記憶から書かない。ツールの結果にあるものだけを表にする
- 見つからない項目は空欄にして「該当なし」と書く
対象: 心房細動、2型糖尿病、急性心筋梗塞

版を指定する

日本の医療情報を扱う場合、接続先が持つ版に日本語の拡張が含まれているかは、ディレクトリのページに記載がありません。READMEが挙げる例はInternational、US、UK、AUなどです。まず list_terminologies で一覧を出させ、使える版を会話に残してから作業に入ると、版違いのコードが混ざりません。

ECLで範囲を決める

値集合は snomed_expand のECLで展開します。READMEの設定例には、ECLの展開が大きくなりすぎないための保護(ガード)があります。展開の大きさを事前に確認するチェック(既定ではオフ)や、結果件数の上限(max_count_per_call の既定値は500)です。これはサーバー実装の設定項目の既定値で、公開中のエンドポイントがどの値で動いているかはページに書かれていません。大きな範囲を一度に求めるより、まず件数だけ確認させ、範囲を絞ってから展開させるほうが安全です。

Claude Codeから使う

Claude Codeでは、リモートのHTTPサーバーとして追加します。公式ドキュメントのコマンド形式は claude mcp add --transport http <name> <url> です。

claude mcp add --transport http snomed \
  https://snowstorm-mcp.snomedtools.org/mcp

追加後は、セッション内で /mcp を開くとサーバーの状態とツールを確認できます。ツールは mcp__<サーバー名>__<ツール名> の形で参照され、ここでは mcp__snomed__snomed_lookup のようになります。

全ツールが読み取り専用なので、毎回の承認が煩わしければ、このサーバーのツールだけを許可できます。許可ルールはツール名のグロブを、リテラルの mcp__<server>__ の接頭辞の後ろに限って受け付けます。

{
  "permissions": {
    "allow": ["mcp__snomed__*"]
  }
}

この設定は .claude/settings.json などの設定ファイルに書きます。READMEとページが読み取り専用と明記している点を根拠にした設定で、別のコネクタには同じ緩め方を広げないでください。

CLAUDE.mdには、コードの扱いについて次のような規約を置くと、コード生成の場面でも記憶の出力を防げます。

## SNOMED CT
- SNOMED CTのコードを書くときは、snomed_validate_code で有効性を確認してから使う
- 確認できなかったコードは、コメントに「未検証」と書いて残す
- 版は list_terminologies で確認し、コードと一緒に版名を記録する

自前の用語サーバーにつなぐ場合

公開エンドポイントではなく、自組織のSnowstormまたはSnowstorm Liteにつなぎたい場合は、GitHubの snowstorm-mcp-server(Apache-2.0)を自分で動かします。READMEには2つの使い方が分かれて書かれています。

使い方内容
ホスト型のリモートコネクタ内容公開HTTPSのMCPエンドポイントを立て、Claudeからカスタムコネクタとしてつなぐ
自前運用・ローカル内容自分のSnowstorm、Snowstorm Liteに対してサーバーを動かす。stdioでClaude Desktopからも使える

Dockerでの起動は、READMEでは docker run -p 8000:8000 --memory=512m --restart=unless-stopped snowstorm-mcp-server の形です。ポート8000でStreamable HTTPモードの待ち受けを始めます。公開する場合の注意点も書かれています。

  • --memory を必ず付ける。付けないとコンテナ暴走がホスト全体に及びうる
  • ブラウザからのリクエストは、Originが許可リストにないと403で拒否される。既定の許可は https://claude.ai と https://claude.com
  • 公開環境では、クライアント単位の流量制限をリバースプロキシ側で行う

1つの設定でSnowstormとSnowstorm Liteを混在させることはできません。Liteは1インスタンスが1つの版を担当するため、複数の版を扱うなら版ごとにインスタンスを立てます。

Claude APIからリモートMCPとして使う場合の書き方は、Claude APIのMCPコネクタで扱っています。

他の医療・研究系コネクタとの使い分け

同じ「Health & life sciences」の関連として、ディレクトリのページはPubMed、Consensus、IHME GBD、Wiley Scholar Gateway、Clinical Trials、Elicitを挙げています。SNOMED CTコネクタは、文献や統計を引くものではなく、臨床用語のコードと階層を正確に引くためのものです。

文献から拾った病名をSNOMED CTのコードに寄せる、治験の適格基準の語をコードで整理する、といったつなぎ方もできます。

使う前に知っておくこと

  • 接続先は用語サーバーであり、診断や治療の助言をするものではありません。コードの存在や関係を確かめる道具として使い、臨床判断の根拠にしないでください
  • 個人を特定できる患者情報を、検索語やプロンプトに含める必要はありません。用語の検索に患者のデータは要りません
  • ツールの一覧は固定ではありません。開発元が提供ツールを変える可能性があるとページ自体が注意しているため、新しいツールが増えた場合は /mcp で現在の一覧を確かめてください
  • 商用の医療システムに組み込む場合は、利用条件を事前にSNOMED Internationalの案内で確かめてください。ここで示した範囲は、ディレクトリのページとREADMEに書かれた機能です
この記事を共有:XはてブLinkedIn