使用说明

项目简介

这是一个实现了 Model Context Protocol (MCP) 的服务器端应用程序。它充当 LLM 客户端(如 Claude Desktop)与外部 Inspire 图片后端服务之间的桥梁。服务器通过标准化的 MCP 协议,将 Inspire 后端的图片搜索能力暴露给 LLM。

主要功能点

该服务器提供了一个核心功能:图片搜索工具。通过这个工具,连接到该服务器的 LLM 客户端可以执行以下操作:

  • 根据文本描述搜索图片: LLM 可以接收用户的文本描述,并调用此工具在 Inspire 后端搜索与描述相符的图片。
  • 返回结构化搜索结果: 工具会将搜索到的相关图片及其信息(如 Base64 编码的图片数据)通过 MCP 协议返回给 LLM 客户端,以便在用户界面中展示。

该工具的名称是 'get-similar-images-by-description',需要以下参数:

  • 'description' (字符串): 用户输入的图片描述文本。
  • 'limit' (数字): 限制返回的图片数量(分页大小),默认为 10。
  • 'offset' (数字): 搜索结果的偏移量(分页偏移)。

安装步骤

该服务器可以通过 Docker 镜像或 Node.js 运行。

  1. 克隆仓库:
    git clone https://github.com/tech-inspire/mcp-server.git
    cd mcp-server
  2. 构建服务器:
    • 使用 Docker:
      docker build -t tech-inspire/mcp .
    • 使用 Node.js:
      npm ci
      npm run build

服务器配置 (用于 MCP 客户端)

该 MCP 服务器需要连接到 Inspire 后端 API 并获取图片文件。这需要配置两个关键参数:

  • 'INSPIRE_API_BASE': Inspire 后端 API 的基准 URL。例如:'http://localhost:7080'。
  • 'IMAGES_BASE_PATH': 存储图片文件的基准路径,用于构建完整的图片 URL。例如:'https://<some-bucket>.s3.com/'。

这些参数通常通过环境变量或命令行参数传递给服务器进程。在配置支持 MCP 的 LLM 客户端(例如 'claude_desktop_config.json')时,您需要指定如何启动该服务器,并将这些参数作为启动命令的参数传递。

以下是配置示例的说明。请将 '<...>' 中的占位符替换为实际的 URL 或路径。

{
  "mcpServers": {
    "inspire": { // 在客户端中用于标识此 MCP 服务器的唯一名称
      "command": "docker", // 启动服务器的命令,根据您使用的运行方式选择 "docker" 或 "node"
      "args": [ // 传递给服务器进程的参数列表
        "run",
        "--rm", // (仅 Docker) 容器停止后自动移除
        "-i",   // (仅 Docker) 保持标准输入打开
        "-e", "INSPIRE_API_BASE=<Inspire API 后端基准 URL,例如 http://localhost:7080>", // 通过环境变量设置 Inspire API 地址
        "-e", "IMAGES_BASE_PATH=<图片文件基准路径,例如 https://your-bucket.s3.com/>", // 通过环境变量设置图片文件地址
        "tech-inspire/mcp" // (仅 Docker) 要运行的 Docker 镜像名称
        // 如果使用 Node.js 运行,args 列表将类似这样:
        // "/path/to/your/mcp-server/build/index.js", // 编译后的服务器启动脚本路径
        // "--INSPIRE_API_BASE=<Inspire API 后端基准 URL>", // 通过命令行参数设置 Inspire API 地址
        // "--IMAGES_BASE_PATH=<图片文件基准路径>" // 通过命令行参数设置图片文件地址
      ]
    }
  }
}

MCP 客户端会读取此配置,并在需要时自动启动并连接到该服务器。

基本使用方法

安装和配置完成后,您可以通过支持 MCP 的 LLM 客户端(如 Claude Desktop)来使用此服务器提供的图片搜索功能。当您与 LLM 对话并提出需要搜索图片的需求时(例如,询问关于某种主题的图片),LLM 可能会识别您的意图,并通过配置好的 MCP 连接,自动调用该服务器上的 'get-similar-images-by-description' 工具。服务器执行搜索并将结果返回给 LLM 客户端,最终由客户端向您展示搜索到的图片。

信息

分类

AI与计算