关于 Stock Images MCP
Stock Images MCP 是一个 MCP 服务,可搜索并下载 Pexels、Unsplash 和 Pixabay 的免费图库图片,适用于需要查找图片并安全保存到本地的 AI 客户端与工作流。
主要功能
- 01搜索单个或全部图片提供方
- 02按方向和结果数量筛选
- 03将图片下载到本地文件夹
- 04拒绝不安全路径和未许可主机
- 05报告各提供方的部分失败
适用场景
- 01为演示文稿或文章查找图片
- 02将选中的图库图片保存到本地
- 03一次搜索多个图片库
MCP 相关
向 MCP 客户端提供 search_images 和 download_image 工具。搜索至少需要一个提供方的 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y stock-images-mcpPEXELS_API_KEY密钥API key from pexels.com/api (free). At least one provider key is required.UNSPLASH_API_KEY密钥Access key from unsplash.com/developers (free). Required to download Unsplash photos.PIXABAY_API_KEY密钥API key from pixabay.com/api/docs (free).STOCK_IMAGES_DOWNLOAD_DIRDirectory where download_image saves files (default: ./downloads).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| count | number | 否 | 每个提供商的图片数量(默认:5,最大:20) |
| query | string | 是 | 图片搜索词 |
| provider | enum | 否 | 搜索哪个提供商(默认:所有已配置的提供商)pexels | unsplash | pixabay | all |
| orientation | enum | 否 | 图片方向筛选条件landscape | portrait | square |
详细介绍
Stock Images MCP
用于从 Pexels、Unsplash 和 Pixabay 搜索和下载图库图片的 MCP(模型上下文协议)服务。
功能
- search_images:搜索一个或所有已配置的提供商;会分别报告各提供商的部分失败情况
- download_image:将图片安全地下载到本地文件夹
设置
获取 API 密钥(至少需要一个)
| 提供商 | 环境变量 | 获取密钥 |
|---|---|---|
| Pexels | PEXELS_API_KEY | https://www.pexels.com/api/ |
| Unsplash | UNSPLASH_API_KEY | https://unsplash.com/developers |
| Pixabay | PIXABAY_API_KEY | https://pixabay.com/api/docs/ |
可选:STOCK_IMAGES_DOWNLOAD_DIR — download_image 写入文件的位置(默认值为 ./downloads)。
Claude Code / Cursor / Claude Desktop
添加到 MCP 配置(~/.claude/mcp.json、~/.cursor/mcp.json 或 claude_desktop_config.json):
{
"mcpServers": {
"stock-images": {
"command": "npx",
"args": ["-y", "stock-images-mcp"],
"env": {
"PEXELS_API_KEY": "your-key-here",
"UNSPLASH_API_KEY": "your-key-here",
"PIXABAY_API_KEY": "your-key-here"
}
}
}
}
需要 Node.js 22+。
Docker
docker build -t stock-images-mcp .
docker run -i --rm -e PEXELS_API_KEY=xxx -v "$PWD/downloads:/downloads" stock-images-mcp
从源代码构建
git clone https://github.com/jeanpfs/stock-images-mcp.git
cd stock-images-mcp
npm ci && npm run build
PEXELS_API_KEY=xxx node dist/index.js
工具
search_images
在已配置的提供商中搜索图库图片。
参数:
query(必填):搜索词provider:"pexels"、"unsplash"、"pixabay"或"all"(默认值:"all")count:每个提供商返回的结果数(默认值为 5,最大值为 20)orientation:"landscape"、"portrait"或"square"
每个结果包含 id、provider、url、thumbnail、description、author、authorUrl、downloadUrl、width、height。将 downloadUrl 传给 download_image。
download_image
将图片下载到下载目录。
参数:
url(必填):位于pexels.com、unsplash.com或pixabay.com上的https图片 URL(使用search_images返回的downloadUrl)filename:输出名称 — 仅限字母、数字、_、-、.;如果缺少扩展名,将根据内容类型添加(未提供时自动生成)folder:下载目录中的子文件夹
行为和限制:
- 下载目录为
./downloads,或设置了STOCK_IMAGES_DOWNLOAD_DIR时使用其指定目录。会拒绝任何逃逸出该目录的路径(包括通过符号链接逃逸的路径)。 - 仅保存
image/*响应;最大 50 MiB;超时 30 秒;仅跟随重定向到允许的主机。 - 永不覆盖已有文件。
- Unsplash 下载需要
UNSPLASH_API_KEY:该工具会调用 Unsplash 的下载端点,这是其 API 指南的要求。
错误
失败时返回 isError: true。如果部分提供商失败、其他提供商成功,search_images 也会返回按提供商分类的 errors 列表。提供商请求在 10 秒后超时;遇到网络错误、429 和 502/503/504 时会重试。
署名和许可
图片受各提供商的许可条款约束。按提供商要求标注摄影师(为此会返回 author 和 authorUrl),并查看许可条款:Pexels、Unsplash、Pixabay。
开发
npm ci
npm run lint && npm run format:check && npm run typecheck && npm test
请参阅 CONTRIBUTING.md、CODE_OF_CONDUCT.md 和 SECURITY.md(请私下报告漏洞,不要在公开议题中报告)。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。