Skip to main content
Glama

picgo-mcp

Inicio rápido: envía el siguiente prompt a tu agente de programación: 请从 https://github.com/timerring/PicGo-MCP 安装并配置 PicGo MCP Server。

Un servidor MCP stdio que integra PicGo Core directamente en el proceso. Permite a clientes MCP como Codex, Claude Desktop, etc., reutilizar las configuraciones de alojamiento de imágenes existentes de PicGo; no requiere que la aplicación de escritorio de PicGo esté en ejecución y no pasa por 127.0.0.1:36677.

Características

  • Llama directamente a PicGo Core 3, sin dependencia de la aplicación de escritorio.

  • Admite archivos locales, URL file:// y URL de imágenes HTTP(S).

  • Admite la subida de una sola imagen y la subida en lote de hasta 20 imágenes.

  • Detecta automáticamente las configuraciones de PicGo Desktop, PicGo Core y CLI.

  • Admite personalizar el nombre de archivo de subida y el formato de retorno.

  • Las llamadas concurrentes se encolan automáticamente para evitar que el estado de subida mutable de PicGo se contamine entre sí.

  • Las herramientas de estado no devuelven valores de configuración como tokens o secretos, y muestran el directorio principal del usuario como ~.

Related MCP server: flin-imgbb-mcp

Requisitos del entorno

  • Node.js >=20.19.0

  • Un archivo de configuración de PicGo funcional

Instalación

Instalar desde el código fuente:

npm install
npm run build
npm install -g .

Confirmar que el comando está disponible:

picgo-mcp --help

Instalación en Codex

codex mcp add picgo -- picgo-mcp
codex mcp get picgo

Después de agregar el servidor MCP, crea una nueva tarea o actualiza el cliente para que la lista de herramientas se recargue.

Otros clientes MCP

Después de la instalación global, se puede usar la siguiente configuración stdio:

{
  "mcpServers": {
    "picgo": {
      "command": "picgo-mcp"
    }
  }
}

Cuando se necesita especificar explícitamente el archivo de configuración:

{
  "mcpServers": {
    "picgo": {
      "command": "picgo-mcp",
      "args": ["--config", "/path/to/picgo/config.json"]
    }
  }
}

También se puede definir la variable de entorno PICGO_CONFIG_PATH. La opción --config tiene prioridad sobre la variable de entorno y sobre la detección automática.

Configuración de PicGo

Por defecto se busca en el siguiente orden:

  • macOS: ~/Library/Application Support/picgo/data.json

  • Windows: %APPDATA%/picgo/data.json

  • Linux: $XDG_CONFIG_HOME/picgo/data.json o ~/.config/picgo/data.json

  • Todos los sistemas: ~/.picgo/config.json

Ejemplo de alojamiento de imágenes en GitHub

El siguiente ejemplo sube las imágenes al directorio images/ del repositorio y devuelve la dirección CDN a través de jsDelivr:

{
  "picBed": {
    "uploader": "github",
    "current": "github",
    "github": {
      "repo": "OWNER/REPOSITORY",
      "branch": "main",
      "path": "images/",
      "customUrl": "https://cdn.jsdelivr.net/gh/OWNER/REPOSITORY@main",
      "token": "YOUR_GITHUB_TOKEN"
    }
  },
  "picgoPlugins": {},
  "settings": {
    "picgoMcp": {
      "uploadNameTemplate": "${dateTime}-${fileName}${extName}",
      "outputFormat": "${url}"
    }
  }
}

El token de GitHub necesita permiso de escritura en el repositorio de destino. No envíes tokens reales a Git, Issues, registros o conversaciones de chat, y restringe los permisos del archivo de configuración para que el usuario actual pueda leerlo:

chmod 600 ~/.picgo/config.json

PicGo Core 3 puede agregar la configuración uploader y metadatos internos al leer por primera vez una configuración antigua; esto es un comportamiento de migración automática normal.

Plantilla de nombre de archivo

Ubicación de configuración:

{
  "settings": {
    "picgoMcp": {
      "uploadNameTemplate": "${dateTime}-${fileName}${extName}"
    }
  }
}

Variables admitidas:

Variable

Ejemplo

Descripción

${date}

2026-08-23

Fecha local

${dateTime}

2026-08-23-17-34-47

Hora local con precisión de segundos

${fileName}

example

Nombre de archivo original, sin extensión

${extName}

