Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Descripción del creador (original en inglés)
Search and download stock images from Unsplash, Pexels, Pixabay, Freepik, StockVault, and Burst
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
UNSPLASH_ACCESS_KEY, PEXELS_API_KEY, PIXABAY_API_KEY, FREEPIK_API_KEY, STOCKVAULT_API_KEY, DEFAULT_PROVIDERLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"images": {
"command": "uvx",
"args": [
"stock-image-mcp"
],
"env": {
"UNSPLASH_ACCESS_KEY": "your-value",
"PEXELS_API_KEY": "your-value",
"PIXABAY_API_KEY": "your-value",
"FREEPIK_API_KEY": "your-value",
"STOCKVAULT_API_KEY": "your-value",
"DEFAULT_PROVIDER": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add images --env UNSPLASH_ACCESS_KEY=your-value --env PEXELS_API_KEY=your-value --env PIXABAY_API_KEY=your-value --env FREEPIK_API_KEY=your-value --env STOCKVAULT_API_KEY=your-value --env DEFAULT_PROVIDER=your-value -- uvx stock-image-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"images": {
"command": "uvx",
"args": [
"stock-image-mcp"
],
"env": {
"UNSPLASH_ACCESS_KEY": "your-value",
"PEXELS_API_KEY": "your-value",
"PIXABAY_API_KEY": "your-value",
"FREEPIK_API_KEY": "your-value",
"STOCKVAULT_API_KEY": "your-value",
"DEFAULT_PROVIDER": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"images": {
"type": "stdio",
"command": "uvx",
"args": [
"stock-image-mcp"
],
"env": {
"UNSPLASH_ACCESS_KEY": "your-value",
"PEXELS_API_KEY": "your-value",
"PIXABAY_API_KEY": "your-value",
"FREEPIK_API_KEY": "your-value",
"STOCKVAULT_API_KEY": "your-value",
"DEFAULT_PROVIDER": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
DEFAULT_PROVIDER envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub Hasilt, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: UNSPLASH_ACCESS_KEY, PEXELS_API_KEY, PIXABAY_API_KEY, FREEPIK_API_KEY, STOCKVAULT_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.6) llegó al registro hace 3 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Figma Context MCP, Claude Real Video, Figma MCP Server
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
An MCP server that lets Claude Code (or any MCP-compatible agent) search and download stock images by tool call — useful for sourcing images while writing SEO blog posts or other content.
| Provider | API type | Requires key | Default rate limit |
|---|---|---|---|
| Unsplash | Official | Yes | 50/hr demo, 5000/hr production |
| Pexels | Official | Yes | 200/hr |
| Pixabay | Official | Yes | 100 req/60s |
| Freepik | Official | Yes | configurable (plan-dependent) |
| StockVault | Official | Yes | configurable (undocumented, conservative default) |
| Burst (Shopify) | Unofficial scrape | No | self-imposed, polite default |
Burst has no public API. It's included as a best-effort HTML scraper, clearly marked unsupported in code — any failure there is caught and reported as an empty result rather than breaking search_all_images.
Each user runs the server locally and supplies their own provider API keys — there's no shared hosting or centrally-held keys.
With Claude Code:
claude mcp add stock-image-mcp \
-e UNSPLASH_ACCESS_KEY=... \ -e UNSPLASH_TIER=demo \ -e PEXELS_API_KEY=... \ -e PIXABAY_API_KEY=... \ -e FREEPIK_API_KEY=... \ -e FREEPIK_REQUESTS_PER_MINUTE=60 \ -e STOCKVAULT_API_KEY=... \ -e STOCKVAULT_REQUESTS_PER_HOUR=60 \ -e BURST_REQUESTS_PER_MINUTE=10 \ -e DEFAULT_PROVIDER=pexels \ -e DOWNLOAD_DIR=./downloads \ -- uvx stock-image-mcp
With OpenAI Codex CLI:
codex mcp add stock-image-mcp \
--env UNSPLASH_ACCESS_KEY=... \ --env UNSPLASH_TIER=demo \ --env PEXELS_API_KEY=... \ --env PIXABAY_API_KEY=... \ --env FREEPIK_API_KEY=... \ --env FREEPIK_REQUESTS_PER_MINUTE=60 \ --env STOCKVAULT_API_KEY=... \ --env STOCKVAULT_REQUESTS_PER_HOUR=60 \ --env BURST_REQUESTS_PER_MINUTE=10 \ --env DEFAULT_PROVIDER=pexels \ --env DOWNLOAD_DIR=./downloads \ -- uvx stock-image-mcp
With Gemini CLI:
gemini mcp add stock-image-mcp \
-e UNSPLASH_ACCESS_KEY=... \ -e UNSPLASH_TIER=demo \ -e PEXELS_API_KEY=... \ -e PIXABAY_API_KEY=... \ -e FREEPIK_API_KEY=... \ -e FREEPIK_REQUESTS_PER_MINUTE=60 \ -e STOCKVAULT_API_KEY=... \ -e STOCKVAULT_REQUESTS_PER_HOUR=60 \ -e BURST_REQUESTS_PER_MINUTE=10 \ -e DEFAULT_PROVIDER=pexels \ -e DOWNLOAD_DIR=./downloads \ -- uvx stock-image-mcp
Or add it to your MCP config manually with uvx (no clone or install step required — uvx fetches the package from PyPI on first run):
{
"mcpServers": { "stock-image-mcp": { "command": "uvx", "args": ["stock-image-mcp"], "env": { "UNSPLASH_ACCESS_KEY": "...", "UNSPLASH_TIER": "demo", "PEXELS_API_KEY": "...", "PIXABAY_API_KEY": "...", "FREEPIK_API_KEY": "...", "FREEPIK_REQUESTS_PER_MINUTE": "60", "STOCKVAULT_API_KEY": "...", "STOCKVAULT_REQUESTS_PER_HOUR": "60", "BURST_REQUESTS_PER_MINUTE": "10", "DEFAULT_PROVIDER": "pexels", "DOWNLOAD_DIR": "./downloads" } } } }
Only UNSPLASH_ACCESS_KEY, PEXELS_API_KEY, PIXABAY_API_KEY, FREEPIK_API_KEY, and STOCKVAULT_API_KEY are actual secrets — set only the ones for providers you want enabled and drop the rest; any provider key you omit is simply skipped by search_all_images and rejected if queried directly via search_stock_images. The remaining variables are optional tuning knobs shown above with their defaults — see .env.example for the full list.
search_stock_images(query, provider="default", orientation=None, per_page=10, page=1)search_all_images(query, orientation=None, per_page=5) — fans out to every configured provider concurrentlyget_best_image(query, provider="default")download_image(url, dest_path, provider=None) — saves locally, returns attribution text if the image came from a prior searchget_attribution(provider, image_id)get_rate_limit_status(provider=None)You don't call these tools directly — you just talk to your agent, and it decides when to reach for one based on what you asked and the tool descriptions above. A few things worth knowing:
search_all_images (or search_stock_images if you name a provider). "Download that first Unsplash result to ./images/hero.jpg" triggers download_image. "How many Pexels requests do I have left this hour?" triggers get_rate_limit_status.search_stock_images needs a specific provider (or "default"); search_all_images just queries everything you've configured keys for and merges the results. Say "search Pexels only" or similar if you care which one gets used.download_image returns the attribution text alongside the file when it applies — it's on you to paste it wherever the image ends up, the server won't do that part for you.Working from a clone instead of the published package:
uv sync
cp .env.example .env # fill in the API keys for providers you want enabled uv run stock-image-mcp
Point your Claude config at the local checkout instead of uvx:
{
"mcpServers": { "stock-image-mcp": { "command": "uv", "args": [ "--directory", "/absolute/path/to/stock-image-mcp", "run", "stock-image-mcp" ], "env": { "UNSPLASH_ACCESS_KEY": "...", "UNSPLASH_TIER": "demo", "PEXELS_API_KEY": "...", "PIXABAY_API_KEY": "...", "FREEPIK_API_KEY": "...", "FREEPIK_REQUESTS_PER_MINUTE": "60", "STOCKVAULT_API_KEY": "...", "STOCKVAULT_REQUESTS_PER_HOUR": "60", "BURST_REQUESTS_PER_MINUTE": "10", "DEFAULT_PROVIDER": "pexels", "DOWNLOAD_DIR": "./downloads" } } } }
uv run pytest # test suite (mocked HTTP, no live keys needed)
uv run ruff check . # lint uv run ruff format . # format uv run mypy src # type check
To try it against real providers, use the MCP Inspector:
npx @modelcontextprotocol/inspector uv run stock-image-mcp