skincare-mcp
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"skincare": {
"command": "node path/to/skincare-mcp/build/index.js"
}
}
}
服务介绍
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 clientsuch as Claude Desktop App, Continue, Cline, and othersto 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 users 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 users 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; theyre 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): Users 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 therapys 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 tools 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 serverfocused on skin diagnosticsthat can seamlessly integrate into AI workflows and client applications.