关于 molecare-mcp
molecare-mcp 是面向开发者及准备追踪痣或与临床医生沟通者的皮肤科教育 MCP 服务。内置知识可离线使用,可选产品数据工具连接配置好的兼容 MoleCare API;它不是医疗器械。
主要功能
- 01搜索内置皮肤科知识
- 02查询 SNOMED CT 和 ICD-10 概念
- 03将 SNOMED CT 代码映射至 ICD-10
- 04使用 ABCDE 描述分类皮损特征
- 05提供非诊断性教育提示词
适用场景
- 01了解 ABCDE 标准和皮肤健康知识
- 02为皮肤科就诊整理观察记录
- 03在 MCP 客户端中查阅术语映射
- 04使用模拟产品数据制作流程原型
MCP 相关
该 MCP 服务提供皮肤科工具、知识与本体资源,以及 3 个可复用的教育提示词。可选的痣和用户资料工具连接已配置的兼容 MoleCare API;未配置凭据时会返回标注清楚的模拟数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y molecare-mcpMOLECARE_API_URLBase URL of a MoleCare-compatible HTTP API. Omit to run in mock mode with synthetic data.MOLECARE_API_KEY密钥API key for the MoleCare API. Only needed when MOLECARE_API_URL points at a real backend.LOG_LEVELLogging verbosity (error, warn, info, debug).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
14收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userId | string | 是 | 用户的唯一标识符 |
详细介绍
MoleCare MCP 服务
Model Context Protocol(MCP)服务,让 Claude 和其他 MCP 客户端能够使用:
- 皮肤科知识 — ABCDE 科普、SNOMED CT / ICD-10 辅助工具、风险因素提示词
- 可选的 MoleCare API 工具 — 痣、趋势、分析(需要你自己的后端和 API 密钥)
- 可选的 MLOps / 运维工具 — 作为独立二进制文件提供,
molecare-ops-mcp(优先使用模拟数据)
不是医疗器械。 输出仅供科普和运维参考。请勿用于诊断或治疗决策。
产品网站:molecare.co.uk · 应用:iOS · Android
一条命令,无需 API 密钥或数据库。实际输出来自已发布的软件包。
为什么要开发它
MoleCare 帮助人们长期追踪痣的变化,并为就诊做好准备。此 MCP 服务让开发者和运维人员能够:
- 从 Claude Desktop / Cursor 查询皮肤健康科普知识
- 针对兼容 MoleCare 的 API 原型开发助手工作流
- 在未设置凭据时,使用安全的模拟数据探索 MLOps 工具
快速开始
无需凭据、数据库或云账户。将以下内容添加到 MCP 客户端配置中, 然后重启客户端:
{
"mcpServers": {
"molecare": {
"command": "npx",
"args": ["-y", "molecare-mcp"]
}
}
}
在 macOS 上使用 Claude Desktop 时,配置文件位于
~/Library/Application Support/Claude/claude_desktop_config.json。
皮肤科知识工具开箱即用——它们读取软件包中自带的知识库。 所有需要与后端通信的工具在完成配置前都会返回明确标注的模拟数据,因此你可以先探索所有工具,再决定是否需要使用后端功能。
如要在完全不使用客户端的情况下试用:
npx -y molecare-mcp
服务会启动并等待通过 stdio 接收输入。没有输出就表示运行正常。
Claude Code 插件
此代码库也是一个 Claude Code 插件:包含同一个服务,以及一项技能,用于告诉 Claude 何时使用该服务,并明确禁止作出诊断。
claude plugin marketplace add MoleCare/molecare-mcp
claude plugin install molecare@molecare
然后可以提出诸如“ABCDE 中的 E 是什么意思?”或“帮我为皮肤科就诊做准备”这样的问题。此插件会在不使用密钥的情况下运行 npx -y molecare-mcp,因此账户工具会返回标记为 "dataSource": "mock" 的示例数据。
连接真实后端
仅在你运行兼容 MoleCare 的 API 时才需要:
{
"mcpServers": {
"molecare": {
"command": "npx",
"args": ["-y", "molecare-mcp"],
"env": {
"MOLECARE_API_URL": "http://localhost:8080/api",
"MOLECARE_API_KEY": "your-local-api-key"
}
}
}
}
使用 localhost(或你自己的部署)。请勿将生产密钥粘贴到会同步到云盘的配置文件中。
环境变量
所有设置均为可选。公共服务在没有 API 凭据时会回退到模拟产品数据,其知识工具也能继续离线运行。对于运维服务,请使用 NODE_ENV=development(.env.example 中的默认值),以保持集成处于模拟模式。
两个二进制文件共用
| 变量 | 用途 | 示例 |
|---|---|---|
MOLECARE_API_URL | 兼容 MoleCare 的 HTTP API | http://localhost:8080/api |
MOLECARE_API_KEY | API bearer/key;使用真实的 MoleCare API 时必填 | local-dev-key |
LOG_LEVEL | 日志详细程度:debug、info、warn 或 error | info |
MCP_HEALTH_PORT | 可选 HTTP /health 端点的首选端口 | 3000 |
PORT | 健康检查端口的备用值,适用于容器平台 | 3000 |
PRIVACY_GATE_URL | 可选的本地 sidecar,用于在数据外发前检查工具结果 | http://localhost:8231 |
PRIVACY_GATE_TIMEOUT_MS | 隐私网关请求超时时间,单位为毫秒 | 4000 |
公共服务(molecare-mcp)
公共服务没有其他设置。其皮肤科知识无需配置即可使用;共用的 MoleCare API 变量可启用其可选的痣和个人资料工具。
运维服务(molecare-ops-mcp)
运维二进制文件也接受上述共用设置。以下附加变量仅用于配置其基础设施、监控和 CI/CD 工具:
| 变量 | 用途 | 示例 |
|---|---|---|
NODE_ENV | development 会强制启用模拟模式;仅在服务已配置时使用 production | development |
MLFLOW_TRACKING_URI | MLflow 跟踪服务 | http://localhost:5000 |
MLFLOW_API_KEY | 可选的 MLflow API 密钥 | — |
ML_SERVING_URL | 模型服务健康检查端点 | http://localhost:5000/health |
FEAST_SERVER_URL | Feast 特征服务 | http://localhost:6566 |
FEAST_PROJECT | Feast 项目名称 | molecare |
WEB_APP_URL | MoleCare Web 应用 | http://localhost:3000 |
MOBILE_API_URL | MoleCare 移动 API | http://localhost:8080/api |
ADMIN_API_URL | MoleCare 管理 API | http://localhost:8080 |
BACKEND_URL | 后端健康检查端点 | http://localhost:8080 |
METRICS_API_URL | 应用指标 API;留空可使应用监控保持模拟状态 | — |
GITHUB_OWNER | CI/CD 工具使用的仓库所有者 | MoleCare |
GITHUB_REPO | CI/CD 工具使用的仓库名称 | MoleCare-ML |
GITHUB_TOKEN | CI/CD 工具使用的 GitHub 令牌 | — |
AWS_REGION | EC2 和 CloudWatch 工具使用的 AWS 区域 | us-east-1 |
AWS_PROFILE | 命名的 AWS 凭证配置文件 | — |
AWS_ACCESS_KEY_ID | AWS SDK 凭证链访问密钥;优先使用角色或配置文件 | — |
EC2_INSTANCE_IDS | 以逗号分隔的 EC2 实例 ID | — |
DB_HOST | 数据库健康检查使用的 PostgreSQL 主机 | localhost |
DB_PORT | PostgreSQL 端口 | 5432 |
DB_NAME | PostgreSQL 数据库名称 | molecare |
REDIS_HOST | Redis 主机和端口 | localhost:6379 |
ES_HOST | Elasticsearch 主机和端口 | localhost:9200 |
请参阅 .env.example,查看可复制的权威配置列表。
工具
皮肤科知识——无需设置
这是大多数人安装本工具的原因。它们基于内置知识库作答,无需 API、密钥或网络。
| 工具 | 描述 |
|---|---|
search_medical_info | 搜索皮肤科知识库 |
lookup_medical_concept | 查询 SNOMED CT 概念 |
search_medical_concepts | 按名称或描述搜索疾病 |
map_snomed_to_icd10 | 将 SNOMED CT 代码映射到 ICD-10 |
classify_lesion_features | 提供病变的 ABCDE 式特征描述 |
assess_risk_from_factors | 列出命名的教育性风险因素(不提供评分) |
get_condition_risk_factors | 获取某种疾病的已知风险因素 |
get_condition_progression | 获取某种疾病的典型进展阶段 |
get_malignant_conditions | 获取带代码的恶性皮肤疾病 |
资源: molecare://knowledge/* — ABCDE 标准、Fitzpatrick 肤色类型、预防措施以及何时就诊皮肤科医生。molecare://ontology/* — SNOMED CT 和 ICD-10 参考列表、完整的 snomed-icd10-map 映射表及风险因素,均包含来源元数据。
教育性提示词
该服务还提供三个可重复使用的 MCP 提示词:walk_through_abcde、prepare_dermatology_appointment 和 explain_snomed_code。它们可帮助客户端整理观察结果或解释术语,但不会诊断疾病、判断紧急程度或提供风险评分。每个呈现的提示词都包含非诊断性教育免责声明;术语提示词需要传入 SNOMED CT 代码参数。
术语实际涵盖的内容
| 内置内容 | |
|---|---|
| SNOMED CT 概念 | 7 — 黑色素瘤、原位黑色素瘤、基底细胞癌(BCC)、鳞状细胞癌(SCC)、日光性角化病、不典型痣、黑素细胞痣 |
| WHO ICD-10 类别 | 25 — 恶性、原位、良性、癌前、炎症及色素沉着类,涵盖第 II 章和第 XII 章 |
| SNOMED → ICD-10 映射 | 9 行,涵盖全部 7 个概念 — 某些概念可能对应多个合理的目标项 |
该服务公布的每个 SNOMED 概念都可通过 lookup_medical_concept 查询,并通过 map_snomed_to_icd10 映射。查询此子集以外的代码时,响应会附带一个 coverage 区块,列出已内置的内容,而不是返回空结果。可通过 molecare://ontology/snomed-icd10-map 资源浏览完整映射表。
ICD-10 的覆盖范围有意设得比 SNOMED 更广。扩充内置的 SNOMED 概念集目前搁置,等待解决与 SNOMED International 相关的再分发问题:成员国境内可免费使用,并不等于可以通过 npm 向非成员国地区免费再分发(#49)。WHO 在此层面以更宽松的许可授权 ICD-10,因此相关内容目前可以继续扩充。
术语来源
内置的 SNOMED CT / ICD-10 辅助工具属于教学子集,并非经过许可的术语分发版本。命名来源位于
src/resources/terminology-provenance.ts
中,并由 map_snomed_to_icd10 和本体资源返回:
| 系统 | 本包所反映的内容 |
|---|---|
| SNOMED CT | 根据 SNOMED International 浏览器 核对的 International Edition 概念 ID / FSN(最近核对日期:2026-09-03)。通俗易懂的英文搜索别名专为本包编写,并非 SNOMED 描述 |
| ICD-10 | WHO ICD-10 类别级代码(例如 C43、D22),仅在类别本身可能造成误导时使用四字符亚类(L57.0、D18.0)。不是 ICD-10-CM——特意不包含 C4A 等代码 |
| SNOMED → ICD-10 | 近似的类别级映射——并非经认证的一对一映射行。每行均附有理由说明 |
数据集本身位于
src/resources/terminology-data.ts,是
src/api/ontology-client.ts 模拟路径和本体资源的唯一数据源。无临床代码的教学性说明位于
src/resources/medical-kb.ts。
MoleCare 产品数据——需要 API
未设置 MOLECARE_API_URL 时,会返回带标签的模拟数据。
| 工具 | 描述 |
|---|---|
get_user_moles | 列出某个用户 ID 的痣 |
get_mole_analysis | 某颗痣的分析数据 |
get_mole_changes | 某颗痣的变化历史 |
get_user_risk_factors | 用户的风险概况 |
compare_moles | 比较两颗痣 |
运维和 MLOps 工具(39 个工具——独立的 molecare-ops-mcp 二进制文件)
这些工具之所以存在,是因为 MoleCare 通过助手运维这套技术栈。在此场景之外,它们用处不大;除非配置了相应的后端,否则它们都会返回模拟数据。
它们不属于 molecare-mcp 工具列表。 加载 39 个 MoleCare 之外无人能用的基础设施工具,会显著增加模型选择正确皮肤科工具的难度,因此这些工具被单独放在自己的服务中:
{
"mcpServers": {
"molecare-ops": {
"command": "npx",
"args": ["-y", "-p", "molecare-mcp", "molecare-ops-mcp"]
}
}
}
| 领域 | 工具 |
|---|---|
| 健康状态 | get_system_health、check_server_health、get_service_health、clear_cache |
| MLflow | get_mlflow_experiments、get_mlflow_runs、get_registered_models、get_model_version、compare_model_runs、get_training_runs |
| 特征存储 | get_feature_views、get_feature_view_details、get_feature_freshness、get_online_features、get_feature_store_stats |
| CI/CD | get_pipeline_runs、get_pipeline_summary、get_deployments、get_deployment_status、get_releases |
| AWS | get_ec2_instances、get_ec2_instance、get_ec2_health、get_ec2_metrics |
| 应用 | get_app_status、get_web_app_status、get_mobile_api_status、get_all_apps_status、get_app_metrics、get_app_errors、get_app_versions、get_app_store_status |
| 数据库 | get_database_status、get_database_metrics、get_slow_queries、get_table_stats、get_backup_history、get_connection_pools |
| Kubernetes | get_kubernetes_status |
AWS 工具需要 @aws-sdk/client-ec2 和 @aws-sdk/client-cloudwatch,它们是
可选的对等依赖——默认不会安装,因为它们会增加 33 MB 的下载量,不应该让只需要皮肤科工具的用户承担。如果需要实时 AWS 数据,请自行安装:
npm i @aws-sdk/client-ec2 @aws-sdk/client-cloudwatch
架构
Claude / Cursor / MCP client
│ stdio (JSON-RPC)
▼
molecare-mcp molecare-ops-mcp
├─ medical KB (local) ├─ MLflow / Feast clients
├─ MoleCare API client ├─ AWS / CI / K8s clients
└─ ontology client └─ database / app clients
│ (14 tools) │ (39 tools, internal)
│ │
└───────────┬───────────────────┘
└─ optional HTTP GET /health (Docker / ECS)
Docker
docker build -t molecare-mcp .
docker run --rm -p 3000:3000 molecare-mcp
curl http://localhost:3000/health
安全
- 切勿提交
.env文件或 API 密钥——如需报告漏洞,请参阅 SECURITY.md - 演示和截图时优先使用模拟模式
- 接受
userId的工具只有在连接到具有真实身份验证的真实后端时才会返回 PHI——请按生产环境的标准处理 - 速率限制和身份验证应由你的 API 负责,而不应只依赖 MCP 进程
医疗免责声明
MoleCare MCP 提供教育性信息和开发者工具,不会诊断黑色素瘤或任何疾病。如有医疗方面的疑虑,请务必咨询合格的临床医生。
开发
git clone https://github.com/MoleCare/molecare-mcp.git
cd molecare-mcp
npm install
npm run build
npm run dev # auto-reload
npm run inspect # browse tools in MCP Inspector
欢迎贡献。请先阅读 CONTRIBUTING.md——其中介绍了模拟优先规则、涉及医疗内容时的临床安全边界,以及如何认领 good first issue。
请勿在示例中包含机密信息,并优先使用 localhost 默认值。
相关链接
环境变量:
.env.example是权威列表。CI 会将其与两个服务入口可访问的变量进行比较,并检查上文的公开/运维分组。
- Model Context Protocol
- MoleCare
- MoleCare-ML — 黑色素瘤分类服务和训练笔记本
收录平台
- npm,包名为
molecare-mcp - Glama 和 MCP Servers Live,这两个平台会索引 MCP 服务
- mcprush,一个 MCP 服务和 Agent 技能市场:免费,通过 npm 包安装,不由 mcprush 托管
如果你在某处使用了它,或撰文介绍了它,请提交 issue,我们会将其添加到这里。
贡献者
感谢所有为 molecare-mcp 提供帮助的人。
此列表由 Contributors 根据 GitHub 提交记录自动生成,不包含机器人——从不手动维护,因为过时的列表还不如没有。贡献者图表 · good first issue
许可证
Apache-2.0 © Yauhen Bichel
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。