返回市场
无界-MCP服务器-Swift

无界-MCP服务器-Swift

作者:okooo5km13 星标更新:2025-04-16

项目介绍

Unsplash MCP 服务器

这是一个提供 Unsplash 图片搜索和检索能力的 Model Context Protocol 服务器。该服务器使 LLM 能够在 Unsplash 的庞大图片库中进行搜索、检索和获取随机图片。这是一个用 Go 实现的项目,提供了诸如 search_photosget_photorandom_photo 等工具。

Go 平台 许可证

✨ 特性

  • 高级图像搜索:通过以下过滤器搜索 Unsplash 的庞大照片库:
    • 关键词相关性
    • 颜色方案
    • 方向选项
    • 自定义排序和分页
  • 详细照片信息:获取特定照片的全面详情,包括 EXIF 数据、位置和摄影师信息
  • 随机照片选择:带有灵活过滤选项的随机照片获取
  • 多种连接模式
    • 标准 I/O 模式,用于直接与 LLM 集成
    • Server-Sent Events (SSE) 模式,用于基于 Web 的连接

可用工具

  • search_photos - 在 Unsplash 上搜索照片

    • query (字符串,必需):搜索关键词
    • page (数字,可选):页面编号(从 1 开始),默认值:1
    • per_page (数字,可选):每页结果数(1-30),默认值:1
    • order_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 (字符串,必需):要检索的照片 ID
  • random_photo - 获取一个或多个随机照片

    • count (数字,可选):返回的照片数量(默认值:1;最大值:30)
    • collections (字符串,可选):公共收藏集 ID(多个时逗号分隔)
    • topics (字符串,可选):公共主题 ID(多个时逗号分隔)
    • username (字符串,可选):限制选择到特定用户
    • query (字符串,可选):限制选择到匹配搜索词的照片
    • orientation (字符串,可选):按照片方向过滤。有效值:landscape, portrait, squarish
    • content_filter (字符串,可选):按内容安全性限制结果。有效值:low, high
    • featured (布尔值,可选):限制选择到特色照片

安装

选项 1:下载预构建二进制文件

GitHub Releases 页面下载适用于您平台的最新预构建二进制文件,并按照下面的安装说明操作。

<details> <summary><b>macOS 安装</b></summary>

macOS 带有 Apple Silicon (M1/M2/M3):

# 下载 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

macOS 带有 Intel 处理器:

# 下载 x86_64 版本
curl -L https://github.com/
...
[剩余部分省略,同上]
...

选项 2:从源码构建

  1. 克隆仓库:

    git clone https://github.com/okooo5km/unsplash-mcp-server-go.git
    cd unsplash-mcp-server-go
    
  2. 构建项目:

    使用 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
    
  3. 安装二进制文件:

    # 安装到用户目录(推荐,无需 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"

获取 Unsplash API 访问密钥

  1. 访问 Unsplash 开发者门户
  2. 注册或登录您的 Unsplash 账户
  3. 注册一个新的应用
  4. 接受 API 使用和指南
  5. 填写您的应用详情(名称、描述等)
  6. 注册后,您将收到您的访问密钥(也称为客户端 ID)

配置给 Claude.app

添加到您的 Claude 设置:

"mcpServers": {
  "unsplash": {
    "command": "unsplash-mcp-server",
    "env": {
      "UNSPLASH_ACCESS_KEY": "your-access-key-here"
    }
  }
}

配置给 Cursor

在您的 Cursor 编辑器的 settings.json 中添加以下配置:

{
  "mcpServers": {
    "unsplash": {
      "command": "unsplash-mcp-server",
      "env": {
        "UNSPLASH_ACCESS_KEY": "your-access-key-here"
      }
    }
  }
}

配置给 Chatwise

注意:在 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,以便用户查看图片。

开发需求

  • Go 1.20 或更高版本
  • Unsplash API 访问密钥
  • MCP Go SDK 0.19.0 或更高版本

使用示例

搜索照片

{
  "query": "山景",
  "per_page": 5,
  "color": "蓝色",
  "orientation": "横向"
}

获取照片详情

{
  "photoId": "Dwu85P9SOIk"
}

获取随机照片

{
  "count": 3,
  "query": "咖啡",
  "orientation": "纵向"
}

版本历史

请参阅 GitHub Releases 了解版本历史和变更日志。

☕️ 支持该项目

如果您发现 unsplash-mcp-server 有用,请考虑支持其开发:

  • ⭐️ 在 GitHub 上给项目点赞
  • 🐛 在问题跟踪器中报告错误或提出功能建议
  • 🔄 提交拉取请求以帮助改进代码
  • 💝 支持方式:
<p align="center"> <a href="https://buymeacoffee.com/okooo5km"> <img src="https://img.buymeacoffee.com/button-api/?text=买我一杯咖啡&emoji=&slug=okooo5km&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff" style="border-radius: 8px;" /> </a> </p>

许可证

unsplash-mcp-server-go 在 MIT 许可证下发布。这意味着您可以自由地使用、修改和分发该软件,但需遵守 MIT 许可证中的条款和条件。更多详情,请参见项目存储库中的 LICENSE 文件。