项目简介

这是一个基于Model Context Protocol (MCP) 实现的服务器,用于将对流行图库网站 Unsplash 的 API 访问能力暴露给支持MCP的LLM客户端。它提供了通过自然语言或其他方式触发图片搜索和下载的功能。

主要功能点

  • 图片搜索: 根据关键词、页码、每页数量和图片方向(横向、纵向、方形)搜索Unsplash图库。
  • 图片下载: 根据图片ID下载指定分辨率的图片,并可指定文件名,下载到服务器(通常是MCP客户端运行的 workspace)的本地目录中。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/shariqriazz/upsplash-mcp-server.git
    cd upsplash-mcp-server
  2. 安装依赖: 需要安装 Node.js (推荐 v18+) 和 Bun。
    bun install
    # 或使用 npm/yarn:
    # npm install
  3. 配置API Key: 在项目根目录创建 '.env' 文件,添加您的 Unsplash API Access Key。您可以从 Unsplash 开发者网站申请。
    UNSPLASH_ACCESS_KEY="您的 Unsplash Access Key"
  4. 构建项目: 将 TypeScript 代码编译成 JavaScript。
    bun run build
    # 或使用 npm/yarn:
    # npm run build
    构建完成后,生成的可执行文件通常在 'build/index.js'。

服务器配置

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