关于 Histopathology Annotation MCP
Histopathology Annotation MCP 将 AI 助手连接到 Image Label,为病理及其他图像提供标注工具。它支持细胞核检测、分割、质量检查、标注编辑和数据集导出,无需 GPU。
主要功能
- 01自动检测 H&E 细胞核
- 02SAM 和 MedSAM 分割
- 03切片质量检查
- 04染色颜色标准化
- 05标注编辑与导出
适用场景
- 01准备 H&E 图像训练数据
- 02根据框或点勾勒区域
- 03标注前检查切片质量
- 04将标注导出为 QuPath、COCO 或 YOLO
MCP 相关
该 MCP 服务向 MCP 客户端提供 Image Label 图像上传、标注、病理分析和导出工具。支持 stdio 和 Streamable HTTP 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx label-image-mcpLABEL_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+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
8收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| category | any | 否 |
详细介绍
组织病理标注 MCP
图像标注,包括组织病理切片;在一次对话中将 H&E 切片转化为训练数据:细胞核、轮廓和切片 QC,可导出为 QuPath、COCO 或 YOLO 格式。无需 GPU。
一个用于在 Image Label(一款免费标注工具)中标注组织病理图像及其他图像的 MCP 服务。它可以让 Claude 和其他 AI 助手上传图像、自动勾画 H&E 切片中的每个细胞核(StarDist)、根据粗略框追踪区域(Segment Anything;医疗图像可使用 MedSAM)、检查切片质量、标准化染色颜色、清理标注,并将训练数据导出为 COCO JSON、YOLO 标签、YOLO 类别或 QuPath GeoJSON。内含一个 LangGraph Agent。
在浏览器中试用: 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": "..." }
}
}
}
Agent 技能
skills/label-image/SKILL.md 会指导 Agent 何时以及如何使用这些工具:哪些标注类型会包含在导出文件中、如何安全地清理标签,以及如何将每张图像的导出文件合并为一个类别 ID 一致的 COCO 或 YOLO 数据集(附带 scripts/merge_exports.py)。它遵循开放的 SKILL.md 格式,因此可用于 Claude Code 和其他支持技能的 Agent。
# 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_URL | https://labels.sachin-kale.com/api | API 基础 URL,用于其他部署或 sam local start-api |
工具
| 工具 | 功能 |
|---|---|
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?) | 使用 Segment Anything,根据粗略框或每个对象的一个点描出精确轮廓,并将其保存为多边形。model:sam(照片)或 medsam(CT、MRI、X 光、超声、内窥镜、病理;仅支持框) |
warm_up_segmentation(model?) | 开始加载分割模型,不等待加载完成(空闲一段时间后,加载需要一两分钟) |
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 格式,输出与 Web 应用的导出结果相同;也可使用 qupath:生成 GeoJSON,供 QuPath 的 File > Import objects 使用(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,在另一个 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 服务,因此多个客户端可以共用同一个运行中的服务:
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 | 客户端必须发送的 Bearer 令牌 |
LABEL_CREDENTIALS_SECRET | AWS Secrets Manager 密钥,其中包含 username、password 和 mcp_token,用于替代上述变量 |
LABEL_UPLOAD_URL_HOSTS | 以逗号分隔的主机名,upload_image_from_url 可从这些主机下载内容(托管时建议配置) |
LangGraph Agent
使用这些工具的终端聊天 Agent。图为 START → agent ⇄ tools,并在会话期间保留对话记忆。
uv tool install "label-image-mcp[agent]"
export ANTHROPIC_API_KEY=... LABEL_USERNAME=... LABEL_PASSWORD=...
label-image-agent
| 变量 | 默认值 | 用途 |
|---|---|---|
LABEL_AGENT_MODEL | anthropic:claude-sonnet-5-5 | 模型,格式为 provider: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 会以 HTTP 模式在 Web 应用旁运行此服务。
它从 mcp-server/.env 读取凭据。版本发布说明见 PUBLISHING.md。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。