mcpField
H
Histopathology Annotation MCP

Histopathology Annotation MCP

ローカル
labels.sachin-kale.comヘルスケア02 日前に更新

Histopathology Annotation MCP について

Histopathology Annotation MCP は、AI アシスタントを Image Label に接続し、病理画像などのアノテーションを支援します。GPU 不要で、核検出、セグメンテーション、品質確認、編集、データセットのエクスポートに対応します。

主な機能

  1. 01H&E の核を自動検出
  2. 02SAM と MedSAM による分割
  3. 03スライド品質チェック
  4. 04染色カラーの正規化
  5. 05アノテーション編集と出力

活用シーン

  1. 01H&E 画像から学習データを作成
  2. 02枠や点を基に領域を輪郭化
  3. 03アノテーション前にスライド品質を確認
  4. 04QuPath、COCO、YOLO 形式で出力

MCP 対応

MCP サーバーは、Image Label の画像アップロード、アノテーション、病理解析、エクスポートのツールを MCP クライアントに公開します。stdio と Streamable HTTP に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"sachinbkale27-label-image": {
"command": "uvx",
"args": [
"label-image-mcp"
],
"env": {
"LABEL_USERNAME": "<LABEL_USERNAME>",
"LABEL_PASSWORD": "<LABEL_PASSWORD>",
"LABEL_API_URL": "<LABEL_API_URL>"
}
}
}
}
起動コマンドuvx label-image-mcp
設定が必要な環境変数
LABEL_USERNAMEImage Label account username; leave unset to work as a guest (images kept 7 days, no whole slides)
LABEL_PASSWORDシークレットImage Label account password (only with LABEL_USERNAME)
LABEL_API_URLAPI base URL

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypilabel-image-mcp0.8.1

ツール

8

掲載時のツール一覧 · 1 日前に更新

パラメーター型必須説明
categoryanyいいえ

詳細

病理組織アノテーション MCP

病理組織スライドを含む画像のアノテーション。H&E スライドからトレーニングデータまでを一度の会話で作成できます。核、輪郭、スライドの QC を行い、QuPath、COCO、YOLO にエクスポートできます。GPU は不要です。

Image Label で病理組織などの画像にアノテーションを付けるための MCP サーバーです。Image Label は無料のアノテーションツールです。Claude などの AI アシスタントから、画像のアップロード、H&E スライド上のすべての核の自動輪郭描画(StarDist)、大まかなボックスからの領域のトレース(Segment Anything、医療画像には MedSAM)、スライド品質の確認、染色カラーの正規化、アノテーションの整理、トレーニングデータの COCO JSON、YOLO ラベル、YOLO クラス、QuPath GeoJSON 形式でのエクスポートを行えます。LangGraph エージェントも含まれています。

ブラウザーで試す: https://agent.sachin-kale.com/#annotate:スライドをアップロードしてアノテーションを付けたり、核を検出したり、品質を確認したり、AI による解釈を取得したりできます。セットアップは不要です。

label-image-mcp(PyPI)および io.github.sachinbkale27/label-image-mcp(MCP Registry)として公開されています。

ユースケースとセットアップガイド:https://labels.sachin-kale.com/mcp

LangGraph agent (label-image-agent)      Claude Desktop / Claude Code / any MCP client
              │  langchain-mcp-adapters             │
              └──────────────┬──────────────────────┘
                             ▼
                    label-image-mcp (stdio or HTTP)
                             │
                             ▼
                 Image Label API  (/api/images ...)

アカウント

ツールを使用するには Image Label アカウントが必要です(こちらから申請)。ツールが閲覧、変更、アップロードできるのは、そのアカウントに保存された画像のみです。アカウントがない場合、画像は表示されません。ブラウザー内だけに保存された作業は、ツールからは見えません。

インストール

Claude Desktop: 最新リリースから label-image-mcp.mcpb をダウンロードして開き、求められたらユーザー名とパスワードを入力します。

Claude Code:

claude mcp add label-image -e LABEL_USERNAME=... -e LABEL_PASSWORD=... -- uvx label-image-mcp

任意の MCP クライアント(uv が必要です):

{
  "mcpServers": {
    "label-image": {
      "command": "uvx",
      "args": ["label-image-mcp"],
      "env": { "LABEL_USERNAME": "...", "LABEL_PASSWORD": "..." }
    }
  }
}

エージェントスキル

skills/label-image/SKILL.md では、エージェントがこれらのツールをいつ、どのように使用するかを説明しています。エクスポートに含まれるアノテーションの種類、安全にラベルを整理する方法、画像ごとのエクスポートを一貫したクラス ID を持つ単一の COCO または YOLO データセットに統合する方法(同梱の scripts/merge_exports.py)を学べます。オープンな SKILL.md 形式に準拠しているため、Claude Code や、スキルに対応するその他のエージェントで動作します。

# Claude Code: install for all your projects (or copy into a project's .claude/skills/)
git clone --depth 1 https://github.com/sachinbkale27/label-image-mcp /tmp/label-image-mcp
mkdir -p ~/.claude/skills && cp -r /tmp/label-image-mcp/skills/label-image ~/.claude/skills/

設定

変数デフォルト用途
LABEL_USERNAME / LABEL_PASSWORD未設定アカウント認証情報です。設定しない場合、ツールに画像は表示されません
LABEL_API_URLhttps://labels.sachin-kale.com/api別のデプロイまたは sam local start-api 用の API ベース URL

