Token导航 LogoToken导航

MCP Server · 搜索检索

Stylist MCP Server

一个基于AI的时尚推荐服务器,利用ChromaDB进行语义搜索和Claude/GPT进行自然语言理解,提供智能穿搭建议。

stdio官方级别未说明来源级核验工具 1
PythonClaude搜索Claude DesktopCursor

快速开始

作者 / 组织
Polly2014
提供方
Polly2014
运行时
Python

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Stylist MCP Server 属于搜索检索类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

搜索检索

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

python scripts/build_chromadb.py

客户端配置示例

{
  "mcpServers": {
    "stylist-mcp-server": {
      "command": "python",
      "args": [
        "scripts/build_chromadb.py"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

造型师MCP服务器

一个由人工智能驱动的时尚推荐MCP(模型上下文协议)服务器,使用ChromaDB进行语义搜索,使用Claude/GPT进行自然语言理解,提供智能服装建议。

特性

  • 🎨 智能服装推荐:单件或整套服装组合
  • 🌐 多种运输方式:

- stdio 用于本地Claude桌面/光标集成 - Streamable HTTP 用于远程访问(简单配置,如Tavily)

  • 🔍 混合搜索:将元数据过滤与语义向量搜索相结合
  • 🌍 多语言:支持中英文查询
  • 🧥 全套装备协调:带有风格推理的上衣+下装组合或连衣裙
  • 🔐 API密钥验证:使用可配置的API密钥进行安全的远程访问
  • 🖼️ 图像URL:直接HTTPS链接到服装图像

快速开始

1.设置

# Clone and setup
git clone https://github.com/Polly2014/Stylist-MCP-Server.git
cd Stylist-MCP-Server
chmod +x setup.sh
./setup.sh

# Edit configuration
cp .env.example .env
nano .env  # Configure DRESSCODE_ROOT, CHROMADB_PATH, etc.

2.构建索引

source venv/bin/activate
python scripts/build_chromadb.py

3.运行服务器

# stdio mode (for Claude Desktop local)
python src/mcp_server.py

# HTTP mode (for remote access)
python src/mcp_server.py --http --port 8888

# Or with uvicorn directly
uvicorn src.mcp_server:starlette_app --host 0.0.0.0 --port 8888

配置

环境变量(设置于 .env):

数据和服务器

变量描述默认值
DRESSCODE_ROOTDressCode数据集路径必填
CHROMADB_PATHChromaDB持久化之路必填
MCP_HOSTHTTP服务器主机0.0.0.0
MCP_PORTHTTP服务器端口8888
MCP_EXTERNAL_HOST图像URL的外部主机名localhost
MCP_USE_SSL为图像URL启用HTTPSfalse
MCP_API_KEY用于身份验证的API密钥(空=禁用)

LLM提供者

变量描述默认值
LLM_PROVIDER提供商: anthropic, azure_openai, openaianthropic

Anthropic(代理大师) -开发模式:

变量描述默认值
LLM_API_ENDPOINTAgent Maestro或Anthropic API终点http://localhost:23333/api/anthropic/v1/messages
MODEL_NAME克劳德型号名称claude-3-5-haiku-20241022

Azure OpenAI -生产方式:

变量描述默认值
AZURE_OPENAI_ENDPOINTAzure OpenAI端点URL必填
AZURE_OPENAI_API_KEYAzure API密钥必需
AZURE_OPENAI_DEPLOYMENT部署名称gpt-4o-mini
AZURE_OPENAI_API_VERSIONAPI版本2024-08-01-preview

可用工具

stylist_recommend

智能解释用户查询的时尚推荐工具。

输入:

{
  "query": "recommend 3 casual outfits for a date",
  "include_reasoning": true,
  "include_image_urls": true
}

输出模式:

  • single_item:返回单个服装的列表(例如,“T恤“,”给我看看衣服“)
  • full_outfit:返回协调的服装组合(例如,“推荐3套”、“约会服装”)

示例响应(single_item模式):

{
  "query": "recommend 5 casual T-shirts for summer",
  "mode": "single_item",
  "parsed_intent": {
    "language": "en",
    "recommendation_mode": "single_item",
    "count": 5,
    "garment_type": "t-shirt",
    "category": "upper_body",
    "style": "casual",
    "season": "summer"
  },
  "num_results": 5,
  "recommendations": [
    {
      "garment_id": "003841",
      "description": "White cotton t-shirt with round neck, short sleeves, relaxed fit",
      "similarity_score": 0.87,
      "category": "upper_body",
      "garment_type": "t-shirt",
      "colors": ["white"],
      "styles": ["casual", "minimalist"],
      "occasions": ["everyday", "casual"],
      "image_url": ""
    },
    {
      "garment_id": "003925",
      "description": "Light blue linen t-shirt, breathable fabric, classic cut",
      "similarity_score": 0.82,
      "category": "upper_body",
      "garment_type": "t-shirt",
      "colors": ["blue"],
      "styles": ["casual"],
      "occasions": ["everyday", "vacation"],
      "image_url": ""
    }
    // ... more items
  ],
  "stylist_advice": "These lightweight cotton and linen t-shirts are perfect for summer..."
}

示例响应(full_outfit模式):

{
  "query": "推荐3套约会穿搭",
  "mode": "full_outfit",
  "parsed_intent": {
    "language": "zh",
    "recommendation_mode": "full_outfit",
    "count": 3,
    "occasion": "date",
    "style": "elegant"
  },
  "num_outfits": 3,
  "outfits": [
    {
      "type": "two_piece",
      "top": {
        "garment_id": "005123",
        "description": "Soft pink silk blouse with subtle ruffle details",
        "similarity_score": 0.85,
        "category": "upper_body",
        "garment_type": "blouse",
        "colors": ["pink"],
        "styles": ["romantic", "elegant"],
        "occasions": ["date", "party"],
        "image_url": ""
      },
      "bottom": {
        "garment_id": "012456",
        "description": "High-waisted black pencil skirt, knee length",
        "similarity_score": 0.83,
        "category": "lower_body",
        "garment_type": "skirt",
        "colors": ["black"],
        "styles": ["classic", "elegant"],
        "occasions": ["work", "date"],
        "image_url": ""
      },
      "score": 0.90,
      "reason": "The soft pink blouse pairs beautifully with the classic black skirt, creating a romantic yet sophisticated look perfect for a date."
    },
    {
      "type": "dress",
      "dress": {
        "garment_id": "020714",
        "description": "Elegant navy blue A-line dress with V-neck, midi length",
        "similarity_score": 0.88,
        "category": "dresses",
        "garment_type": "dress",
        "colors": ["navy", "blue"],
        "styles": ["elegant", "classic"],
        "occasions": ["date", "party", "formal"],
        "image_url": ""
      },
      "score": 0.88,
      "reason": "This navy A-line dress is timeless and flattering, ideal for a romantic dinner date."
    }
    // ... more outfits
  ],
  "stylist_advice": "这些穿搭都非常适合约会场合。粉色丝质上衣搭配黑色铅笔裙展现优雅气质,而海军蓝连衣裙则是经典之选,适合各种约会场景。"
}

客户端集成

克劳德桌面(本地stdio)

添加到 ~/.config/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "stylist-recommender": {
      "command": "python",
      "args": ["/path/to/Stylist-MCP-Server/src/mcp_server.py"],
      "env": {
        "DRESSCODE_ROOT": "/path/to/DressCode",
        "CHROMADB_PATH": "/path/to/chroma_db",
        "LLM_API_ENDPOINT": "http://localhost:23333/api/anthropic/v1/messages"
      }
    }
  }
}

远程访问(流式HTTP-推荐)⭐

最简单的远程连接方式,如Tavily:

{
  "mcpServers": {
    "stylist-recommender": {
      "url": "https://stylist.polly.wang/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

光标

添加到 .cursor/mcp.json:

{
  "mcpServers": {
    "stylist-recommender": {
      "url": "https://stylist.polly.wang/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Python客户端

import httpx

# Streamable HTTP client
async def call_stylist():
    async with httpx.AsyncClient() as client:
        # Initialize
        response = await client.post(
            "https://stylist.polly.wang/mcp",
            headers={
                "X-API-Key": "YOUR_API_KEY",
                "Content-Type": "application/json",
                "Accept": "application/json"
            },
            json={
                "jsonrpc": "2.0",
                "method": "initialize",
                "params": {
                    "protocolVersion": "2024-11-05",
                    "capabilities": {},
                    "clientInfo": {"name": "python-client", "version": "1.0"}
                },
                "id": 1
            }
        )
        session_id = response.headers.get("mcp-session-id")
        
        # Call tool
        response = await client.post(
            "https://stylist.polly.wang/mcp",
            headers={
                "X-API-Key": "YOUR_API_KEY",
                "Content-Type": "application/json",
                "Accept": "application/json",
                "mcp-session-id": session_id
            },
            json={
                "jsonrpc": "2.0",
                "method": "tools/call",
                "params": {
                    "name": "stylist_recommend",
                    "arguments": {"query": "推荐3套约会穿搭"}
                },
                "id": 2
            }
        )
        print(response.json())

HTTP模式端点

端点身份验证描述
/health❌健康检查
/mcp✅可流式传输的HTTP端点
/tools✅列出可用工具
/images/*❌静态图像服务

身份验证方法:

  • 标题(推荐): X-API-Key: YOUR_KEY
  • 查询参数: ?apiKey=YOUR_KEY
  • 持有者代币: Authorization: Bearer YOUR_KEY

项目结构

Stylist-MCP-Server/
├── src/
│   ├── config.py          # Configuration (env vars)
│   ├── garment_db.py      # ChromaDB wrapper
│   ├── stylist_tool.py    # Recommendation logic (single_item + full_outfit)
│   └── mcp_server.py      # MCP server (stdio + Streamable HTTP)
├── scripts/
│   ├── build_chromadb.py  # Index builder
│   ├── build_from_jsonl.py # Build from attributes JSONL
│   └── test_mcp.py        # Comprehensive test suite
├── config/
│   ├── claude_desktop.json           # Local stdio config
│   ├── claude_desktop_remote.example.json  # Remote HTTP config
│   ├── cursor_mcp.example.json       # Cursor config
│   └── python_client_example.py      # Python client example
├── data/
│   ├── garment_attributes.jsonl      # Garment metadata
│   └── chroma_db/                    # Vector database
├── requirements.txt
├── setup.sh
├── .env.example
└── README.md

测试

# Quick test (skip LLM reasoning)
python scripts/test_mcp.py --quick

# Full test with LLM reasoning
python scripts/test_mcp.py

# Verbose output
python scripts/test_mcp.py --verbose

# Local only (no remote server tests)
python scripts/test_mcp.py --local-only

# Custom LLM endpoint
LLM_API_ENDPOINT=http://localhost:23335/api/anthropic/v1/messages python scripts/test_mcp.py

测试覆盖范围:

  • 📦 数据库:基本搜索、过滤器、多类别
  • 👕 单品:T恤、连衣裙、中文查询
  • 👔 全套服装:基本、正式、中式、男士(无连衣裙)
  • 🧠 LLM推理:评分、理由、造型师建议
  • 🌐 远程:运行状况、工具、MCP端点、图像

部署

使用Nginx(推荐)

  1. 在内部端口上运行MCP服务器:
   python src/mcp_server.py --http --port 8888
  1. 使用SSL配置Nginx反向代理:
   server {
       listen 443 ssl;
       server_name stylist.polly.wang;
       
       ssl_certificate /etc/letsencrypt/live/stylist.polly.wang/fullchain.pem;
       ssl_certificate_key /etc/letsencrypt/live/stylist.polly.wang/privkey.pem;
       
       location / {
           proxy_pass http://127.0.0.1:8888;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
           proxy_buffering off;
           proxy_read_timeout 86400;
       }
   }
  1. 设置环境变量:
   MCP_EXTERNAL_HOST=stylist.polly.wang
   MCP_USE_SSL=true
   MCP_API_KEY=your-secure-api-key

演出

  • Haiku模型:每次整套服装查询约19秒(建议速度)
  • Sonnet模型:每套服装查询约48秒(更高质量)
  • 快速模式 (无推理):每个查询约2秒

许可证

麻省理工学院

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

AI时尚推荐Python本地部署语义搜索自然语言处理穿搭建议多语言支持

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Stylist MCP Server

MCP World · 本页

1stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Stylist MCP Server 怎么安装?

公开资料给出的安装命令是 python scripts/build_chromadb.py,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Stylist MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Stylist MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Stylist MCP Server 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Stylist MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP