MoleCare MCP Server
Enables MCP clients to query educational dermatology knowledge, access optional MoleCare mole-tracking and analysis tools, and explore MLOps and infrastructure operations with safe mock data when no credentials are configured.
README
MoleCare MCP Server
Model Context Protocol (MCP) server that gives Claude and other MCP clients access to:
- Dermatology knowledge — ABCDE education, SNOMED CT / ICD-10 helpers, risk-factor prompts
- Optional MoleCare API tools — moles, trends, analysis (your backend + API key)
- Optional MLOps / ops tools — health checks, MLflow, feature store, infra (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
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.
| Variable | Purpose | Example |
|---|---|---|
MOLECARE_API_URL |
MoleCare HTTP API | http://localhost:8080/api |
MOLECARE_API_KEY |
API bearer / key | local-dev-key |
ONTOLOGY_API_URL |
Ontology service | http://localhost:8081 |
MLFLOW_TRACKING_URI |
MLflow | http://localhost:5000 |
FEAST_REPO_PATH / feature store URL |
Feast | — |
AWS_REGION |
EC2 / CloudWatch clients | us-east-1 |
GITHUB_TOKEN |
CI/CD tools | — |
MCP_HEALTH_PORT |
Bind an HTTP /health endpoint. Unset by default — stdio clients do not need it |
3000 |
PORT |
Same, for container health probes | 3000 |
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.
| Tool | Description |
|---|---|
search_medical_info |
Search the dermatology knowledge base |
lookup_medical_concept |
Look up a SNOMED CT concept |
search_medical_concepts |
Search conditions by name or description |
map_snomed_to_icd10 |
Map a SNOMED CT code to ICD-10 |
classify_lesion_features |
ABCDE-style feature descriptors for a lesion |
assess_risk_from_factors |
Educational risk scoring from stated risk factors |
get_condition_risk_factors |
Known risk factors for a condition |
get_condition_progression |
Typical progression stages for a condition |
get_malignant_conditions |
Malignant 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.
| Tool | Description |
|---|---|
get_user_moles |
List moles for a user id |
get_mole_analysis |
Analysis payload for a mole |
get_mole_changes |
Change history for a mole |
get_user_risk_factors |
A user's risk profile |
compare_moles |
Compare two moles |
<details> <summary><b>Operations and MLOps tooling</b> (~35 tools — MoleCare's own infrastructure)</summary>
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.
| Area | Tools |
|---|---|
| Health | 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 |
| Feature store | 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 |
| Apps | 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 |
| Database | get_database_status, get_database_metrics, get_slow_queries, get_table_stats, get_backup_history, get_connection_pools |
| Kubernetes | get_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
</details>
Architecture
Claude / Cursor / MCP client
│ stdio (JSON-RPC)
▼
molecare-mcp
├─ medical KB (local)
├─ MoleCare API client (optional)
├─ ontology / MLflow / Feast clients (optional)
└─ AWS / CI clients (optional, mock if unset)
│
└─ 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
.envfiles or API keys — see SECURITY.md to report a vulnerability - Prefer mock mode for demos and screenshots
- Tools that accept
userIdcan 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.exampleis the authoritative list (all 27 variables read by the source). Regenerate the ground truth withgrep -rhoE "process\.env\.[A-Z_0-9]+" src/.ONTOLOGY_API_URLandFEAST_REPO_PATHare not read by any source file.
- Model Context Protocol
- MoleCare
- MoleCare-ML — melanoma classification service and training notebooks
License
Apache-2.0 © MoleCare LTD
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.