Буфер обмена для Supabase MCP Helper
Локальный агент, который отслеживает системный буфер обмена, загружает все скопированные изображения в хранилище Supabase, а затем записывает общедоступный (или подписанный) URL-адрес обратно в буфер обмена.
Функции
Хостинг изображений с нулевым кликом: скопируйте изображение и мгновенно получите URL-адрес
Низкая задержка: менее 800 мс от копирования до URL
Кроссплатформенность: работает на macOS, Windows и Linux
Интеграция MCP: предоставление возможности загрузки изображения в буфер обмена в качестве конечной точки MCP
Автозапуск: настроить запуск при запуске системы
Эффективное обнаружение: дедупликация на основе хэширования с низкой загрузкой ЦП
Related MCP server: Supabase MCP Server
Предпосылки
Node.js 18+
Учетная запись Supabase с включенным хранилищем
Зависимости, специфичные для платформы:
macOS:
pngpaste(brew install pngpaste)Windows/Linux: доступ к буферу обмена собственной ОС
Установка
Клонируйте репозиторий:
git clone https://github.com/martinbowling/clipboard-to-supabase-mcp-helper.git
cd clipboard-to-supabase-mcp-helperУстановить зависимости:
npm installСоздайте файл
.envна основе.env.example:
SUPABASE_URL=https://<project>.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
BUCKET=media
MCP_PORT=3333Проверьте подключение Supabase:
npm run test:supabaseСоздайте проект:
npm run buildУстановить как системную службу:
Для macOS:
npm run install:macosДля Linux:
npm run install:linuxДля Windows:
npm run install:windowsИспользование
После установки и запуска помощник будет:
Отслеживайте изменения изображений в буфере обмена (опрос каждые 300 мс)
Загрузите все скопированные изображения в ваш контейнер Supabase.
Поместите общедоступный URL-адрес обратно в буфер обмена, готовый к вставке.
Запуск службы
Помощник буфера обмена может работать в двух режимах:
Режим Stdio (по умолчанию)
npm startЭто запускает сервер MCP с StdioServerTransport, что идеально подходит для использования в командной строке.
HTTP-режим
npm run start:httpОн запускает HTTP-сервер Express на порту 3333 (настраивается) с соответствующей конечной точкой REST API.
Интеграция МКП
Помощник предоставляет следующие конечные точки MCP:
Загрузить изображение буфера обмена
В режиме HTTP-сервера:
POST http://localhost:3333/mcpТекст запроса:
{
"id": "1",
"jsonrpc": "2.0",
"method": "tool",
"params": {
"name": "upload_clipboard_image",
"input": {}
}
}Ответ:
{
"id": "1",
"jsonrpc": "2.0",
"result": {
"content": [
{
"type": "text",
"text": "https://your-project.supabase.co/storage/v1/object/public/media/clips/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.png"
}
]
}
}Очистка старых файлов
Помощник также предоставляет конечную точку MCP для ручного запуска очистки старых файлов.
Текст запроса:
{
"id": "1",
"jsonrpc": "2.0",
"method": "tool",
"params": {
"name": "cleanup_old_files",
"input": {
"days": 30
}
}
}Ответ:
{
"id": "1",
"jsonrpc": "2.0",
"result": {
"content": [
{
"type": "text",
"text": "Cleanup completed: Deleted 5 files older than 30 days. Failed: 0."
}
]
}
}Параметр days является необязательным. Если он не указан, будет использовано значение из переменной среды RETENTION_DAYS .
Как это работает
Обнаружение изменений : опрашивает буфер обмена каждые 300 мс и вычисляет хэш SHA-1 данных изображения.
Дедупликация : обрабатывает только новые или измененные изображения на основе сравнения хэшей.
Адаптация платформы : использует специфичные для платформы методы для захвата изображений буфера обмена.
Интеграция с Supabase : загружает изображения в ваш контейнер Supabase с уникальными UUID.
Конечная точка MCP : предоставляет функциональность агентам ИИ через протокол контекста модели
Автоматическая очистка : периодически удаляет изображения старше установленного срока хранения (по умолчанию: 30 дней)
Заметки, специфичные для платформы
macOS
Требуется
pngpaste: Установить с помощьюbrew install pngpasteИспользует LaunchAgents для автозапуска
Окна
Использует PowerShell System.Windows.Forms.Clipboard для захвата изображений
Использует реестр Windows для автозапуска
Линукс
Использует xclip (X11) или wl-paste (Wayland) для доступа к буферу обмена
Использует systemd для автозапуска
Разработка
# Run with live reload (stdio mode)
npm run dev
# Run with live reload (HTTP mode)
npm run dev:http
# Build for production
npm run build
# Run stdio version
npm start
# Run HTTP version
npm run start:httpЛицензия
Массачусетский технологический институт