项目简介
这是一个基于Model Context Protocol (MCP) 实现的服务器,用于将对流行图库网站 Unsplash 的 API 访问能力暴露给支持MCP的LLM客户端。它提供了通过自然语言或其他方式触发图片搜索和下载的功能。
主要功能点
- 图片搜索: 根据关键词、页码、每页数量和图片方向(横向、纵向、方形)搜索Unsplash图库。
- 图片下载: 根据图片ID下载指定分辨率的图片,并可指定文件名,下载到服务器(通常是MCP客户端运行的 workspace)的本地目录中。
安装步骤
- 克隆仓库:
git clone https://github.com/shariqriazz/upsplash-mcp-server.git cd upsplash-mcp-server - 安装依赖: 需要安装 Node.js (推荐 v18+) 和 Bun。
bun install # 或使用 npm/yarn: # npm install - 配置API Key: 在项目根目录创建 '.env' 文件,添加您的 Unsplash API Access Key。您可以从 Unsplash 开发者网站申请。
UNSPLASH_ACCESS_KEY="您的 Unsplash Access Key" - 构建项目: 将 TypeScript 代码编译成 JavaScript。
构建完成后,生成的可执行文件通常在 'build/index.js'。bun run build # 或使用 npm/yarn: # npm run build
服务器配置
MCP服务器通常由支持MCP的客户端(如 Cline)根据配置信息启动和管理。您需要在您的MCP客户端的配置文件中添加关于此服务器的配置信息。配置通常包括:
- 服务器名称 (server name): 用于在客户端中标识此服务器,例如 'unsplash-mcp-server'。
- 启动命令 (command): 执行服务器的命令,例如 'bun' 或 'node'。
- 启动参数 (args): 传递给命令的参数,通常是服务器可执行文件的路径。例如,如果您使用 'bun' 运行本地构建的版本,参数可能是构建后文件的绝对路径,如 '/path/to/your/upsplash-mcp-server/build/index.js'。如果您将项目发布到 npm 并希望使用 'npx' 运行,参数可能是 '["-y", "unsplash-mcp-server"]' (假设npm包名为 'unsplash-mcp-server')。
- 环境变量 (env): 传递给服务器进程的环境变量。 重要:您必须在此处或在客户端运行环境的系统环境变量中设置 'UNSPLASH_ACCESS_KEY'。 例如,配置一个 'UNSPLASH_ACCESS_KEY: "您的 Unsplash Access Key"'。
客户端会根据这些配置信息在需要时启动并连接到此MCP服务器。
基本使用方法
成功配置并在MCP客户端中连接此服务器后,客户端(例如通过LLM的工具调用功能)即可使用服务器提供的工具:
- 'search_photos': 用于搜索图片。您可以向LLM或通过客户端界面提供搜索关键词及其他可选参数。
- 'download_photo': 用于下载图片。您需要提供图片的ID(通常由 'search_photos' 工具返回)和所需的分辨率。下载的图片将保存在客户端配置的 workspace 目录下的 'unsplash/' 子目录中。
关键词
Unsplash, 图片搜索, 图片下载, API工具
信息
分类
网页与API