picgo-mcp
picgo-mcp
Быстрый старт: отправьте вашему кодинг-агенту следующий промпт:
请从 https://github.com/timerring/PicGo-MCP 安装并配置 PicGo MCP Server。
MCP stdio-сервер, встраивающий PicGo Core прямо в процесс. Он позволяет MCP-клиентам, таким как Codex, Claude Desktop и другие, повторно использовать существующие конфигурации PicGo для хостинга изображений, без необходимости запускать десктопный PicGo и без обращения к 127.0.0.1:36677.
Возможности
Напрямую вызывает PicGo Core 3 без зависимости от десктопной версии.
Поддерживает локальные файлы,
file://URL и HTTP(S) URL изображений.Поддерживает одиночную загрузку и пакетную загрузку до 20 изображений.
Автоматически обнаруживает конфигурации PicGo Desktop, PicGo Core и CLI.
Поддерживает настраиваемые имена загружаемых файлов и формат ответа.
Конкурентные вызовы автоматически выстраиваются в очередь, избегая взаимного загрязнения изменяемого состояния загрузки PicGo.
Инструмент состояния не возвращает значения конфигурации, такие как token и secret, и отображает домашний каталог пользователя как
~.
Related MCP server: flin-imgbb-mcp
Требования к среде
Node.js
>=20.19.0Рабочий файл конфигурации PicGo
Установка
Установка из исходного кода:
npm install
npm run build
npm install -g .Проверьте, что команда доступна:
picgo-mcp --helpУстановка в Codex
codex mcp add picgo -- picgo-mcp
codex mcp get picgoПосле добавления MCP-сервера создайте новое задание или обновите клиент, чтобы список инструментов перезагрузился.
Другие MCP-клиенты
После глобальной установки можно использовать следующую конфигурацию stdio:
{
"mcpServers": {
"picgo": {
"command": "picgo-mcp"
}
}
}Если необходимо явно указать файл конфигурации:
{
"mcpServers": {
"picgo": {
"command": "picgo-mcp",
"args": ["--config", "/path/to/picgo/config.json"]
}
}
}Также можно задать переменную окружения PICGO_CONFIG_PATH. Приоритет --config выше, чем у переменной окружения и автоматического обнаружения.
Конфигурация PicGo
По умолчанию поиск выполняется в следующем порядке:
macOS:
~/Library/Application Support/picgo/data.jsonWindows:
%APPDATA%/picgo/data.jsonLinux:
$XDG_CONFIG_HOME/picgo/data.jsonили~/.config/picgo/data.jsonВсе платформы:
~/.picgo/config.json
Пример GitHub-хранилища изображений
Следующий пример загружает изображения в каталог images/ репозитория и возвращает CDN-адрес через 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}"
}
}
}Токен GitHub должен иметь права на запись в целевой репозиторий. Не сохраняйте реальный токен в Git, Issue, журналах или чатах, и ограничьте права файла конфигурации только текущим пользователем: GXP7
PicGo Core 3 при первом чтении старой конфигурации может добавить конфигурацию uploader и внутренние метаданные — это нормальное автоматическое поведение при миграции.
Шаблон имени файла
Расположение конфигурации:
{
"settings": {
"picgoMcp": {
"uploadNameTemplate": "${dateTime}-${fileName}${extName}"
}
}
}Поддерживаемые переменные:
Переменная | Пример | Описание |
|
| Локальная дата |
|
| Локальное время с точностью до секунды |
|
| Исходное имя файла без расширения |
|
| Исходное расширение |
|
| иноддержка с нуля при пакетной загрузке; для одиночной загрузки пусто |
Рекомендуемое использование:
${dateTime}-${fileName}${extName}Использование только ${dateTime}${extName} может привести к конфликту имён для изображений, загруженных в одну и ту же секунду. Шаблон выполняет только замену плейсхолдеров из белого списка, не интерпретирует JavaScript и не допускает записи дополнительных путей вроде ../ через имя файла; удалённый каталог должен задаваться настройкой path загрузчика.
Шаблон вывода
Расположение конфигурации:
{
"settings": {
"picgoMcp": {
"outputFormat": "${url}"
}
}
}Поддерживаемые переменные:
${url}— URL изображения после загрузки.${uploadedName}— имя загруженного файла без расширения.
Обычно используемый формат:
${url}
Ответ инструмента всегда содержит информацию об изображениях, массив URL, Markdown и сгенерированный по шаблону formattedOutput, поэтому вызывающая сторона может выбирать нужные поля.
Инструменты MCP
upload_image
Загружает одно локальное или удалённое изображение:
{
"source": "/path/to/image.png"
}upload_images
Пакетная загрузка от 1 до 20 изображений:
{
"sources": [
"/path/to/first.png",
"https://example.com/second.jpg"
]
}get_picgo_status
Возвращает наличие конфигурации, версию PicGo, текущий загрузчик, имена настроенных полей и доступные загрузчики. Этот инструмент не возвращает значения конфигурации или учётные данные хранилища изображений.
Пример результата загрузки
{
"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": "",
"formattedOutput": "https://cdn.example.com/images/2026-08-23-17-34-47-example.png"
}Принцип работы
MCP-клиент обычно запускает stdio-процесс picgo-mcp и переиспользует его на протяжении текущеней сессии клиента. Только при вызове инструментов загрузки считываются изображения и происходит обращение к источнику изображения и сервису хостинга; после закрытия соединения процесс сервера завершается и освобождает память.
PicGo хранит изменяемое состояние ввода/вывода в экземпляре, поэтому этот проект выполняет параллельные запросы на загрузку последовательно.
Меры безопасности
Не передавайте токен в аргументах команд; учётные данные должны управляться конфигурацией PicGo.
Инструменты MCP не возвращают учётные данные хранилища; инструмент состояния возвращает только имена полей.
Путь домашнего каталога в ответах инструментов заменяется на
~.HTTP(S) изображения сначала загружаются PicGo, а затем отправляются на выбранное хранилище изображений.
PicGo загружает плагины согласно конфигурации; устанавливайте и включайте только доверенные плагины.
Не открывайте stdio-сервер непроверенным клиентам.
Дерево зависимостей PicGo 3.0.1 всё ещё содержит npm-уведомления об уязвимостях для image-size и старой версии inquirer/tmp. Первая (уязвимость) может вызывать отказ в обслуживании процесса при обработке специально подготовленных изображений; вторая находится в интерактивной ветке PicGo CLI, которая не вызывается данным проектом. Эти зависимости должны быть обновлены вышестоящим проектом PicGo.
Разработка и проверка
npm install
npm test
npm run check
npm run buildТекущие тесты покрывают нахождение конфигурации, регистрацию MCP-инструментов, очищение состояния от конфиденциальных данных, валидацию входных данных загрузки, шаблоны имён, шаблоны вывода и проверку конфиденциальности публикуемых файлов.
Лицензия
Maintenance
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
- AlicenseNot gradedqualityCmaintenanceA lightweight MCP server for image processing and cloud uploads that automates resizing, converting, optimizing, and uploading images to services like AWS S3, Cloudflare R2, and Google Cloud Storage.2518MIT
- AlicenseAqualityCmaintenanceMCP server for uploading images to ImgBB from Claude-compatible clients.3MIT
- AlicenseAqualityCmaintenanceMCP server for generating and editing images using xAI's Grok image model, supporting text prompts, batch generation, local files, and optional proxy configurations.22529MIT
- AlicenseNot gradedqualityCmaintenanceEnables analysis of local images through Kimi (Moonshot AI) vision models via the MCP protocol, supporting features like OCR and long context understanding.65MIT
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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