Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者による説明(英語の原文)
Search and download stock images from Unsplash, Pexels, Pixabay, Freepik, StockVault, and Burst
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
UNSPLASH_ACCESS_KEY, PEXELS_API_KEY, PIXABAY_API_KEY, FREEPIK_API_KEY, STOCKVAULT_API_KEY, DEFAULT_PROVIDER「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、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"
}
}
}
}ターミナルでこれを実行します
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-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
DEFAULT_PROVIDER envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Hasilt で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:UNSPLASH_ACCESS_KEY, PEXELS_API_KEY, PIXABAY_API_KEY, FREEPIK_API_KEY, STOCKVAULT_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.6)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
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.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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