这是一个提供 Unsplash 图片搜索和检索能力的 Model Context Protocol 服务器。该服务器使 LLM 能够在 Unsplash 的庞大图片库中进行搜索、检索和获取随机图片。这是一个用 Go 实现的项目,提供了诸如
search_photos、get_photo和random_photo等工具。
search_photos - 在 Unsplash 上搜索照片
query (字符串,必需):搜索关键词page (数字,可选):页面编号(从 1 开始),默认值:1per_page (数字,可选):每页结果数(1-30),默认值:1order_by (字符串,可选):排序方法(relevant 或 latest),默认值:"relevant"color (字符串,可选):颜色过滤器(black_and_white, black, white, yellow, orange, red, purple, magenta, green, teal, blue)orientation (字符串,可选):方向过滤器(landscape, portrait, squarish)get_photo - 获取特定照片的详细信息
photoId (字符串,必需):要检索的照片 IDrandom_photo - 获取一个或多个随机照片
count (数字,可选):返回的照片数量(默认值:1;最大值:30)collections (字符串,可选):公共收藏集 ID(多个时逗号分隔)topics (字符串,可选):公共主题 ID(多个时逗号分隔)username (字符串,可选):限制选择到特定用户query (字符串,可选):限制选择到匹配搜索词的照片orientation (字符串,可选):按照片方向过滤。有效值:landscape, portrait, squarishcontent_filter (字符串,可选):按内容安全性限制结果。有效值:low, highfeatured (布尔值,可选):限制选择到特色照片从 GitHub Releases 页面下载适用于您平台的最新预构建二进制文件,并按照下面的安装说明操作。
<details> <summary><b>macOS 安装</b></summary># 下载 arm64 版本
curl -L https://github.com/okooo5km/unsplash-mcp-server-go/releases/latest/download/unsplash-mcp-server-macos-arm64.zip -o unsplash-mcp-server.zip
unzip unsplash-mcp-server.zip
chmod +x unsplash-mcp-server
# 移除隔离属性以避免安全警告
xattr -d com.apple.quarantine unsplash-mcp-server
# 安装到本地 bin 目录
mkdir -p ~/.local/bin
mv unsplash-mcp-server ~/.local/bin/
rm unsplash-mcp-server.zip
# 下载 x86_64 版本
curl -L https://github.com/
...
[剩余部分省略,同上]
...
克隆仓库:
git clone https://github.com/okooo5km/unsplash-mcp-server-go.git
cd unsplash-mcp-server-go
构建项目:
使用 Make(推荐):
# 为当前平台构建
make
# 或者为特定平台构建
make build-darwin-universal # macOS 通用二进制文件
make build-darwin-arm64 # macOS Apple Silicon
make build-darwin-amd64 # macOS Intel
make build-linux-amd64 # Linux x86_64
make build-linux-arm64 # Linux ARM64
make build-windows-amd64 # Windows x86_64
# 或者一次性构建所有平台
make build-all
# 创建所有平台的分发包
make dist
二进制文件将被放置在 .build 目录下。
直接使用 Go:
go build -o unsplash-mcp-server
安装二进制文件:
# 安装到用户目录(推荐,无需 sudo)
mkdir -p ~/.local/bin
cp unsplash-mcp-server ~/.local/bin/
确保 ~/.local/bin 在您的 PATH 中,通过添加到您的 shell 配置文件:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc # 或 ~/.bashrc
source ~/.zshrc # 或 source ~/.bashrc
服务器需要 Unsplash API 访问密钥才能运行。在您的环境中设置它:
export UNSPLASH_ACCESS_KEY="your-access-key-here"
添加到您的 Claude 设置:
"mcpServers": {
"unsplash": {
"command": "unsplash-mcp-server",
"env": {
"UNSPLASH_ACCESS_KEY": "your-access-key-here"
}
}
}
在您的 Cursor 编辑器的 settings.json 中添加以下配置:
{
"mcpServers": {
"unsplash": {
"command": "unsplash-mcp-server",
"env": {
"UNSPLASH_ACCESS_KEY": "your-access-key-here"
}
}
}
}

注意:在 Chatwise 中添加环境变量时,不要将值用引号包裹(修复了 #1)
服务器支持以下命令行参数:
-h, --help:显示关于服务器及其用法和可用选项的帮助信息-v, --version:显示 unsplash-mcp-server 的版本号-t, --transport <string>:使用的传输类型(默认:"stdio")
stdio:标准输入/输出模式,用于直接与 LLM 集成sse:Server-Sent Events 模式,用于基于 Web 的连接-p, --port <int>:在 SSE 模式下运行时使用的端口(默认:8080)示例用法:
# 显示帮助信息
unsplash-mcp-server --help
# 显示版本信息
unsplash-mcp-server --version
# 使用默认设置启动服务器(stdio 模式)
unsplash-mcp-server
# 在默认端口(8080)上以 SSE 模式启动服务器
unsplash-mcp-server --transport sse
# 在自定义端口上以 SSE 模式启动服务器
unsplash-mcp-server --transport sse --port 9090
当以 SSE 模式运行时,服务器将在指定的端口上通过 HTTP 可用,允许基于 Web 的客户端连接。在 stdio 模式(默认)下,服务器通过标准输入/输出通信,这对于直接与 LLM 应用集成非常理想。
您可以使用以下系统提示来帮助 Claude 有效地利用 unsplash-mcp-server:
您可以通过 MCP 访问 Unsplash 图片搜索工具。您可以:
1. 使用特定关键词、颜色或方向搜索图片:
- 使用 search_photos 工具查找任何主题的图片
- 根据需要筛选颜色或方向
- 您可以翻页并控制每页显示的数量
2. 获取特定照片的详细信息:
- 使用 get_photo 和照片 ID 来检索全面详情
- 这包括 EXIF 数据、位置信息和摄影师详情
3. 获取带有自定义过滤器的随机图片:
- 使用 random_photo 工具根据标准获取惊喜图片
- 根据主题、收藏集、用户名等筛选随机选择
当用户请求图片时,请使用这些工具找到相关的 Unsplash 图片。
在响应中包含图片 URL,以便用户查看图片。
{
"query": "山景",
"per_page": 5,
"color": "蓝色",
"orientation": "横向"
}
{
"photoId": "Dwu85P9SOIk"
}
{
"count": 3,
"query": "咖啡",
"orientation": "纵向"
}
请参阅 GitHub Releases 了解版本历史和变更日志。
如果您发现 unsplash-mcp-server 有用,请考虑支持其开发:
unsplash-mcp-server-go 在 MIT 许可证下发布。这意味着您可以自由地使用、修改和分发该软件,但需遵守 MIT 许可证中的条款和条件。更多详情,请参见项目存储库中的 LICENSE 文件。