Clipboard to Supabase MCP Helper

1
  • Apple
  • Linux

Integrations

  • Can run as an Express HTTP server that exposes MCP endpoints via REST API for programmatic image uploading and file management.

  • Provides platform-specific integration for clipboard monitoring on Linux using xclip (X11) or wl-paste (Wayland), with systemd for auto-start functionality.

  • Provides platform-specific integration for clipboard monitoring and image capture on macOS using pngpaste, with LaunchAgents for auto-start functionality.

Ayudante de portapapeles a Supabase MCP

Un agente local que monitorea el portapapeles del sistema, carga cualquier imagen copiada en Supabase Storage y luego escribe la URL pública (o firmada) nuevamente en el portapapeles.

Características

  • Alojamiento de imágenes sin clics: copie una imagen y obtenga una URL al instante
  • Baja latencia: menos de 800 ms desde la copia hasta la URL
  • Multiplataforma: funciona en macOS, Windows y Linux
  • Integración con MCP: Exponer la carga de imágenes del portapapeles como un punto final de MCP
  • Inicio automático: configurar para que se ejecute al iniciar el sistema
  • Detección eficiente: deduplicación basada en hash con bajo uso de CPU

Prerrequisitos

  • Node.js 18+
  • Cuenta de Supabase con almacenamiento habilitado
  • Dependencias específicas de la plataforma:
    • macOS: pngpaste ( brew install pngpaste )
    • Windows/Linux: Acceso al portapapeles del sistema operativo nativo

Instalación

  1. Clonar el repositorio:
git clone https://github.com/martinbowling/clipboard-to-supabase-mcp-helper.git cd clipboard-to-supabase-mcp-helper
  1. Instalar dependencias:
npm install
  1. Cree un archivo .env basado en .env.example :
SUPABASE_URL=https://<project>.supabase.co SUPABASE_SERVICE_ROLE_KEY=your-service-role-key BUCKET=media MCP_PORT=3333
  1. Pruebe su conexión Supabase:
npm run test:supabase
  1. Construir el proyecto:
npm run build
  1. Instalar como servicio del sistema:

Para macOS:

npm run install:macos

Para Linux:

npm run install:linux

Para Windows:

npm run install:windows

Uso

Una vez instalado y en ejecución, el ayudante hará lo siguiente:

  1. Monitorea tu portapapeles para detectar cambios en las imágenes (sondeo cada 300 ms)
  2. Sube cualquier imagen copiada a tu bucket de Supabase
  3. Coloque la URL pública nuevamente en su portapapeles, lista para pegar

Ejecución del servicio

El asistente del portapapeles se puede ejecutar en dos modos:

Modo Stdio (predeterminado)
npm start

Esto ejecuta el servidor MCP con StdioServerTransport, ideal para el uso de la línea de comandos.

Modo HTTP
npm run start:http

Esto ejecuta un servidor HTTP Express en el puerto 3333 (configurable) con un punto final de API REST adecuado.

Integración MCP

El ayudante expone los siguientes puntos finales de MCP:

Subir imagen del portapapeles

Con modo de servidor HTTP:

POST http://localhost:3333/mcp

Cuerpo de la solicitud:

{ "id": "1", "jsonrpc": "2.0", "method": "tool", "params": { "name": "upload_clipboard_image", "input": {} } }

Respuesta:

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

El ayudante también proporciona un punto final MCP para activar manualmente la limpieza de archivos antiguos.

Cuerpo de la solicitud:

{ "id": "1", "jsonrpc": "2.0", "method": "tool", "params": { "name": "cleanup_old_files", "input": { "days": 30 } } }

Respuesta:

{ "id": "1", "jsonrpc": "2.0", "result": { "content": [ { "type": "text", "text": "Cleanup completed: Deleted 5 files older than 30 days. Failed: 0." } ] } }

El parámetro days es opcional. Si no se proporciona, se utilizará el valor de la variable de entorno RETENTION_DAYS .

Cómo funciona

  1. Detección de cambios : sondea el portapapeles cada 300 ms y calcula el hash SHA-1 de los datos de la imagen
  2. Desduplicación : solo procesa imágenes nuevas o modificadas según la comparación de hash
  3. Adaptación de la plataforma : utiliza métodos específicos de la plataforma para capturar imágenes del portapapeles
  4. Integración con Supabase : carga imágenes en su depósito de Supabase con UUID únicos
  5. Punto final MCP : expone la funcionalidad a los agentes de IA a través del Protocolo de contexto de modelo
  6. Limpieza automática : elimina periódicamente las imágenes más antiguas que el período de retención configurado (predeterminado: 30 días)

Notas específicas de la plataforma

macOS

  • Requiere pngpaste : instalar con brew install pngpaste
  • Utiliza LaunchAgents para el inicio automático

Ventanas

  • Utiliza System.Windows.Forms.Clipboard de PowerShell para la captura de imágenes
  • Utiliza el Registro de Windows para el inicio automático

Linux

  • Utiliza xclip (X11) o wl-paste (Wayland) para acceder al portapapeles
  • Utiliza systemd para el inicio automático

Desarrollo

# 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

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Un agente local que monitorea el portapapeles de su sistema, carga automáticamente las imágenes copiadas en Supabase Storage y reemplaza el contenido del portapapeles con la URL pública para compartir de inmediato.

  1. Características
    1. Prerrequisitos
      1. Instalación
        1. Uso
          1. Ejecución del servicio
          2. Integración MCP
        2. Cómo funciona
          1. Notas específicas de la plataforma
            1. macOS
            2. Ventanas
            3. Linux
          2. Desarrollo
            1. Licencia

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                This server provides tools for uploading images and videos directly to Cloudinary using Claude/Cline, facilitating resource management with customizable options like resource type and public ID.
                Last updated -
                1
                71
                4
                JavaScript
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                This server generates placeholder image URLs from various providers, supporting input validation and integration with desktop applications like Claude and Cursor.
                Last updated -
                1
                6
                MIT License
              • A
                security
                A
                license
                A
                quality
                Provides AI assistants access to the macOS clipboard content, supporting text, images, and binary data via OSAScript.
                Last updated -
                1
                2
                TypeScript
                MIT License
                • Apple
              • -
                security
                F
                license
                -
                quality
                A multi-tenant service that automatically monitors Supabase database changes, generates OpenAI embeddings, and maintains synchronized vector search capabilities for each tenant's projects.
                Last updated -
                TypeScript

              View all related MCP servers

              ID: mux0dtwljv