pinterest-vision-mcp
Allows AI agents to search Pinterest for visual references, download images, analyze them with vision LLMs to extract structured aesthetic tags, store analyses in a vector database for semantic retrieval, and retrieve references by style or mood.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pinterest-vision-mcp search for boho chic home decor"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

🔍 pinterest-vision-mcp
MCP server that gives AI agents visual intelligence — search Pinterest, analyze images with LLM vision, build a semantic reference library, and retrieve by style or mood.
Why
AI agents are good at text. They're not good at having taste.
When building AI production workflows, I kept running into the same problem: an agent could write a creative brief but couldn't tell a quiet luxury editorial from a fast fashion product shot. To make agents genuinely useful for visual work, they need a visual memory — a structured, searchable library of aesthetic references they can learn from and query.
Pinterest is the largest public mood board on the internet. This server connects it to your agents.
Related MCP server: mcp-see
✨ Features
🔎 Pinterest search — query any visual style, aesthetic concept, or reference
📥 Image download — bulk save to local storage, organized by session and query
🧠 LLM vision analysis — structured tags per image: lighting, mood, palette, segment, shot type, brand feel
🗃️ Vector storage — ChromaDB with semantic embeddings
🔁 One-call pipeline —
pinterest_pipelineruns the full workflow in a single tool call🔍 Semantic retrieval —
visual_searchfinds references by vibe, not just keywords
How it works
search → download → LLM vision analysis → ChromaDB → semantic retrievalSearch Pinterest for visual references
Download images locally, organized by date and query
Analyze each image with a vision LLM → structured aesthetic tags
Store in ChromaDB vector database
Retrieve semantically — "dark masculine editorial close-up" finds the right images even if those words aren't in the original captions
Or run the full pipeline in one call with pinterest_pipeline.
Use cases
Creative AI workflows — give agents a visual vocabulary. Instead of relying on text descriptions alone, agents query the library for structured references and use their extracted parameters to guide image generation.
Visual direction — an agent briefing an image model pulls references from the library, extracts their lighting type, composition, and palette, and uses those as structured input.
Style consistency — build a visual library from existing brand photography, then use visual_search to verify that new images match the established aesthetic.
Moodboard automation — agents autonomously search, analyze, and organize visual inspiration around any brief.
Requirements
Python 3.10+
API key for any OpenAI-compatible vision API (OpenRouter, OpenAI, Groq, etc.)
Cost note: image analysis calls a vision LLM. With
anthropic/claude-sonnet-4-6via OpenRouter, 8 images cost roughly $0.01–$0.05.
Quick Start
git clone https://github.com/Kreminskaya/pinterest-vision-mcp.git
cd pinterest-vision-mcp
pip install -e .
cp .env.example .env
# set VISION_API_KEY in .envMCP configuration
Works with any MCP-compatible client — Claude Desktop, Cursor, Hermes, or your own agent.
Replace /absolute/path/to/pinterest-vision-mcp with the real path.
{
"mcpServers": {
"pinterest-vision": {
"command": "python",
"args": ["-m", "pinterest_vision_mcp.server"],
"cwd": "/absolute/path/to/pinterest-vision-mcp",
"env": {
"VISION_API_KEY": "your_key_here"
}
}
}
}The same JSON block works across all clients that support MCP stdio transport.
Environment variables
Variable | Default | Description |
| — | Required. API key for your LLM provider |
|
| Base URL (any OpenAI-compatible API) |
|
| Any vision-capable model |
|
| Directory for downloaded images |
|
| ChromaDB vector storage path |
Supported providers:
# OpenRouter (Claude, GPT-4o, Llama, and 200+ more)
VISION_API_BASE_URL=https://openrouter.ai/api/v1
PINTEREST_VISION_MODEL=anthropic/claude-sonnet-4-6
# OpenAI
VISION_API_BASE_URL=https://api.openai.com/v1
PINTEREST_VISION_MODEL=gpt-4o-mini
# Groq
VISION_API_BASE_URL=https://api.groq.com/openai/v1
PINTEREST_VISION_MODEL=llama-3.2-11b-vision-previewTools
Tool | Description |
| Search Pinterest by query — returns pins with image URLs |
| Download images from search results to local disk |
| Analyze images with LLM vision — returns structured aesthetic tags |
| Store analyses in ChromaDB for semantic retrieval |
| Full pipeline in one call: search → download → analyze → store |
| Semantic search across stored visual references |
Visual analysis schema
Each analyzed image returns:
Field | Example values |
| natural, studio, golden hour, overcast |
| centered, rule-of-thirds, flat lay, symmetrical |
| close-up, medium, full body, detail shot |
| editorial, minimal, dark, romantic, energetic |
| free-text color description |
| luxury / premium / contemporary / streetwear |
| campaign editorial / e-commerce product / lookbook |
| clothing items featured |
| styling details and accessories |
| brand aesthetic impression |
| reference-worthy / average / not useful |
| 2–3 sentence summary |
Usage
# Full pipeline — search, download, analyze, store in one call
result = pinterest_pipeline(
query="quiet luxury beige coat editorial",
limit=15,
max_download=8,
)
# "Complete: 15 found, 8 downloaded, 8 analyzed, 8 stored"
# Semantic search across the visual library
refs = visual_search(
query="dark masculine editorial close-up",
segment="luxury",
shot_type="campaign editorial",
n_results=10,
)
# Step-by-step (for more control)
search = pinterest_search(query="minimal white studio editorial", limit=20)
download = pinterest_download(search_result=search, max_images=10)
analyses = pinterest_analyze(image_paths=[a["local_path"] for a in download["downloaded"]])
pinterest_ingest(analyses=analyses, query="minimal white studio")First run note
On the first call to pinterest_ingest or pinterest_pipeline with ingest=True, ChromaDB downloads a sentence transformer embedding model (~90 MB). This happens once and is cached locally.
Disclaimer
Uses pinterest-dl for Pinterest access. Use responsibly per Pinterest's Terms of Service.
License
MIT
Available Tools
6 toolspinterest_analyzeA
Analyze images with LLM vision. Returns structured visual tags per image. Tags: lighting_type, composition_type, camera_distance, mood, palette, segment, shot_type, garment_focus, styling_signals, brand_feel, overall_quality. Args: image_paths: local file paths to images model: optional OpenRouter model override (default from PINTEREST_VISION_MODEL env)
Inputs: image_paths (required), model. Returns: result
pinterest_downloadA
Download images from a pinterest_search result to local filesystem. Saves to {PINTEREST_DATA_DIR}/pinterest/{date}/{query_slug}/ Args: search_result: output dict from pinterest_search max_images: max images to download (default 10)
Inputs: search_result (required), max_images. Returns: object
pinterest_ingestA
Store visual analyses in ChromaDB vector base for future semantic retrieval. Note: on first run, ChromaDB will download an embedding model (~90 MB). Args: analyses: output list from pinterest_analyze query: optional label for what was searched
Inputs: analyses (required), query. Returns: object
pinterest_pipelineA
Full visual intelligence pipeline: search → download → analyze → store. Note: on first run with ingest=True, ChromaDB will download an embedding model (~90 MB). Args: query: search query, e.g. 'minimal editorial white shirt studio' limit: max pins to search (default 15) max_download: max images to download and analyze (default 8) analyze: run LLM vision analysis (default True) ingest: store results in vector base (default True)
Inputs: query (required), limit, max_download, analyze, +1 more. Returns: object
pinterest_searchA
Search Pinterest for visual references. Returns list of pins with image URLs and metadata. Args: query: e.g. 'quiet luxury beige coat editorial' limit: max pins to return (default 20)
Inputs: query (required), limit. Returns: object
visual_searchA
Semantic search across stored visual references. Find past analyses by style, mood, segment, or free-text description. Args: query: e.g. 'dark editorial masculine streetwear close-up' n_results: number of results to return (default 10) segment: optional filter (luxury / premium / contemporary / streetwear) shot_type: optional filter (campaign editorial / e-commerce product / lookbook / ...) mood: optional filter by mood string
Inputs: query (required), n_results, segment, shot_type, +1 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a distinct purpose: search retrieves pins, download saves images, analyze extracts visual tags, ingest stores results, pipeline runs the full workflow, and visual_search queries stored analyses. No overlap in functionality.
All tools follow a consistent verb_noun pattern: 'pinterest_search', 'pinterest_download', 'pinterest_analyze', 'pinterest_ingest', 'pinterest_pipeline', and 'visual_search'. No mixing of conventions.
With 6 tools, the server is well-scoped for its purpose of Pinterest-based visual analysis and retrieval. Each tool covers a necessary step in the pipeline without redundancy.
The tool set covers the full workflow from search to semantic querying. However, there is no tool for deleting or updating stored analyses, which could be considered a minor gap.
Maintenance
Related MCP Connectors
MCP server for Qwen Image 3 AI image generation
One MCP server for the services your AI needs: memory, files, Microsoft 365, kanban and more.
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server that analyzes images with Google's Gemini vision models, allowing agents to describe or ask questions about images without bloating context.1MIT
- AlicenseAqualityDmaintenanceAn MCP server that gives AI agents the ability to observe and understand images via multi-provider vision, object detection, hierarchical analysis, and color extraction.444 npm2MIT
- AlicenseNot gradedqualityDmaintenanceUnofficial MCP server for cosmos.so that enables AI agents to search visual content, find similar images, and create/manage collections to build moodboards.105 npm15MIT
- AlicenseAqualityCmaintenanceMCP server that gives text-only AI agents the ability to understand images via vision tools, including multi-image analysis, OCR, comparison, and structured extraction. It uses providers like OpenAI, Anthropic, Gemini, and OpenRouter to return plain text descriptions.1018 npmMIT