用途
unsplash-mcp 是一个基于模型上下文协议(Model Context Protocol,MCP)的服务器,用于从 Unsplash 获取照片,并内置规范的图片署名功能。它专为需要为内容页面配图并正确标注来源的 LLM 设计。
Unsplash 要求在其照片被使用时提供适当的署名,该服务器通过为每张照片生成可直接使用的署名文本和 HTML 来简化这一过程,使 LLM 能够方便地构建带有正确署名图片的内容页面(符合 Unsplash API 准则)。
主要能力
- 搜索照片(Search Photos):按关键词查找照片,支持筛选条件(颜色、方向)。
- 随机照片(Random Photos):获取随机照片,为内容增加多样性,也可按关键词筛选。
- 下载跟踪(Download Tracking):符合 Unsplash API 准则,在用户下载图片时进行跟踪。
- 完整署名(Full Attribution):每张照片都包含可直接使用的署名文本和 HTML。
- LLM 优化(LLM-Optimized):提供预格式化的署名字符串,便于嵌入。
具体工具包括:
search_photos:按关键词搜索照片,可选筛选条件。颜色选项:black_and_white、black、white、yellow、orange、red、purple、magenta、green、teal、blue。get_random_photos:获取随机照片,可选按关键词筛选。track_download:跟踪照片下载(Unsplash API 准则要求)。
使用方式
需要 Unsplash API 访问密钥(access key)。
将服务器添加到配置文件(用户级 ~/.claude.json 或项目级 .mcp.json):
{
"mcpServers": {
"unsplash": {
"command": "npx",
"args": ["-y", "unsplash-mcp"],
"env": {
"UNSPLASH_ACCESS_KEY": "your_access_key_here"
}
}
}
}
添加到 Cursor MCP 设置:将上述 MCP 配置加入 Cursor 的 MCP 设置中。
Windsurf / Cline:将上述 MCP 配置加入相应的 MCP 配置中。
响应格式与使用流程
每张照片包含的信息(原文未逐一列出字段,提及包括 urls.regular、alt_description、attribution_html、id 等)。
当 LLM 构建内容页面时:
- 搜索相关图片:
photos = search_photos("coffee shop interior", per_page=5) - 选择一张照片并使用:
<img src="{photo.urls.regular}" alt="{photo.alt_description}"> <p class="attribution">{photo.attribution_html}</p> - 如果提供下载,进行跟踪:
download_url = track_download(photo.id)
适用场景
- LLM 为内容页面查找并嵌入图片。
- 需要为图片自动生成符合 Unsplash 要求的署名文本和 HTML。
- 需要随机图片以增加内容多样性。
- 需要遵循 Unsplash API 准则进行下载跟踪。
限制
- 需要 Unsplash API 访问密钥(access key)。
- 速率限制:演示模式(Demo mode)为 50 请求/小时;生产模式(Production)为 5,000 请求/小时(需批准后)。
- 需遵守 Unsplash API 准则:使用
attribution_html注明摄影师和 Unsplash;直接使用提供的 URL(启用浏览跟踪);用户下载图片时调用track_download()。
其他信息
- 许可证:MIT License(详见 LICENSE 文件)。
- 欢迎贡献(提交 Pull Request)。