.png

Extensión original

${imgIdx}

01

Índice de base cero para subidas en lote; vacío para subida de una sola imagen

Uso recomendado:

${dateTime}-${fileName}${extName}

Si se usa solo ${dateTime}${extName}, las imágenes subidas en el mismo segundo pueden provocar conflictos de nombre. La plantilla solo realiza el reemplazo de marcadores de posición de la lista blanca, no ejecuta JavaScript y no permite escribir rutas adicionales como ../ mediante el nombre de archivo; el directorio remoto debe configurarse con la opción path del subidor.

Plantilla de salida

Ubicación de configuración:

{
  "settings": {
    "picgoMcp": {
      "outputFormat": "${url}"
    }
  }
}

Variables admitidas:

  • ${url}: la URL de la imagen después de la subida.

  • ${uploadedName}: el nombre del archivo después de la subida, sin extensión.

Formato común:

${url}
![${uploadedName}](${url})

La respuesta de la herramienta siempre incluye información de la imagen, un arreglo de URL, el formato Markdown y formattedOutput generado según la plantilla, por lo que la parte que invoca puede seleccionar los campos según lo que necesite.

Herramientas MCP

upload_image

Sube una imagen local o remota:

{
  "source": "/path/to/image.png"
}

upload_images

Sube de 1 a 20 imágenes en lote:

{
  "sources": [
    "/path/to/first.png",
    "https://example.com/second.jpg"
  ]
}

get_picgo_status

Devuelve si existe la configuración, la versión de PicGo, el subidor actual, los nombres de campos configurados y los subidores disponibles. Esta herramienta no devuelve valores de configuración ni credenciales de la base de imágenes.

Ejemplo de resultado de subida

{
  "images": [
    {
      "url": "https://cdn.example.com/images/2026-08-23-17-34-47-example.png",
      "fileName": "2026-08-23-17-34-47-example.png",
      "width": 800,
      "height": 600,
      "size": 123456
    }
  ],
  "urls": [
    "https://cdn.example.com/images/2026-08-23-17-34-47-example.png"
  ],
  "markdown": "![2026-08-23-17-34-47-example.png](https://cdn.example.com/images/2026-08-23-17-34-47-example.png)",
  "formattedOutput": "https://cdn.example.com/images/2026-08-23-17-34-47-example.png"
}

Mecanismo de ejecución

Los clientes MCP suelen iniciar un proceso stdio de picgo-mcp y reutilizarlo durante toda la sesión del cliente. La imagen se lee y se tiene un servidor de la imagen o el alojamiento únicamente cuando se llama a la herramienta de subida. Cuando el cliente cierra la conexión, el proceso del servidor finaliza y libera memoria.

PicGo guarda estado de entrada y salida mutable en la instancia, por lo que este proyecto serializa las solicitudes de subida concurrentes.

Notas de seguridad

  • No pases tokens en los parámetros de la línea de comandos: los credenciales deben gestionarlos la configuración de PicGo.

  • Las herramientas MCP no devuelven credenciales del alojamiento de imágenes; la herramienta de estado solo devuelve nombres de campos.

  • En las respuestas de las herramientas de subida, la ruta del directorio principal se reemplaza por ~.

  • Las imágenes HTTP de tipo HTTP se descargan primero con PicGo y luego se suben al alojamiento configurado.

  • PicGo carga los plugins según la configuración; instala y usa únicamente las plug-ins de confianza.

  • No expongas el servidor stdio a clientes no confiables.

El árbol de dependencias de PicGo 3.0.1 aún incluye avisos de seguridad de npm para image-size y las otras versiones anteriores de inquirer/tmp. El primero puede causar una denegación de servicio del proceso al procesar imágenes especialmente diseñadas; el segundo se encuentra en la ruta de interacción del CLI de PicGo, que este proyecto no utiliza esa. Estas dependencias deben actualizarse por el upstream de PicGo.

Desarrollo y verificación

npm install
npm test
npm run check
npm run build

Las pruebas actúales cubren detección de configuración, registro de herramientas MCP, ofuscación de estado, validación de entrada de subida, plantillas de nombres, plantillas de salida y comprobación de privacidad de los archivos de publicación.

Licencia

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for Flux AI image generation

  • MCP server for Tinify image optimization — one tool, max optimization

  • MCP server for NanoBanana AI image generation and editing

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/timerring/PicGo-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server