Zwischenablage zum Supabase MCP Helper
Ein lokaler Agent, der die Zwischenablage des Systems überwacht, alle kopierten Bilder in den Supabase-Speicher hochlädt und dann die öffentliche (oder signierte) URL wieder in die Zwischenablage schreibt.
Merkmale
Zero-Click-Bildhosting: Kopieren Sie ein Bild und erhalten Sie sofort eine URL
Geringe Latenz: Unter 800 ms vom Kopieren zur URL
Plattformübergreifend: Funktioniert unter macOS, Windows und Linux
MCP-Integration: Zwischenablage-Bildupload als MCP-Endpunkt verfügbar machen
Autostart: Konfigurieren Sie die Ausführung beim Systemstart
Effiziente Erkennung: Hash-basierte Deduplizierung mit geringer CPU-Auslastung
Related MCP server: Supabase MCP Server
Voraussetzungen
Node.js 18+
Supabase-Konto mit aktiviertem Speicher
Plattformspezifische Abhängigkeiten:
macOS:
pngpaste(brew install pngpaste)Windows/Linux: Nativer Zugriff auf die Zwischenablage des Betriebssystems
Installation
Klonen Sie das Repository:
git clone https://github.com/martinbowling/clipboard-to-supabase-mcp-helper.git
cd clipboard-to-supabase-mcp-helperInstallieren Sie Abhängigkeiten:
npm installErstellen Sie eine
.envDatei basierend auf.env.example:
SUPABASE_URL=https://<project>.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
BUCKET=media
MCP_PORT=3333Testen Sie Ihre Supabase-Verbindung:
npm run test:supabaseErstellen Sie das Projekt:
npm run buildAls Systemdienst installieren:
Für macOS:
npm run install:macosFür Linux:
npm run install:linuxFür Windows:
npm run install:windowsVerwendung
Sobald der Helfer installiert und ausgeführt wird, führt er Folgendes aus:
Überwachen Sie Ihre Zwischenablage auf Bildänderungen (Abfrage alle 300 ms)
Laden Sie alle kopierten Bilder in Ihren Supabase-Bucket hoch
Legen Sie die öffentliche URL wieder in Ihre Zwischenablage, bereit zum Einfügen
Ausführen des Dienstes
Der Zwischenablage-Helfer kann in zwei Modi ausgeführt werden:
Stdio-Modus (Standard)
npm startDadurch wird der MCP-Server mit StdioServerTransport ausgeführt, ideal für die Verwendung über die Befehlszeile.
HTTP-Modus
npm run start:httpDies führt einen Express-HTTP-Server auf Port 3333 (konfigurierbar) mit einem geeigneten REST-API-Endpunkt aus.
MCP-Integration
Der Helfer stellt die folgenden MCP-Endpunkte bereit:
Zwischenablagebild hochladen
Im HTTP-Servermodus:
POST http://localhost:3333/mcpAnforderungstext:
{
"id": "1",
"jsonrpc": "2.0",
"method": "tool",
"params": {
"name": "upload_clipboard_image",
"input": {}
}
}Antwort:
{
"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"
}
]
}
}Alte Dateien bereinigen
Der Helfer bietet auch einen MCP-Endpunkt, um die Bereinigung alter Dateien manuell auszulösen.
Anforderungstext:
{
"id": "1",
"jsonrpc": "2.0",
"method": "tool",
"params": {
"name": "cleanup_old_files",
"input": {
"days": 30
}
}
}Antwort:
{
"id": "1",
"jsonrpc": "2.0",
"result": {
"content": [
{
"type": "text",
"text": "Cleanup completed: Deleted 5 files older than 30 days. Failed: 0."
}
]
}
}Der Parameter days ist optional. Wenn er nicht angegeben wird, wird der Wert aus der Umgebungsvariable RETENTION_DAYS verwendet.
Wie es funktioniert
Änderungserkennung : Fragt alle 300 ms die Zwischenablage ab und berechnet den SHA-1-Hash der Bilddaten
Deduplizierung : Verarbeitet nur neue oder geänderte Bilder basierend auf einem Hash-Vergleich
Plattformanpassung : Verwendet plattformspezifische Methoden zum Erfassen von Zwischenablagebildern
Supabase-Integration : Lädt Bilder mit eindeutigen UUIDs in Ihren Supabase-Bucket hoch
MCP-Endpunkt : Stellt KI-Agenten die Funktionalität über das Model Context Protocol zur Verfügung
Automatische Bereinigung : Entfernt regelmäßig Bilder, die älter sind als die konfigurierte Aufbewahrungsfrist (Standard: 30 Tage).
Plattformspezifische Hinweise
macOS
Erfordert
pngpaste: Installieren Sie mitbrew install pngpasteVerwendet LaunchAgents für den Autostart
Windows
Verwendet PowerShells System.Windows.Forms.Clipboard zur Bilderfassung
Verwendet die Windows-Registrierung für den Autostart
Linux
Verwendet xclip (X11) oder wl-paste (Wayland) für den Zugriff auf die Zwischenablage
Verwendet systemd für den Autostart
Entwicklung
# 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:httpLizenz
MIT