使用说明

项目简介

本项目是一个实现了 Model Context Protocol (MCP) 协议的服务器,它作为一个中间层,连接了 MCP 客户端和 Cloudflare Worker 后端。该服务器的主要功能是接收来自 MCP 客户端的图像生成请求,并将其转发到部署在 Cloudflare Workers 上的 'replicate-2-r2' Worker 服务。'replicate-2-r2' Worker 负责与 Replicate AI 平台交互,生成图像并将图像存储在 Cloudflare R2 存储中。本 MCP 服务器简化了客户端与图像生成服务的交互,并提供了标准化的 MCP 接口。

主要功能点

  • MCP 协议支持: 实现了 MCP 服务器的核心功能,可以与任何 MCP 客户端进行通信。
  • 图像生成工具: 提供 'generate' 工具,允许客户端通过简单的文本提示词生成图像。
  • Replicate 集成: 利用 'replicate-2-r2' Cloudflare Worker 作为后端,无缝对接 Replicate AI 模型的图像生成能力。
  • Cloudflare Worker 部署: 基于 Cloudflare Workers 平台运行,具备serverless架构的弹性伸缩和高可用性。
  • 异步图像处理: 图像生成过程是异步的,服务器会返回图像生成的 ID 和初始状态,客户端可以通过其他方式(例如,如果 'replicate-2-r2' worker 实现了SSE或Webhook通知)获取最终结果。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/agan2023416/workers.git
    cd workers/mcps/generate-image
  2. 安装依赖:

    npm install
  3. 配置环境变量:

    • 你需要配置以下环境变量,这些变量在服务器运行环境中需要可以访问到。
      • 'CLOUDFLARE_WORKERS_URL': 指向已部署的 'replicate-2-r2' Cloudflare Worker 的 URL。你需要在 'replicate-2-r2' 项目中完成 Cloudflare Worker 的部署和配置。
      • 'WORKER_API_TOKEN': 用于授权访问 'replicate-2-r2' Cloudflare Worker 的 API Token。同样需要在 'replicate-2-r2' 项目中配置并获取。

服务器配置

MCP 客户端需要以下配置信息来启动和连接到此 MCP 服务器。将以下 JSON 配置添加到你的 MCP 客户端的服务器配置中。

{
  "serverName": "Replicate Image Generator MCP Server",
  "command": "node",
  "args": ["dist/index.js"]
}
  • 'serverName': 服务器的名称,可以自定义。
  • 'command': 运行服务器的命令,这里使用 'node' 解释器。
  • 'args': 传递给 'node' 命令的参数,'dist/index.js' 是服务器的入口文件。你可能需要先构建项目(例如运行 'npm run build',如果项目有构建脚本)以生成 'dist/index.js' 文件。请参考 'mcps/generate-image' 目录下的 'README.md' 文件以获取更详细的构建和运行指南。

基本使用方法

  1. 启动 MCP 服务器: 在 'workers/mcps/generate-image' 目录下,确保已安装依赖并配置好环境变量,然后运行以下命令启动服务器:

    npm start

    或者,如果需要先构建,则可能需要先运行构建命令,再运行启动命令。具体请参考项目 'README.md'。

  2. 配置 MCP 客户端: 在你的 MCP 客户端中,添加上面提供的服务器配置信息。

  3. 调用 'generate' 工具: 使用 MCP 客户端连接到服务器后,你可以调用名为 'generate' 的工具,并提供 'prompt' 参数来生成图像。例如,你可以发送一个 MCP 请求,指定工具名称为 'generate',参数为 '{"prompt": "A beautiful landscape painting"}'。

  4. 获取结果: 服务器会返回一个包含 'prediction ID'、'image URL' 和 'status' 的响应。'image URL' 指向生成的图像文件,但可能需要等待一段时间(取决于 Replicate 的处理速度)才能访问。请注意,此 MCP 服务器示例可能不包含实时的状态更新机制,更完善的状态跟踪和通知可能需要在 'replicate-2-r2' Worker 或 MCP 客户端层面实现。

信息

分类

AI与计算