Odel
molecare mcp

molecare mcp

Local
@molecare4TypeScriptApache-2.0Updated 1w ago

Educational dermatology knowledge and lesion tooling. No credentials needed. Not a medical device.

MoleCare MCP Server

npm version npm downloads License Node MCP Contributors

Model Context Protocol (MCP) server that gives Claude and other MCP clients access to:

  1. Dermatology knowledge — ABCDE education, SNOMED CT / ICD-10 helpers, risk-factor prompts
  2. Optional MoleCare API tools — moles, trends, analysis (your backend + API key)
  3. Optional MLOps / ops tools — shipped as a separate binary, molecare-ops-mcp (mock-first)

Not a medical device. Outputs are educational and operational aids only. Do not use for diagnosis or treatment decisions.

Product site: molecare.co.uk · App: iOS · Android

npx -y molecare-mcp answering a SNOMED CT to ICD-10 lookup with no credentials configured

One command, no API key, no database. Real output from the published package.


Why this exists

MoleCare helps people track moles over time and prepare for clinician visits. This MCP server lets developers and operators:

  • Query educational skin-health knowledge from Claude Desktop / Cursor
  • Prototype assistant flows against a MoleCare-compatible API
  • Explore MLOps tooling with safe mock data when no credentials are set

Quick start

No credentials, no database, no cloud account. Add this to your MCP client config and restart it:

{
  "mcpServers": {
    "molecare": {
      "command": "npx",
      "args": ["-y", "molecare-mcp"]
    }
  }
}

For Claude Desktop on macOS that file is ~/Library/Application Support/Claude/claude_desktop_config.json.

The dermatology knowledge tools work immediately — they read from a knowledge base bundled in the package. Everything that talks to a backend returns clearly-labelled mock data until you configure it, so you can explore the whole tool surface before deciding whether you want any of it.

To try it without a client at all:

npx -y molecare-mcp

It starts and waits on stdio. No output means it is working.


Connecting a real backend

Only needed if you are running a MoleCare-compatible API:

{
  "mcpServers": {
    "molecare": {
      "command": "npx",
      "args": ["-y", "molecare-mcp"],
      "env": {
        "MOLECARE_API_URL": "http://localhost:8080/api",
        "MOLECARE_API_KEY": "your-local-api-key"
      }
    }
  }
}

Use localhost (or your own deployment). Do not paste production keys into config files that sync to cloud drives.


Environment variables

All optional unless you want live backends.

VariablePurposeExample
MOLECARE_API_URLMoleCare HTTP APIhttp://localhost:8080/api
MOLECARE_API_KEYAPI bearer / keylocal-dev-key
ONTOLOGY_API_URLOntology servicehttp://localhost:8081
MLFLOW_TRACKING_URIMLflowhttp://localhost:5000
FEAST_REPO_PATH / feature store URLFeast
AWS_REGIONEC2 / CloudWatch clientsus-east-1
GITHUB_TOKENCI/CD tools
MCP_HEALTH_PORTBind an HTTP /health endpoint. Unset by default — stdio clients do not need it3000
PORTSame, for container health probes3000

See .env.example.


Tools

Dermatology knowledge — no setup required

These are the reason most people install this. They answer from a bundled knowledge base and need no API, no key, and no network.

ToolDescription
search_medical_infoSearch the dermatology knowledge base
lookup_medical_conceptLook up a SNOMED CT concept
search_medical_conceptsSearch conditions by name or description
map_snomed_to_icd10Map a SNOMED CT code to ICD-10
classify_lesion_featuresABCDE-style feature descriptors for a lesion
assess_risk_from_factorsEducational risk scoring from stated risk factors
get_condition_risk_factorsKnown risk factors for a condition
get_condition_progressionTypical progression stages for a condition
get_malignant_conditionsMalignant skin conditions with codes

Resources: molecare://knowledge/* — ABCDE criteria, Fitzpatrick skin types, prevention, when to see a dermatologist, SNOMED CT and ICD-10 references.

MoleCare product data — needs an API

Returns labelled mock data until MOLECARE_API_URL is set.

ToolDescription
get_user_molesList moles for a user id
get_mole_analysisAnalysis payload for a mole
get_mole_changesChange history for a mole
get_user_risk_factorsA user's risk profile
compare_molesCompare two moles
Operations and MLOps tooling (39 tools — separate molecare-ops-mcp binary)

These exist because MoleCare operates this stack from an assistant. They are of little use outside that context, and all of them return mock data unless the matching backend is configured.

They are not part of the molecare-mcp tool list. Loading 39 infrastructure tools that nobody outside MoleCare can use made it measurably harder for a model to pick the right dermatology tool, so they live in their own server:

{
  "mcpServers": {
    "molecare-ops": {
      "command": "npx",
      "args": ["-y", "-p", "molecare-mcp", "molecare-ops-mcp"]
    }
  }
}
AreaTools
Healthget_system_health, check_server_health, get_service_health, clear_cache
MLflowget_mlflow_experiments, get_mlflow_runs, get_registered_models, get_model_version, compare_model_runs, get_training_runs
Feature storeget_feature_views, get_feature_view_details, get_feature_freshness, get_online_features, get_feature_store_stats
CI/CDget_pipeline_runs, get_pipeline_summary, get_deployments, get_deployment_status, get_releases
AWSget_ec2_instances, get_ec2_instance, get_ec2_health, get_ec2_metrics
Appsget_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
Databaseget_database_status, get_database_metrics, get_slow_queries, get_table_stats, get_backup_history, get_connection_pools
Kubernetesget_kubernetes_status

The AWS tools need @aws-sdk/client-ec2 and @aws-sdk/client-cloudwatch, which are optional peer dependencies — they are not installed by default, because they add 33 MB that nobody wanting the dermatology tools should have to download. Install them yourself if you want live AWS data:

npm i @aws-sdk/client-ec2 @aws-sdk/client-cloudwatch

Architecture

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

Security

  • Never commit .env files or API keys — see SECURITY.md to report a vulnerability
  • Prefer mock mode for demos and screenshots
  • Tools that accept userId can return PHI only if you point them at a real backend with real auth — treat that as production
  • Rate-limit and auth belong on your API, not only on the MCP process

Medical disclaimer

MoleCare MCP provides educational information and developer tooling. It does not diagnose melanoma or any disease. Always consult a qualified clinician for medical concerns.


Development

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

Contributions are welcome. Read CONTRIBUTING.md first — it covers the mock-first rule, the clinical-safety boundary for anything touching medical content, and how to pick up a good first issue.

Please keep secrets out of examples and prefer localhost defaults.


Related

Environment variables: .env.example is the authoritative list (all 27 variables read by the source). Regenerate the ground truth with grep -rhoE "process\.env\.[A-Z_0-9]+" src/. ONTOLOGY_API_URL and FEAST_REPO_PATH are not read by any source file.


Contributors

Thank you to everyone who has helped molecare-mcp.

The list is filled by Contributors from GitHub commits, bots omitted — never hand-maintained, because a stale list is worse than none. Contributor graph · good first issue

License

Apache-2.0 © MoleCare LTD