Skincare-MCP
Overview
Skincare-MCP is a Model Context Protocol (MCP) server that provides AI-based skin analysis based on a selfie image URL. It accepts a URL pointing to a user-provided selfie, analyzes the image through two stages of processing, and returns comprehensive skin status, management recommendations, and therapy guidance. The server can be integrated with any MCP-compatible client—such as Claude Desktop App, Continue, Cline, and others—to enable real-time skincare diagnostics and personalized advice.
Features
- Analyze basic skin status from a selfie (e.g., care-needed regions, estimated skin age, skin point score).
- Determine detailed skin type attributes (Dry, Oily, Pigmented, etc.) and generate a type code.
- Recommend tailored management methods (e.g., hydration routines, pore tightening toners).
- Provide detailed skin context and quantitative point scores for Pigmented, Pores, Redness, Sebum, Trouble, Wrinkle.
- Offer therapy guidance, including advantages, cautions, detailed procedure, and expected effect.
- Return a “recommend therapy” field (e.g., “Aqua Peeling”) based on the user’s skin profile.
How It Works
Poke-MCP is built using the Model Context Protocol, which enables AI applications to access external tools and data sources in a standardized way. The server:
- Connects to the skincareAPI to fetch skincare data
- Exposes several tools through the MCP interface
- Processes requests from MCP clients
- Returns formatted skincare information
MCP Tools
The Skincare-MCP server exposes the following primary tool:
get-skin-analysis:
Description: Given a selfie image URL, returns a JSON object containing all available skin analysis fields (both basic status and detailed management/therapy information).
Input Parameters:
image_url(string): Publicly accessible URL of the user’s selfie image.
Output: JSON containing fields (listed in “Provided Fields” below).
Provided Fields
The server returns all of the following fields (no separate “analysis_1” vs. “analysis_2” nesting is exposed to the client; they’re merged in output).
need_therapy
- Array of face regions requiring care or therapy (e.g.,
["right cheek", "jaw"]).
- Array of face regions requiring care or therapy (e.g.,
skin_age
- Integer representing the estimated skin age.
skin_point
max_score(number): Maximum possible score (e.g., 10).current_score(number): User’s current skin point score.
skin_type (boolean flags)
DryNon_PigmentedOilyPigmentedResistantSensitiveTightWrinkle
skin_type_analysis.type_code
- A string code representing the combination of True/False flags (e.g., “OSRT”).
manage_methods.recommend_methods
- Array of strings suggesting skin management routines (e.g., hydration, pore-tightening toner, double cleansing at night, sebum-controlling cleanser, weekly sebum care pack).
skin_detail_analysis.skin_detail_context
- Array of descriptive keywords summarizing detailed skin condition (e.g.,
["elastic skin texture", "oil and pore management needed"]).
- Array of descriptive keywords summarizing detailed skin condition (e.g.,
skin_detail_analysis.skin_detail_points
Pigmented(number)Pores(number)Redness(number)Sebum(number)Trouble(number)Wrinkle(number)max_score(number)
therapy.all_datas
advantage(string): Description of therapy’s main advantages.caution(array of strings): List of post-treatment precautions.detail(string): Detailed explanation of the procedure and mechanism.effect(string): Expected outcome/effect on the skin.
therapy.recommend_therapy
- A single string with the recommended therapy name (e.g., “Aqua Peeling”).
Architecture
Skincare-MCP is built using:
- TypeScript (Node.js runtime)
- @modelcontextprotocol/sdk (MCP TypeScript SDK for tool registration and message handling)
- Zod (for schema validation of incoming parameters)
- Express.js (or similar HTTP server framework) to handle the HTTP
POSTendpoint and route requests internally - Internal ML Model (Python ONNX or TensorFlow backend) to perform image-based skin analysis
- Sharp or Jimp (Node.js image processing) to fetch and pre-process images from URLs before feeding them to the ML model
Manual Installation
# 1. Clone the repository
git clone https://github.com/leegentle/skincare-mcp.git
cd skincare-mcp
# 2. Install dependencies
npm install
# 3. Build the project
npm run build
# 4. (Optional) Run tests
npm test
# 5. Start the server
npm start
After starting, the server listens on a default port (e.g., 3000) and can be invoked by an MCP client at:
mcp://localhost:3000/get-skin-analysis
Usage
With Claude Desktop App
Download and install Claude Desktop App.
Open Claude Desktop settings, then go to Developer settings.
Edit your configuration file (e.g.,
config.json) to include:{ "mcpServers": { "skincare": { "command": "node path/to/skincare-mcp/build/index.js" } } }Restart Claude Desktop.
You will now see a “get-skin-analysis” tool under the “skincare” server when interacting with Claude.
Example Queries
Once connected, you can ask your MCP-capable client (e.g., Claude Desktop) to run commands like:
- “Analyze my skin:
get-skin-analysis image_url=https://example.com/selfie.jpg” - “What management methods should I follow for my skin?” (the client can automatically call
get-skin-analysisbehind the scenes) - “Recommend a therapy based on my skin condition”
Adding New Features
To extend Skincare-MCP with additional tools or analyses:
Define new Zod schemas in
src/types.tsfor any additional input parameters or output fields.Create helper functions in
src/utils/(e.g., data fetchers, new model inferences).Register a new tool in
src/tools.tsusing:server.tool( "new-skin-tool", "Description of this new tool’s functionality.", { /* input parameter schema via Zod */ }, async (params) => { // Tool logic: fetch/process image, call model, return JSON } );Update
src/index.tsto import and include the new tool.Write unit/integration tests under
tests/to validate new functionality.Rebuild and restart the server to make the new tool available to MCP clients.
Acknowledgments
- Model Context Protocol for providing a standardized way to expose external tools to AI clients.
- Internal ML teams for developing the skin-analysis models.
- Smithery for MCP deployment and discovery services.
About Skincare-MCP is maintained by the @leegentle team. It demonstrates how to build a domain-specific MCP server—focused on skin diagnostics—that can seamlessly integrate into AI workflows and client applications.
Skincare
Project Details
- leegentle/skincare-mcp
- Last Updated: 6/5/2025
Recomended MCP Servers
single cell amateur
Simplifying MCP server interactions for seamless AI integration.
MCP server 0xEvm addresses
基于Python的开源量化交易平台开发框架
A powerful MCP server for Google search that enables parallel searching with multiple keywords simultaneously.
MCP server to connect to the Teamwork API





