使用说明
项目简介
unsplash-mcp-server-go 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型(LLMs)提供访问 Unsplash 图库的能力。通过此服务器,LLM 可以搜索 Unsplash 上丰富的图片资源,获取特定图片的详细信息,或者获取符合条件的随机图片。
主要功能点
- 强大的图片搜索: 通过关键词在 Unsplash 图库中搜索图片,支持颜色、方向、排序和分页等多种过滤条件。
- 详细图片信息: 获取指定 Unsplash 图片的完整信息,包括 EXIF 数据、拍摄地点、摄影师信息等。
- 随机图片: 根据多种条件(如关键词、主题、用户等)获取随机图片。
- 多种连接模式: 支持标准 I/O (stdio) 和 Server-Sent Events (SSE) 两种连接模式,方便集成到不同的 LLM 应用中。
安装步骤
-
选择安装方式:
- 方式一:下载预编译二进制文件 (推荐):访问 GitHub Releases 页面,根据你的操作系统下载对应的预编译版本压缩包。解压后,将可执行文件 'unsplash-mcp-server' (或 'unsplash-mcp-server.exe' 在 Windows 上) 移动到你的系统 PATH 环境变量包含的目录下,或者用户目录下的 '~/.local/bin' (macOS/Linux) 或任何你方便执行的目录。
- 方式二:从源代码编译:
- 确保已安装 Go 1.20 或更高版本。
- 克隆仓库到本地:'git clone https://github.com/okooo5km/unsplash-mcp-server-go.git'
- 进入项目目录:'cd unsplash-mcp-server-go'
- 使用 'make' 命令编译:'make' (编译当前平台版本) 或 'make build-all' (编译所有平台版本)。编译后的可执行文件位于 '.build' 目录下。
- 将编译好的可执行文件 'unsplash-mcp-server' (或 'unsplash-mcp-server.exe') 移动到你的系统 PATH 环境变量包含的目录下,或者用户目录下的 '~/.local/bin' (macOS/Linux) 或任何你方便执行的目录。
-
配置 Unsplash API 密钥:
- 访问 Unsplash Developers Portal 注册并创建一个应用,获取 Access Key (Client ID)。
- 设置环境变量 'UNSPLASH_ACCESS_KEY' 为你的 Access Key。例如,在 macOS/Linux 中,可以添加到 '.bashrc' 或 '.zshrc' 文件中:
在 Windows 中,可以通过系统环境变量设置。export UNSPLASH_ACCESS_KEY="your-access-key-here"
服务器配置
MCP 客户端需要配置连接到 'unsplash-mcp-server' 的信息。以下是针对不同 MCP 客户端的配置示例:
通用配置 (JSON 格式)
{ "unsplash": { "command": "unsplash-mcp-server", "env": { "UNSPLASH_ACCESS_KEY": "your-access-key-here" } } }
- 'unsplash': 服务器名称,可以自定义。
- 'command': 启动 'unsplash-mcp-server' 服务器的命令。如果 'unsplash-mcp-server' 可执行文件在系统 PATH 环境变量中,则直接使用 'unsplash-mcp-server'。否则,需要指定可执行文件的完整路径。
- 'env': 环境变量配置。
- 'UNSPLASH_ACCESS_KEY': 必须设置为你在 Unsplash 开发者平台获取的 Access Key。 请替换 '"your-access-key-here"' 为你实际的 Access Key。
特定 MCP 客户端配置示例
- Claude.app: 将以上 JSON 配置添加到 Claude 的设置中。
- Cursor: 将以上 JSON 配置添加到 Cursor 编辑器的 'settings.json' 文件中。
- Chatwise: 在 Chatwise 中添加 MCP 服务器配置时,按照其界面提示,填写服务器名称 (例如 'unsplash'),命令 (例如 'unsplash-mcp-server'),并在环境变量设置中添加 'UNSPLASH_ACCESS_KEY',注意在 Chatwise 中添加环境变量时,不要用引号包裹值。
基本使用方法
-
启动服务器: 在终端中运行 'unsplash-mcp-server' 命令,即可启动服务器 (默认使用 stdio 模式)。如果需要使用 SSE 模式,可以使用 '--transport sse' 参数,并可通过 '--port <端口号>' 指定端口,例如 'unsplash-mcp-server --transport sse --port 9090'。
-
在 LLM 客户端中使用: 在配置好 MCP 服务器后,你可以在支持 MCP 协议的 LLM 客户端中,通过自然语言指令调用 'unsplash-mcp-server' 提供的工具来搜索和获取 Unsplash 图片。
例如,你可以指示 LLM 使用 'search_photos' 工具来搜索 "mountain landscape" 的图片,或者使用 'get_photo' 工具获取 ID 为 "Dwu85P9SOIk" 的图片的详细信息。LLM 会根据你的指令调用相应的工具,并将结果返回给你。
你可以参考 README.md 中提供的 "Example System Prompt" 来指导 LLM 如何有效使用这些工具。
可用工具
-
'search_photos': 搜索 Unsplash 图片。
- 'query' (string, 必填): 搜索关键词。
- 'page' (number, 可选): 页码 (默认为 1)。
- 'per_page' (number, 可选): 每页结果数 (默认为 10,最大 30)。
- 'order_by' (string, 可选): 排序方式 ("relevant" 或 "latest",默认为 "relevant")。
- 'color' (string, 可选): 颜色过滤 (例如 "black_and_white", "blue" 等)。
- 'orientation' (string, 可选): 图片方向 ("landscape", "portrait", "squarish")。
-
'get_photo': 获取指定 ID 图片的详细信息。
- 'photoId' (string, 必填): 图片 ID。
-
'random_photo': 获取随机图片。
- 'count' (number, 可选): 获取图片数量 (默认为 1,最大 30)。
- 'collections' (string, 可选): коллекции ID,多个 ID 用逗号分隔。
- 'topics' (string, 可选): 主题 ID,多个 ID 用逗号分隔。
- 'username' (string, 可选): 指定用户名的图片。
- 'query' (string, 可选): 搜索关键词,限制随机图片为匹配关键词的图片。
- 'orientation' (string, 可选): 图片方向。
- 'content_filter' (string, 可选): 内容安全过滤 ("low" 或 "high")。
- 'featured' (boolean, 可选): 是否仅限精选图片。
信息
分类
网页与API