mcpField
F
FindMine Shopping Stylist

FindMine Shopping Stylist

Local
findmine.comBusiness & Marketing1Updated 2w ago

About FindMine Shopping Stylist

FindMine Shopping Stylist is an MCP server that connects FindMine's styling API to LLM applications. It serves product and outfit information, recommendations, visual matches, and fashion guidance for shopping and styling workflows.

Key features

  1. 01Product and outfit resources
  2. 02Complete-the-look recommendations
  3. 03Visually similar product search
  4. 04Fashion guides and styling advice
  5. 05Optional interaction and item updates

Use cases

  1. 01Find outfits to pair with a product
  2. 02Browse product and complete-look details
  3. 03Locate visually similar products
  4. 04Apply brand-specific styling guidance

MCP support

Exposes FindMine API capabilities to MCP-compatible clients through tools, product and look resources, and styling prompts.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"findmine": {
"command": "npx",
"args": [
"-y",
"findmine-mcp"
]
}
}
}
Run commandnpx -y findmine-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmfindmine-mcp

Tools

3

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
categorystringNoCategory of styling advice (e.g., 'color_theory', 'body_types', 'casual_outfits', 'formal_outfits', 'seasonal')
occasionstringNoSpecific occasion to get styling advice for (e.g., 'office', 'wedding', 'date_night', 'casual_friday')
fashion_seasonstringNoFashion season to get styling advice for (e.g., 'spring_summer', 'fall_winter', 'resort', 'transition')

Details

From the project README

FindMine Shopping Stylist

A Model Context Protocol (MCP) server that integrates FindMine's powerful product styling and outfitting recommendations with Claude and other MCP-compatible applications.

Overview

This MCP server connects to FindMine's styling API and exposes its functionality to Large Language Models through the Model Context Protocol. It allows users to:

  • Browse product and outfit information
  • Get outfit recommendations for specific products
  • Find visually similar products
  • Access style guidance and fashion advice

Features

Resources
  • Products: Detailed product information with product:/// URI scheme
  • Looks: Complete outfit recommendations with look:/// URI scheme
Tools
  • get_style_guide: Access detailed fashion advice and styling guidelines
  • get_complete_the_look: Get outfit recommendations for a product
  • get_visually_similar: Find visually similar products
  • track_interaction: Record shopper interactions (only when FINDMINE_ENABLE_TRACKING=true)
  • update_item_details: Update item stock and sale status (only when FINDMINE_ENABLE_ITEM_UPDATES=true)

Every tool declares a title, behavior annotations, and an output schema, and returns structured results.

Prompts
  • outfit_completion: Get styling advice for complete outfits
  • styling_guide: Access comprehensive fashion styling guidelines
  • findmine_help: Learn how to use FindMine's tools and resources

Installation

Option 1: Install from npm
# Install and run directly (recommended)
npx findmine-mcp

# Or install globally
npm install -g findmine-mcp
findmine-mcp
Option 2: Run with Docker
docker run -e FINDMINE_APP_ID=your_app_id findmine/mcp-server:latest
Option 3: Clone and build from source
# Clone the repository
git clone https://github.com/findmine/findmine-mcp.git
cd findmine-mcp

# Install dependencies
npm install

# Build the server
npm run build

# For development with auto-rebuild
npm run watch

Configuration

Environment Variables
VariableDescriptionDefault
FINDMINE_API_URLFindMine API base URLhttps://api.findmine.com
FINDMINE_APP_IDYour FindMine application IDDEMO_APP_ID
FINDMINE_API_VERSIONAPI version to usev3
FINDMINE_DEFAULT_REGIONDefault region codeus
FINDMINE_DEFAULT_LANGUAGEDefault language codeen
FINDMINE_CACHE_ENABLEDEnable response cachingtrue
FINDMINE_CACHE_TTL_MSCache time-to-live in ms3600000 (1 hour)
FINDMINE_ENABLE_TRACKINGRegister the track_interaction toolfalse
FINDMINE_ENABLE_ITEM_UPDATESRegister the update_item_details toolfalse
FINDMINE_DEBUGLog debug output to stderrfalse

Usage with Claude Desktop

Installation does not change any Claude Desktop settings. Add the server to claude_desktop_config.json yourself (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), pointing at your build:

{
  "mcpServers": {
    "findmine": {
      "command": "node",
      "args": ["/absolute/path/to/findmine-mcp/build/index.js"],
      "env": { "FINDMINE_APP_ID": "your_app_id" }
    }
  }
}

