asset-finder-mcp
Provides tools for searching and retrieving icons from Iconify's library of 200,000+ open-source UI icons, including filtering by style and license.
Enables searching and retrieving stock photos from Pexels' library of free-to-use photography, with metadata like dimensions and license info.
Enables searching and retrieving stock photos and vectors from Pixabay's collection, with filtering by type and license.
Enables searching and retrieving stock photos from Unsplash's library, with metadata for dimensions and the Unsplash license.
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., "@asset-finder-mcp suggest an asset for a settings gear icon"
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.
Asset Finder MCP
The all-in-one asset search MCP server for AI coding agents
Find icons, logos, stock photos, vectors, and emoji — all from a single tool call.
Why?
AI coding agents (Cursor, Claude Code, Windsurf, Cline) build UIs every day — but when they need an icon, a logo, or a stock photo, the human has to go find it manually. Asset Finder MCP fixes this. Your AI agent can now search 700,000+ assets and pick the right one, in real-time, without leaving the editor.
Related MCP server: PickAPIcon MCP
What It Does
Tool | Description | Sources |
| Search 200,000+ UI icons | Iconify |
| Find brand & company logos | Logo.dev |
| Search free stock photography | Pexels, Unsplash, Pixabay |
| Search 500,000+ SVG vectors | SVG Repo |
| Search open-source emoji | OpenMoji |
| Describe what you need → get ranked matches | All sources |
| Get full details for a specific asset | All sources |
| Show available asset sources | — |
Quick Start
One-line install (no API keys needed):
{
"mcpServers": {
"asset-finder": {
"command": "npx",
"args": ["-y", "asset-finder-mcp"]
}
}
}That's it. The server starts immediately with 3 free providers (Iconify, SVG Repo, OpenMoji) — no signup, no keys, no config.
With stock photos and logos (optional API keys):
{
"mcpServers": {
"asset-finder": {
"command": "npx",
"args": ["-y", "asset-finder-mcp"],
"env": {
"PEXELS_API_KEY": "your-key",
"UNSPLASH_ACCESS_KEY": "your-key",
"PIXABAY_API_KEY": "your-key",
"LOGO_DEV_TOKEN": "your-token"
}
}
}
}Get free API keys:
Pexels — https://www.pexels.com/api/
Unsplash — https://unsplash.com/developers
Pixabay — https://pixabay.com/api/docs/
Logo.dev — https://logo.dev
Install in Your Editor
Edit claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"asset-finder": {
"command": "npx",
"args": ["-y", "asset-finder-mcp"]
}
}
}Create .cursor/mcp.json in your project root:
{
"mcpServers": {
"asset-finder": {
"command": "npx",
"args": ["-y", "asset-finder-mcp"]
}
}
}Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"asset-finder": {
"command": "npx",
"args": ["-y", "asset-finder-mcp"]
}
}
}Add to your MCP settings:
{
"mcpServers": {
"asset-finder": {
"command": "npx",
"args": ["-y", "asset-finder-mcp"]
}
}
}git clone https://github.com/Erfangit23/asset-finder-mcp.git
cd asset-finder-mcp
npm install
npm run build
npm startThe suggest_asset Tool (The Killer Feature)
Instead of knowing which tool to call, just describe what you need:
"suggest_asset" with description: "modern minimalist icon for a settings menu, blue color"
→ searches Iconify + SVG Repo, returns ranked results
"suggest_asset" with description: "Stripe company logo"
→ searches Logo.dev, returns the Stripe logo
"suggest_asset" with description: "professional headshot photo for a team page"
→ searches Pexels + Unsplash + Pixabay, returns photos
"suggest_asset" with description: "cute cat emoji"
→ searches OpenMoji, returns matching emojiThe tool auto-detects the asset type from your description and searches the right providers.
Example: AI Agent Workflow
You ask Cursor: "Build a settings page with a gear icon and a mountain background image"
Cursor calls:
suggest_asset("gear settings icon")→ gets SVG icon URLCursor calls:
suggest_asset("mountain landscape background")→ gets stock photo URLCursor writes: The full HTML/CSS with real assets embedded — no placeholders
Asset Catalog
Source | Type | Count | API Key | License |
Iconify | Icons | 200,000+ | No | Various (per icon set) |
SVG Repo | Vectors | 500,000+ | No | Various (CC0, CC-BY, etc.) |
OpenMoji | Emoji | 4,000+ | No | CC BY-SA 4.0 |
Pexels | Stock Photos | Millions | Yes | Free for commercial use |
Unsplash | Stock Photos | Millions | Yes | Unsplash License |
Pixabay | Photos & Vectors | 2M+ | Yes | Pixabay Content License |
Logo.dev | Brand Logos | 50,000+ | Yes | Free for commercial use |
Features
Zero-config start — works immediately with 3 free providers, no signup
Multi-source aggregation — one tool call, results from all providers
AI-friendly output — license info, dimensions, format, tags in every result
License-aware filtering — filter by MIT, CC0, CC-BY, commercial-use, etc.
Smart suggestion — describe in natural language, get the right asset type
In-memory caching — LRU cache reduces API calls and latency
TypeScript — fully typed, declaration files included
Tested — unit tests for cache, normalization, and filtering
Project Structure
asset-finder-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── config.ts # Environment config loader
│ ├── types.ts # Shared type definitions
│ ├── tools/
│ │ ├── search-tools.ts # search_icons, search_logos, search_stock_photos, search_vectors, search_emoji
│ │ ├── suggest-asset.ts # suggest_asset (smart multi-provider search)
│ │ ├── get-asset.ts # get_asset (fetch by ID)
│ │ └── list-providers.ts # list_providers (show available sources)
│ ├── providers/
│ │ ├── iconify.ts # 200k+ icons (free, no key)
│ │ ├── svgrepo.ts # 500k+ SVG vectors (free, no key)
│ │ ├── openmoji.ts # Open-source emoji (free, no key)
│ │ ├── pexels.ts # Stock photos (free, key needed)
│ │ ├── unsplash.ts # Stock photos (free, key needed)
│ │ ├── pixabay.ts # Photos & vectors (free, key needed)
│ │ └── logo-dev.ts # Brand logos (free, token needed)
│ └── utils/
│ ├── cache.ts # LRU cache
│ ├── normalize.ts # Result normalization & AI formatting
│ └── license-filter.ts # License/format/color filtering
├── tests/
│ ├── cache.test.ts
│ ├── normalize.test.ts
│ └── license-filter.test.ts
├── examples/
│ ├── claude-desktop.json
│ ├── cursor-config.json
│ └── windsurf-config.json
├── docs/
│ ├── INSTALL.md
│ └── PROVIDERS.md
├── .github/workflows/ci.yml
├── .env.example
├── package.json
├── tsconfig.json
└── LICENSEContributing
Contributions are welcome! Here's how to add a new provider:
Create
src/providers/your-provider.tsimplementing theProviderinterfaceRegister it in
src/index.tsAdd tests
Update
docs/PROVIDERS.mdSubmit a PR
License
MIT — see LICENSE
Links
MCP Specification: https://modelcontextprotocol.io
MCP SDK: https://github.com/modelcontextprotocol/typescript-sdk
Report an issue: https://github.com/Erfangit23/asset-finder-mcp/issues
If this project helped you, give it a star!
Available Tools
8 toolsget_assetA
Get full details for a specific asset by its ID (e.g. 'iconify:mdi:home' or 'pexels:12345'). Returns the asset URL, download URL, license info, and metadata.
Inputs: id (required).
list_providersA
List all available asset providers and their status. Shows which providers are configured and ready to search. Use this to understand what sources are available before searching.
Inputs: no named parameters.
search_emojiA
Search for open-source emoji from OpenMoji. Returns SVG emoji files. All emoji are CC BY-SA 4.0 licensed.
Inputs: query (required), limit.
search_iconsA
Search for icons from 200,000+ icons across 150+ icon sets (Iconify). Returns SVG icons with license info. Perfect for finding UI icons, app icons, and symbols.
Inputs: query (required), limit, license.
search_logosA
Search for brand and company logos. Returns high-quality PNG logos for 50,000+ brands. Requires LOGO_DEV_TOKEN env var for full functionality.
Inputs: query (required), limit.
search_stock_photosA
Search for free stock photos from Pexels, Unsplash, and Pixabay. Photos are free for commercial use. Set PEXELS_API_KEY, UNSPLASH_ACCESS_KEY, or PIXABAY_API_KEY env vars to enable respective providers.
Inputs: query (required), color, limit, license.
search_vectorsA
Search for SVG vectors and illustrations from SVG Repo (500,000+ open-licensed SVGs). Returns downloadable SVG files with license information.
Inputs: query (required), limit, license.
suggest_assetA
Smart asset suggestion — describe what you need in natural language and get the best matching assets across all sources (icons, logos, stock photos, vectors, emoji). The tool automatically picks the right provider(s) based on your description. Use this when you're not sure which specific asset type to search for.
Inputs: description (required), limit, license, preferred_type.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: search_icons, search_logos, search_stock_photos, search_vectors, and search_emoji target different asset types, while list_providers, suggest_asset, and get_asset handle provider status, cross-source suggestions, and detail retrieval respectively. There is no overlap or ambiguity between any two tools.
All tool names follow a consistent verb_noun pattern in snake_case (list_, search_, suggest_, get_), with logical and descriptive verbs. The naming is uniform and predictable across the entire set.
With exactly 8 tools, the server is well-scoped for an asset finder, covering search for major asset types, provider status, suggestion, and detail retrieval without redundancy or excess. Each tool earns its place.
The tool set provides comprehensive coverage of the asset discovery workflow: listing available providers, searching all major asset types, retrieving detailed metadata, and even a cross-source natural language suggestion tool. There are no obvious missing operations.
Related MCP Connectors
A coding agent searches the Icons8 library by keyword and style, then adds the selected icon or illustration to the project. Icons8 draws all of it: 420,000+ icons (130+ styles) and 110,000+ illustrations (340+ styles), so one project doesn't end up with mixed looks. The server lives at https://mcp.icons8.com/mcp/ and signs people in through their Icons8 account in the browser. Downloading PNG is free as long as the project links back to Icons8. SVG is on the paid plan, and that plan makes the link optional.
Search a directory of 70K+ AI building blocks: MCP servers, agents, models, datasets, prompts.
Multilingual semantic SVG icon search with previews for AI coding agents. 20,000+ icons.
Web search API and MCP server for developers building AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA search service based on multiple image APIs and icon generation capabilities, specifically designed for integration with Cursor MCP service. Supports image search, download, and AI-generated icons.16MIT
- AlicenseBqualityDmaintenanceMCP server that allows FE/UI/Designers to retrieve SVG icons via the Iconify API by simply asking LLMs rather than manually searching websites.360 npm4MIT
- AlicenseNot gradedqualityDmaintenanceTool search engine for AI agents. One API call to discover the best MCP server for any task. 900+ services indexed with 4-dimensional value ranking.MIT
- AlicenseAqualityDmaintenanceMCP server that allows AI coding agents to search, download, and convert stock photos from Pexels, Unsplash, and Pixabay into WebP format for direct use in web development projects.334 npm5MIT