图片上传服务

一个通过MCP协议与PicGo应用交互的图片上传服务器,支持批量上传本地图片并返回URL。

  • by veithly
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 veithly/PicGoMCP

使用说明

PicGo上传器MCP服务器

MCP(模型上下文协议)服务器,允许与正在运行的 PicGo 应用程序上传图像。

概述

此服务器将PicGo的图像上传功能作为MCP工具公开。它连接到PicGo应用程序的内置服务器(通常在 http://127.0.0.1:36677)并提供上传本地图像文件的工具。

先决条件

  1. Node.js: 确保您安装了Node.js(建议使用v18或更高版本)。
  2. PicGo应用程序: 您需要安装并运行PicGo桌面应用程序。
  3. PicGo服务器已启用: 在PicGo的设置中(PicGo 设置 -> 设置Server),启用服务器。默认端口为 36677确保它正在运行。
  4. NPM或纱线: 用于安装软件包。

安装

npm install -g picgo-uploader

或

yarn global add picgo-uploader

这将全局安装MCP服务器,并使 picgo-uploader 命令可用。

运行服务器

只需在终端中执行以下命令:

picgo-uploader

服务器将启动并通过stdio监听MCP连接。您应该看到这样的消息:

PicGo Uploader MCP server running on stdio

当您想使用服务器时,请保持此终端窗口打开。

用法(MCP工具)

一旦服务器运行并连接到MCP客户端(如Roo Code),您就可以使用提供的工具:

工具: upload_image_via_picgo

  • 说明: 使用正在运行的PicGo服务器应用程序上传一个或多个图像。
  • 输入架构:
    {
      "type": "object",
      "properties": {
        "image_paths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An array of absolute paths to the image files to upload."
        }
      },
      "required": ["image_paths"]
    }
    
  • 输出: 成功后,返回一个JSON字符串,其中包含PicGo提供的上传图像URL数组。失败时,返回错误消息。

示例(use_mcp_tool):

<use_mcp_tool>
  <server_name>picgo-uploader</server_name>
  <tool_name>upload_image_via_picgo</tool_name>
  <arguments>
  {
    "image_paths": [
      "C:\\Users\\YourUser\\Pictures\\screenshot1.png",
      "/home/user/images/diagram.jpg"
    ]
  }
  </arguments>
</use_mcp_tool>

注: 确保中提供的文件路径 image_paths 是 绝对路径 可从机器上访问 picgo-uploader 服务器正在运行。

故障排除

  • 错误:“PicGo服务器请求错误:连接ECONNREFUSED 127.0.0.1:36677”:
    • 确保PicGo应用程序正在运行。
    • 验证PicGo服务器是否在其设置中启用并在默认端口上运行 36677.
  • 错误:“图像路径不存在: ":
    • 仔细检查提供的图像路径是否正确和绝对。
    • 确保文件存在于运行的计算机上的指定位置 picgo-uploader.
  • 错误:“PicGo上传失败:…”:
    • 这表示PicGo本身报告了错误(例如,所选上传器的配置无效、网络问题)。有关更多详细信息,请查看PicGo应用程序日志。

发展

  1. 克隆存储库。
  2. 安装依赖项: npm install
  3. 构建代码: npm run build
  4. 在开发中运行: node build/index.js
  5. 注意变化: npm run watch (在单独的终端中)