使用说明
项目简介
SearchScape项目是一个基于Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型(LLM)客户端提供图像相关的上下文信息和功能。它集成了Unsplash和Hugging Face,允许LLM应用通过简单的工具调用,实现高质量的图像搜索和多种AI驱动的图像转换。
主要功能点
- 图像搜索: 通过自然语言提示从Unsplash获取高质量图片。
- 图像转换: 利用Hugging Face的AI模型对图像进行多种转换,包括:
- 艺术风格迁移: 将艺术风格应用到图片上。
- 图像增强: 使用超分辨率技术提升图像质量。
- 图文转换: 根据文本提示修改图像内容 (例如,将图片变成卡通风格)。
安装步骤
- 克隆仓库
git clone https://github.com/Pree3105/SearchScape.git cd SearchScape - 安装依赖
npm install - 配置环境变量
- 在项目根目录下创建 '.env' 文件。
- 添加 Unsplash API 密钥和 Hugging Face API 密钥:
请替换 'YOUR_UNSPLASH_API_KEY' 和 'YOUR_HUGGING_FACE_API_KEY' 为您自己的API密钥。 您需要在 Unsplash 开发者网站 和 Hugging Face 注册并获取API密钥。UNSPLASH_ACCESS_KEY=YOUR_UNSPLASH_API_KEY HUGGING_FACE_API_KEY=YOUR_HUGGING_FACE_API_KEY
服务器配置
MCP客户端需要配置以下信息以连接 SearchScape MCP 服务器。配置信息为 JSON 格式:
{ "serverName": "SearchScape", "command": "node", "args": [ "mcp_server/mcp.js" ], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,设置为 "SearchScape" 或您自定义的名称。
- 'command': 启动服务器的命令,这里使用 'node' 来运行 JavaScript 代码。
- 'args': 命令参数,指定 MCP 服务器入口文件路径 'mcp_server/mcp.js'。
- 'transport': 传输协议,SearchScape MCP 服务器使用标准输入输出 (stdio) 进行通信,所以设置为 '"stdio"'。
注意: 请确保您的环境中已安装 Node.js 并且 'node' 命令在系统 PATH 环境变量中可用。
基本使用方法
-
启动 MCP 服务器
- 按照上述 服务器配置 中的 'command' 和 'args' 信息,在 MCP 客户端中配置并启动 SearchScape MCP 服务器。
- 或者,您也可以在项目根目录下,手动执行命令 'node mcp_server/mcp.js' 来启动服务器。服务器成功启动后,会在控制台输出 'SearchScape MCP Server running on stdio'。
-
使用 MCP 客户端调用工具
- MCP 客户端启动后,会自动与 SearchScape MCP 服务器建立连接。
- 您可以使用 MCP 客户端提供的界面或 API,调用以下工具来使用 SearchScape 的功能:
工具列表:
-
'fetch-image': 从 Unsplash 获取图像。
- 参数:
- 'prompt' (string, 必填): 描述您想要搜索的图像的文本提示 (例如: "sunset over mountains")。
- 'userId' (string, 必填): 用户会话 ID,用于跟踪用户会话。您可以自定义生成,例如使用 UUID。
- 输出:
- 返回包含图像 URL 的文本内容。
- 参数:
-
'transform-image': 对已获取的图像进行转换。
- 参数:
- 'filter' (string, 必填): 图像转换类型,可选值包括 '"artistic"' (艺术风格迁移), '"enhance"' (图像增强), '"translate"' (图文转换)。
- 'userId' (string, 必填): 用户会话 ID,需要与 'fetch-image' 工具调用时使用的 'userId' 保持一致,以便服务器找到之前获取的图像。
- 输出:
- 返回包含转换后图像 URL 的文本内容。
- 参数:
使用示例 (假设使用 MCP 客户端的 API 调用):
// 假设 client 是 MCP 客户端实例 // 1. 获取图像 client.callTool({ name: "fetch-image", arguments: { prompt: "a cat sitting on a windowsill", userId: "user123" } }).then(response => { console.log("Fetch Image Response:", response); // 从 response 中获取图像 URL }); // 2. 转换图像 (艺术风格迁移) client.callTool({ name: "transform-image", arguments: { filter: "artistic", userId: "user123" // 使用相同的 userId } }).then(response => { console.log("Transform Image Response:", response); // 从 response 中获取转换后的图像 URL });注意: 'userId' 用于在服务器端管理用户会话和存储已获取的图像。在同一次会话中,如果您先调用 'fetch-image' 获取了图像,再调用 'transform-image' 进行转换,请务必使用相同的 'userId'。
总结
SearchScape MCP 服务器为您提供了一套方便易用的图像处理工具,LLM 应用可以通过调用这些工具,轻松实现图像搜索、风格转换、图像增强等功能,从而扩展 LLM 的能力边界。
信息
分类
AI与计算