Development

Available Scripts
# Build and watch
npm run build              # Build the project
npm run watch             # Watch for changes and rebuild
npm run typecheck         # Run TypeScript type checking

# Testing
npm test                  # Run tests in watch mode
npm run test:run          # Run tests once
npm run test:coverage     # Run tests with coverage report

# Code quality
npm run lint              # Run ESLint
npm run lint:fix          # Run ESLint with auto-fix
npm run format            # Format code with Prettier
npm run format:check      # Check code formatting

# Development tools
npm run inspector         # Run MCP inspector (http://localhost:5173)
Testing

This project uses Vitest for testing. Tests live in tests/unit/ and tests/integration/; the integration suite drives the server in-process with the MCP SDK v2 client on both supported protocol revisions.

# Run tests in watch mode
npm test

# Run tests once (useful for CI)
npm run test:run

# Generate coverage report
npm run test:coverage
Code Quality

Before committing code:

# Run all checks
npm run typecheck && npm run lint && npm run format:check && npm run test:run

The project uses:

  • ESLint for linting with TypeScript support
  • Prettier for code formatting
  • Vitest for testing
  • GitHub Actions for CI/CD
Customizing the Style Guide

The style guide can be customized to match your brand's specific styling philosophies and fashion guidance. To customize the style guide:

  1. Locate the style guides in src/content/style-guides.ts
  2. Modify the content for each category (general, color_theory, body_types, etc.)
  3. Add new categories by adding the name to STYLE_GUIDE_CATEGORIES and its content to the styleGuides object (the tool and prompt schemas pick up the new category automatically)
  4. Customize occasion-specific and seasonal advice

Example of adding a custom style guide category:

// In src/content/style-guides.ts (after adding 'your_brand_style' to STYLE_GUIDE_CATEGORIES)
export const styleGuides: Record<StyleGuideCategory, string> = {
  // Existing categories...

  // Add your custom category
  your_brand_style: `# Your Brand Style Guide

## Brand Aesthetic
- Key elements of your brand's visual identity
- Core style principles
- Signature looks and combinations

## Your Brand's Styling Do's
- Brand-specific styling recommendations
- Preferred color combinations
- Signature styling techniques

## Your Brand's Styling Don'ts
- Combinations to avoid
- Styling approaches that don't align with brand identity
- Common styling mistakes to avoid
`
};

For complete customization, you can modify the get_style_guide tool in src/tools/get-style-guide.ts.

Project Structure
src/
├── index.ts              # stdio bin (serveStdio)
├── server.ts             # createFindMineDeps() + createFindMineServer(deps, { extend })
├── config.ts             # Environment configuration
├── api/                  # FindMine API client
├── tools/                # Tool registrations, Zod input/output schemas (schemas.ts)
├── resources/            # product:/// and look:/// resource templates and URI helpers
├── prompts/              # Prompts with Zod argument schemas
├── content/              # Style guide content
├── services/             # Business logic layer (caching, resource store)
├── types/                # TypeScript type definitions
└── utils/                # Cache, formatters, logger, resource mapping
tests/
├── unit/
├── integration/
└── fakes/
Technical Details

This server is built with:

  • MCP TypeScript SDK v2 (@modelcontextprotocol/server), serving protocol revisions 2025-11-25 and 2026-07-28 over stdio
  • Tool titles, annotations (read-only, destructive, idempotent, open-world hints) and output schemas with structured results
  • Zod 4 schemas for all tool inputs and outputs
  • Modular architecture with separated concerns
  • Vitest unit tests and in-process integration tests

API Examples

Get Style Guide
{
  "name": "get_style_guide",
  "arguments": {
    "category": "color_theory",
    "occasion": "wedding"
  }
}
Get Complete the Look
{
  "name": "get_complete_the_look",
  "arguments": {
    "product_id": "P12345",
    "product_color_id": "C789"
  }
}
Get Visually Similar Products
{
  "name": "get_visually_similar",
  "arguments": {
    "product_id": "P12345",
    "product_color_id": "C789",
    "limit": 5
  }
}

Publishing

Publishing to npm
# Login to npm
npm login

# Publish the package
npm publish

# Update the version for future releases
npm version patch
Publishing to Docker Hub
# Build the Docker image
docker build -t findmine/mcp-server:latest .

# Login to Docker Hub
docker login

# Push the image
docker push findmine/mcp-server:latest

License

This project is licensed under the MIT License.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.