ツール

ツール機能
list_images(category?)注釈数を含む画像の概要
get_image(image_id)メタデータ、注釈、署名付き閲覧 URL
update_image_metadata(image_id, name?, category?, sub_category?, description?)画像の詳細を編集
add_annotations(image_id, annotations)ピン、ポリゴン、円、長方形、矢印を追加
replace_annotations(image_id, annotations)すべての注釈を置き換え
remove_annotations(image_id, annotation_ids)ID で注釈を削除
upload_image(path, name?, category?, description?)ローカルの画像ファイルをアップロード
upload_image_from_url(url, name?, category?, description?)https URL から画像をダウンロード(最大 20 MB)してアップロード
segment_objects(image_id, objects, model?, save?)大まかなボックス、またはオブジェクトごとに 1 点を指定して Segment Anything で輪郭を正確にトレースし、ポリゴンとして保存します。model:sam(写真)または medsam(CT、MRI、X 線、超音波、内視鏡、病理画像。ボックスのみ)
warm_up_segmentation(model?)セグメンテーションモデルの読み込みを待たずに開始します(しばらく使用されていない状態からは、読み込みに 1、2 分かかります)
detect_nuclei(image_id, max_nuclei?, mark_enlarged?, replace_previous?, save?)StarDist を使って H&E 画像内のすべての核を自動的に検出して輪郭を描きます(ボックス不要)。件数、密度、面積の中央値、サイズのばらつきを返します。面積が中央値の 2.5 倍を超える核には enlarged nucleus のラベルが付きます
normalize_stain(image_id)Macenko 染色正規化:標準的な H&E 色にしたコピーを新しい画像として保存します
check_image_quality(image_id)HistoQC 形式のチェック(組織の割合、ぼけ、マーカーペン、露出、染色の薄さ)を行い、判定と警告を返します
warm_up_pathology()核モデルの読み込みを待たずに開始します
export_annotations(image_id, format)COCO JSON または YOLO 形式で、ウェブアプリのエクスポートと同じ出力を返します。または qupath を指定すると、QuPath の File > Import objects 用の GeoJSON を返します(StarDist の核は検出結果として読み込まれます)

画像を削除するツールは意図的に用意していません。

segment_objects は API の POST /images/{id}/segment を呼び出し、Lambda コンテナ内の backend/segment で SAM (facebook/sam-vit-base) または MedSAM (wanglab/medsam-vit-base) を実行します。しばらく使用されていない状態からはモデルの起動に時間がかかるため、その後クライアントが再試行します。 結果は研究およびデータセット構築用であり、診断用ではありません。

病理組織学ツールは POST /images/{id}/pathology を呼び出し、2 つ目の Lambda コンテナ(backend/pathology)で StarDist(BSD-3。事前学習済みの 2D_versatile_he モデルは、一部が非商用条件の公開 H&E データセットで学習されているため、商用利用の前に各条件を確認してください)、 torchstain(MIT)、OpenCV の画質指標を実行します。顕微鏡写真は倍率がさまざまなため、detect_nuclei は画像を 2 倍と 3 倍に拡大しても試し、最も多くの核を検出できた倍率を採用します。

HTTP モード

label-image-mcp --http [--host 127.0.0.1] [--port 8765] は http://HOST:PORT/mcp で Streamable HTTP を提供します。複数のクライアントで 1 つの実行中のサーバーを共有できます。

claude mcp add --transport http label-image http://127.0.0.1:8765/mcp

ホストモード

label-image-mcp --http --hosted --host 0.0.0.0 は、たとえば Lambda Web Adapter 経由で AWS Lambda の背後に置いてサーバーをリモート実行するためのモードです。セッション状態は保持せず、JSON で応答します。また、すべてのリクエストに Authorization: Bearer <token> が必要です。トークンが設定されていない場合、すべてのリクエストを拒否します。

変数用途
MCP_AUTH_TOKENクライアントが送信する必要があるベアラートークン
LABEL_CREDENTIALS_SECRET上記の変数の代わりに使用する、username、password、mcp_token を含む AWS Secrets Manager のシークレット
LABEL_UPLOAD_URL_HOSTSupload_image_from_url がダウンロードできるホストをカンマ区切りで指定します(ホストモードでの使用を推奨)

LangGraph エージェント

これらのツールを使用するターミナルチャットエージェントです。グラフは START → agent ⇄ tools で、セッション中は会話のメモリが保持されます。

uv tool install "label-image-mcp[agent]"
export ANTHROPIC_API_KEY=... LABEL_USERNAME=... LABEL_PASSWORD=...
label-image-agent
変数デフォルト用途
LABEL_AGENT_MODELanthropic:claude-sonnet-5-5provider:model 形式のモデルです。例:openai:gpt-4.1 または ollama:llama3.1(langchain-openai / langchain-ollama をインストールしてください)
LABEL_MCP_URL未設定サーバーを起動する代わりに、稼働中の HTTP サーバーに接続します

開発

uv sync --extra agent
uv run pytest
npx @modelcontextprotocol/inspector uv run label-image-mcp

Image Label アプリのリポジトリでは、./start.sh を実行すると、Web アプリと並行してこのサーバーが HTTP モードで起動します。 認証情報は mcp-server/.env から読み込みます。リリースについては PUBLISHING.md を参照してください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。