Skip to main content
Glama
martinbowling

Clipboard to Supabase MCP Helper

Буфер обмена для Supabase MCP Helper

Локальный агент, который отслеживает системный буфер обмена, загружает все скопированные изображения в хранилище Supabase, а затем записывает общедоступный (или подписанный) URL-адрес обратно в буфер обмена.

Функции

  • Хостинг изображений с нулевым кликом: скопируйте изображение и мгновенно получите URL-адрес

  • Низкая задержка: менее 800 мс от копирования до URL

  • Кроссплатформенность: работает на macOS, Windows и Linux

  • Интеграция MCP: предоставление возможности загрузки изображения в буфер обмена в качестве конечной точки MCP

  • Автозапуск: настроить запуск при запуске системы

  • Эффективное обнаружение: дедупликация на основе хэширования с низкой загрузкой ЦП

Related MCP server: clipboard-vision-mcp

Предпосылки

  • Node.js 18+

  • Учетная запись Supabase с включенным хранилищем

  • Зависимости, специфичные для платформы:

    • macOS: pngpaste ( brew install pngpaste )

    • Windows/Linux: доступ к буферу обмена собственной ОС

Установка

  1. Клонируйте репозиторий:

git clone https://github.com/martinbowling/clipboard-to-supabase-mcp-helper.git
cd clipboard-to-supabase-mcp-helper
  1. Установить зависимости:

npm install
  1. Создайте файл .env на основе .env.example :

SUPABASE_URL=https://<project>.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
BUCKET=media
MCP_PORT=3333
  1. Проверьте подключение Supabase:

npm run test:supabase
  1. Создайте проект:

npm run build
  1. Установить как системную службу:

Для macOS:

npm run install:macos

Для Linux:

npm run install:linux

Для Windows:

npm run install:windows

Использование

После установки и запуска помощник будет:

  1. Отслеживайте изменения изображений в буфере обмена (опрос каждые 300 мс)

  2. Загрузите все скопированные изображения в ваш контейнер Supabase.

  3. Поместите общедоступный 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 .

Как это работает

  1. Обнаружение изменений : опрашивает буфер обмена каждые 300 мс и вычисляет хэш SHA-1 данных изображения.

  2. Дедупликация : обрабатывает только новые или измененные изображения на основе сравнения хэшей.

  3. Адаптация платформы : использует специфичные для платформы методы для захвата изображений буфера обмена.

  4. Интеграция с Supabase : загружает изображения в ваш контейнер Supabase с уникальными UUID.

  5. Конечная точка MCP : предоставляет функциональность агентам ИИ через протокол контекста модели

  6. Автоматическая очистка : периодически удаляет изображения старше установленного срока хранения (по умолчанию: 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

Лицензия

Массачусетский технологический институт

Install Server
F
license - not found
D
quality
D
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

  • Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni…

  • x402 pay-per-call infra for agents: $0.03 image generation, Postgres, auth, storage, functions.

  • Universal memory for AI agents and tools. Save, organize and search context anywhere.

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/martinbowling/clipboard-to-supabase-mcp-helper'

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