mcpField
S
Stock Images MCP

Stock Images MCP

本地服务
github.com/jeanpfs搜索与检索52 天前更新

关于 Stock Images MCP

Stock Images MCP 是一个 MCP 服务,可搜索并下载 Pexels、Unsplash 和 Pixabay 的免费图库图片,适用于需要查找图片并安全保存到本地的 AI 客户端与工作流。

主要功能

  1. 01搜索单个或全部图片提供方
  2. 02按方向和结果数量筛选
  3. 03将图片下载到本地文件夹
  4. 04拒绝不安全路径和未许可主机
  5. 05报告各提供方的部分失败

适用场景

  1. 01为演示文稿或文章查找图片
  2. 02将选中的图库图片保存到本地
  3. 03一次搜索多个图片库

MCP 相关

向 MCP 客户端提供 search_images 和 download_image 工具。搜索至少需要一个提供方的 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jeanpfs-stock-images": {
"command": "npx",
"args": [
"-y",
"stock-images-mcp"
],
"env": {
"PEXELS_API_KEY": "<PEXELS_API_KEY>",
"UNSPLASH_API_KEY": "<UNSPLASH_API_KEY>",
"PIXABAY_API_KEY": "<PIXABAY_API_KEY>",
"STOCK_IMAGES_DOWNLOAD_DIR": "<STOCK_IMAGES_DOWNLOAD_DIR>"
}
}
}
}
启动命令npx -y stock-images-mcp
需要配置的环境变量
PEXELS_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmstock-images-mcp2.0.1

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
countnumber否每个提供商的图片数量(默认:5,最大:20)
querystring是图片搜索词
providerenum否搜索哪个提供商(默认:所有已配置的提供商)pexels | unsplash | pixabay | all
orientationenum否图片方向筛选条件landscape | portrait | square

详细介绍

Stock Images MCP

CI npm license

README 配图

Claude Code 搜索三个图库提供商,并下载带有署名的最佳匹配图片

用于从 Pexels、Unsplash 和 Pixabay 搜索和下载图库图片的 MCP(模型上下文协议)服务。

功能

  • search_images:搜索一个或所有已配置的提供商;会分别报告各提供商的部分失败情况
  • download_image:将图片安全地下载到本地文件夹

设置

获取 API 密钥(至少需要一个)
提供商环境变量获取密钥
PexelsPEXELS_API_KEYhttps://www.pexels.com/api/
UnsplashUNSPLASH_API_KEYhttps://unsplash.com/developers
PixabayPIXABAY_API_KEYhttps://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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。