PicGo Uploader MCP Server

by veithly

247 downloads
Not rated
GitHub

About

An MCP (Model Context Protocol) server that allows interaction with a running PicGo application to upload images.

Details

Author
veithly
Downloads
247
Categories
Other

- Uploads one or more images via PicGo’s built-in server.
- Requires PicGo desktop application running with server enabled.
- Default server address: http://127.0.0.1:36677.
- Outputs uploaded image URLs as a JSON string.
- Works on any OS supported by Node.js v18+.
- Simple CLI setup with global npm/yarn installation.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name PicGo Uploader MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install globally with npm install -g picgo-uploader or yarn global add picgo-uploader, then run the picgo-uploader command. The server listens on stdio and provides the upload_image_via_picgo tool, which accepts an array of absolute image paths.

upload_image_via_picgo

Uploads one or more images using the running PicGo server application.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "picgo uploader mcp server": {
            "picgo-ipfs-uploader": {
                "command": "npx",
                "args": [
                    "picgo-uploader"
                ],
                "disabled": false,
                "alwaysAllow": [
                    "upload_image_via_picgo"
                ]
            }
        }
    }
}

McpServers

{
    "picgo-ipfs-uploader": {
        "command": "npx",
        "args": [
            "picgo-uploader"
        ],
        "disabled": false,
        "alwaysAllow": [
            "upload_image_via_picgo"
        ]
    }
}

PicGo Uploader MCP Server

npm version

An MCP (Model Context Protocol) server that allows interaction with a running PicGo application to upload images.

Overview

This server exposes PicGo's image uploading capabilities as an MCP tool. It connects to the PicGo application's built-in server (usually running on http://127.0.0.1:36677) and provides a tool to upload local image files.

Prerequisites

1. Node.js: Ensure you have Node.js (v18 or later recommended) installed.
2. PicGo Application: You need the PicGo desktop application installed and running.
3. PicGo Server Enabled: In PicGo's settings (PicGo 设置 -> 设置Server), enable the server. The default port is 36677. Make sure it's running.
4. NPM or Yarn: For installing the package.

Installation

npm install -g picgo-uploader

or

yarn global add picgo-uploader

This will install the MCP server globally and make the picgo-uploader command available.

Running the Server

Simply execute the command in your terminal:

picgo-uploader

The server will start and listen for MCP connections via stdio. You should see a message like:

PicGo Uploader MCP server running on stdio

Keep this terminal window open while you want to use the server.

Usage (MCP Tool)

Once the server is running and connected to your MCP client (like Roo Code), you can use the provided tool:

Tool: upload_image_via_picgo

Description: Uploads one or more images using the running PicGo server application.
Input Schema:

    {
"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"]
}

Output: On success, returns a JSON string containing the array of uploaded image URLs provided by PicGo. On failure, returns an error message.

Example (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>

Note: Ensure the file paths provided in image_paths are absolute paths accessible from the machine where the picgo-uploader server is running.

Troubleshooting

Error: "PicGo server request error: connect ECONNREFUSED 127.0.0.1:36677":
Make sure the PicGo application is running.
Verify that the PicGo server is enabled in its settings and running on the default port 36677.
Error: "Image path does not exist: <path>":
Double-check that the provided image path is correct and absolute.
Ensure the file exists at the specified location on the machine running the picgo-uploader.
Error: "PicGo upload failed: ...":
* This indicates an error reported by PicGo itself (e.g., invalid configuration for the selected uploader, network issues). Check the PicGo application logs for more details.

Development

1. Clone the repository.
2. Install dependencies: npm install
3. Build the code: npm run build
4. Run in development: node build/index.js
5. Watch for changes: npm run watch (in a separate terminal)

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.