Skip to main content
Glama

mcp-clipboard

PyPI version Python versions License Tests Coverage Downloads mcp-clipboard MCP server

Ein MCP-Server, der Ihrem KI-Assistenten direkten Zugriff auf Ihre Systemzwischenablage gibt: Lesen Sie, was Sie kopiert haben, oder schreiben Sie sauberen Text direkt hinein. Funktioniert mit jedem MCP-kompatiblen Client, einschließlich Claude Code, Claude Desktop, Cursor, Windsurf und anderen.

Warum gibt es das?

Einfügen verliert Struktur

Wenn Sie Zellen aus Google Sheets oder Excel kopieren und in eine Chateingabe einfügen, wird die tabellarische Struktur (Zeilen und Spalten) zerstört. Sie kommt als flacher String ohne Trennzeichen an. Das Modell muss raten, wo eine Zelle endet und die nächste beginnt, und rät oft falsch.

mcp-clipboard bewahrt sie. Anstatt einzufügen, sagen Sie Ihrem Assistenten: „Lies meine Zwischenablage.“ Der Server liest die Zwischenablage direkt aus, erkennt tabellarische Daten aus dem HTML, das Tabellenkalkulations-Apps in die Zwischenablage legen, und gibt sie als korrekt formatierte Markdown-Tabelle, JSON oder CSV zurück. Keine verlorene Struktur, kein Raten.

Bonus: Es behebt auch das Kopieren aus Claude Code

Der Terminal-Renderer von Claude Code fügt 2-Zeichen-Padding, harte Zeilenumbrüche bei ca. 80 Spalten und nachgestellte Leerzeichen zu allen Ausgaben hinzu. Wenn Sie Text aus dem Terminal auswählen und kopieren, kommen diese Artefakte mit:

  echo "this is a long command that wraps and
  breaks when you paste it because of the hard
  newlines and leading spaces"

Dies wurde wiederholt im claude-code-Repo gemeldet (Issues #4686, #6827, #7670, #13378, #15199, #25040, #25427, #26016) mit Dutzenden von Upvotes und ohne behobenen Fehler.

mcp-clipboard umgeht das Problem vollständig. Anstatt Text aus dem Terminal zu kopieren, bitten Sie Claude Code, ihn in Ihre Zwischenablage zu legen:

„Kopiere diesen Befehl in meine Zwischenablage“

Claude Code ruft clipboard_copy auf, schreibt den sauberen Text direkt in Ihre Systemzwischenablage, und Sie fügen ihn ein, wo immer Sie ihn benötigen. Kein Padding, keine harten Umbrüche, kein Aufräumen.

Tipp: Um dies zu automatisieren, fügen Sie eine Zeile zu Ihrem Projekt oder Ihrer globalen CLAUDE.md hinzu:

When you produce a shell command for the user to run, also copy it to the clipboard using clipboard_copy.

Claude Code kopiert dann jeden Befehl, den es vorschlägt, ohne dass Sie darum bitten müssen.

Tools

Tool

Beschreibung

clipboard_paste

Primäres Tool. Lesen Sie beliebige Zwischenablageninhalte: Tabellen, Text, Code, JSON, URLs, Bilder. Tabellen werden als Markdown/JSON/CSV formatiert; übergeben Sie include_schema=true, um abgeleitete Spaltentypen anzuhängen. Bilder werden als Bildinhalt zurückgegeben, den das Modell sehen kann.

clipboard_copy

Schreiben Sie Inhalte in die Systemzwischenablage. Akzeptiert einen optionalen mime_type-Parameter (standardmäßig text/plain; auch text/html, text/rtf oder jedes text/* unter Wayland/X11).

clipboard_list_formats

Listen Sie auf, welche MIME-Typen sich aktuell in der Zwischenablage befinden.

clipboard_read_raw

Gibt den rohen Zwischenablageninhalt für einen bestimmten MIME-Typ zurück – unterstützt Textformate sowie image/svg+xml, application/json, application/xml (diagnostisch).

Einrichtung

Voraussetzungen

Python 3.11+ und eines der folgenden: uv (empfohlen), pipx oder pip.

Sie benötigen außerdem ein plattformspezifisches Zwischenablage-Tool:

Plattform

Tool

Installation

Fedora / RHEL (Wayland)

wl-copy / wl-paste

sudo dnf install wl-clipboard

Ubuntu / Debian (Wayland)

wl-copy / wl-paste

sudo apt install wl-clipboard

Linux (X11)

xclip

sudo dnf install xclip oder sudo apt install xclip

macOS

Eingebaut

Keine Installation erforderlich (pbcopy / pbpaste)

Windows

Eingebaut

Keine Installation erforderlich (PowerShell)

Plattformstatus: Linux mit Wayland ist getestet und wird aktiv genutzt. X11-, macOS- und Windows-Implementierungen sind vollständig, aber auf echter Hardware ungetestet. Fehlerberichte und PRs sind willkommen.

Claude Code

claude mcp add clipboard --scope user -- uvx mcp-clipboard

Claude Desktop

Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu:

  • Linux: ~/.config/Claude/claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "clipboard": {
      "command": "uvx",
      "args": ["mcp-clipboard"]
    }
  }
}

Andere MCP-Clients

Jeder Client, der MCP-stdio-Server unterstützt, kann mcp-clipboard verwenden. Der einfachste Ansatz ist uvx mcp-clipboard. Konsultieren Sie die Dokumentation Ihres Clients, wie MCP-Server registriert werden.

Installation aus dem Quellcode

Wenn Sie einen lokalen Klon bevorzugen, anstatt von PyPI zu installieren:

git clone https://github.com/cmeans/mcp-clipboard.git
cd mcp-clipboard
uv sync

Verweisen Sie dann Ihren Client auf die lokale Installation:

{
  "mcpServers": {
    "clipboard": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/mcp-clipboard",
        "mcp-clipboard"
      ]
    }
  }
}

Umgebungsvariablen

Umgebungsvariablen können über den Schlüssel "env" in der Konfiguration übergeben werden.

Variable

Plattform

Zweck

Standard

MCP_CLIPBOARD_DEBUG

Alle

Debug-Logging aktivieren (1 zum Aktivieren)

Aus

WAYLAND_DISPLAY

Linux (Wayland)

Compositor-Socket-Name oder absoluter Pfad

Automatisch erkannt

XDG_RUNTIME_DIR

Linux (Wayland)

Verzeichnis, das den Wayland-Socket enthält

/run/user/<uid>

XDG_SESSION_TYPE

Linux

Sitzungstyp-Hinweis (wayland oder x11)

Automatisch erkannt via Socket-Scan

Die meisten Linux-Benutzer müssen keine dieser Variablen setzen. Überschreiben Sie sie, falls die automatische Erkennung fehlschlägt (mehrere Compositor, nicht standardmäßiger Socket-Pfad oder containerisierte Umgebungen).

Verwendung

Zwischenablage lesen

Kopieren Sie etwas (Tabellenzellen, Code, Text, eine URL, JSON, ein Bild), dann:

  • „Füge meine Zwischenablage ein“

  • „Lies meine Zwischenablage“

  • „Was ist in meiner Zwischenablage?“

  • „Ich habe einige Daten kopiert, schau sie dir an“

Ihr Assistent ruft clipboard_paste auf und gibt den Inhalt mit erhaltener Struktur zurück.

In die Zwischenablage schreiben

Wenn Ihr Agent einen Befehl, einen Codeblock oder einen Text generiert, den Sie anderswo verwenden müssen:

  • „Kopiere das in meine Zwischenablage“

  • „Lege diesen Befehl in meine Zwischenablage“

  • „Kopiere das als HTML“ (schreibt text/html, damit Rich-Text-Apps mit Formatierung einfügen)

Der Agent ruft clipboard_copy auf und der saubere Text landet direkt in Ihrer Systemzwischenablage. Keine Terminal-Rendering-Artefakte, nur sauberer Text. Dies ist besonders nützlich mit Claude Code (siehe oben).

Tipp: Auto-Copy-Verhalten. Standardmäßig kopiert der Agent nur dann in die Zwischenablage, wenn Sie darum bitten. Wenn Sie möchten, dass Befehle und Codeblöcke automatisch kopiert werden, fügen Sie dies zu Ihrem System-Prompt hinzu (z. B. in einem Claude Desktop-Projekt oder in der CLAUDE.md von Claude Code):

Wenn du einen Befehl oder Codeblock ausgibst, den der Benutzer wahrscheinlich anderswo einfügen wird, kopiere ihn proaktiv mit clipboard_copy in die Zwischenablage.

Tabellen-Ausgabeformate

Wenn die Zwischenablage tabellarische Daten enthält, steuert output_format das Format:

Format

Ziel

Was Sie erhalten

markdown

Claude, GitHub, die meisten Tools

GFM-Pipe-Tabelle (Standard)

notion

Notion

GFM-Pipe-Tabelle (Notion rendert diese nativ)

slack

Slack

*fetter* Header + leerzeichenausgerichtete Daten in einem Monospace-Codeblock

jira

Jira

`

Header

/

Zelle

` Wiki-Markup

confluence

Confluence

wie jira (geteilte Wiki-Syntax)

html

E-Mail, Web, Rich-Text-Editoren

<table> mit <thead>/<th>/<tbody>/<td>

json

APIs, Code

Array von Objekten, die nach der Header-Zeile benannt sind

csv

Excel, Datentools

Kommagetrennte Werte

Beispiele:

  • „Lies meine Zwischenablage als Slack“ → output_format=slack

  • „Konvertiere meine Zwischenablage in eine Jira-Tabelle“ → output_format=jira

  • „Gib mir das als HTML“ → output_format=html

Tabellenschema-Inferenz

Fügen Sie include_schema=true hinzu, um eine Zusammenfassung der Spaltentypen neben der Tabelle zu erhalten:

„Lies meine Zwischenablage mit Schema“

Abgeleitete Typen: integer, float, currency, percentage, date, boolean, text. Verwendet das Mehrheitsprinzip pro Spalte – wenn kein Typ mehr als die Hälfte der nicht leeren Zellen ausmacht, wird die Spalte als text typisiert. Leere Zellen werden übersprungen; die Header-Zeile ist von der Inferenz ausgeschlossen.

Dies ist nützlich, wenn Sie tabellarische Daten an Claude für SQL-CREATE TABLE-Anweisungen, Pandas-dtype-Mappings oder Validierungsregeln übergeben – Claude erhält die Typen vorab, anstatt sie aus den Daten zu erraten.

Tipps für zuverlässiges Auslösen

Der Server enthält MCP-Anweisungen, die dem Client mitteilen, wann die Zwischenablage-Tools zu verwenden sind, aber die Ergebnisse variieren je nach Modell und Client. Wenn der Agent Ihre Absicht nicht erkennt, seien Sie explizit: „Kopiere das in meine Zwischenablage“ oder „Lies, was ich kopiert habe“ funktionieren am zuverlässigsten.

Wenn Sie Zugriff auf einen benutzerdefinierten System-Prompt haben (z. B. in einem Claude Desktop-Projekt oder einem benutzerdefinierten Agenten), können Sie das Verhalten verstärken:

Wenn der Benutzer darum bittet, eine Ausgabe zu kopieren, verwende clipboard_copy, um sie in die Systemzwischenablage zu schreiben. Wenn der Benutzer auf Daten verweist, die nicht im Gespräch enthalten sind, überprüfe die Zwischenablage mit clipboard_paste.

Inhaltsbehandlung

Inhaltstyp

Was passiert

Tabellenkalkulationstabelle

Geparst aus HTML/TSV, zurückgegeben in Ihrem gewählten Format (Markdown, JSON, CSV, Slack, Jira, HTML, Notion)

JSON

Hübsch formatiert in einem JSON-Codeblock

Code

Zurückgegeben in einem eingezäunten Codeblock

URL

Sauber als URL zurückgegeben

Rich HTML (keine Tabelle)

HTML-Tags entfernt, lesbarer Text zurückgegeben

RTF

Zurückgegeben in einem eingezäunten Codeblock (macOS, Windows und Wayland/X11 via Pass-Through)

Klartext

Zurückgegeben wie er ist

Bilder (PNG, etc.)

Zurückgegeben als MCP-Bildinhalt-Block, den das Modell sehen und analysieren kann

SVG

Lesbar als Text via clipboard_read_raw mit image/svg+xml oder zurückgegeben als Bild via clipboard_paste

Audio / Video

Nicht unterstützt; gibt eine Nachricht zurück, die das Format identifiziert

Funktionsweise

  1. Plattformerkennung: Beim Start erkennt der Server Ihr Zwischenablage-Backend (Wayland, X11, macOS oder Windows) und wählt die entsprechenden Systembefehle aus.

  2. Lesen (clipboard_paste): Ruft den Zwischenablage-Lesebefehl der Plattform auf. Versucht zuerst text/html (Google Sheets und Excel legen <table>-Markup in die Zwischenablage), parst mit Pythons eingebautem html.parser. Fällt auf tabulatorgetrennte Werte (text/plain), dann text/rtf zurück, dann prüft es auf Bilder.

  3. Schreiben (clipboard_copy): Leitet Text an den Zwischenablage-Schreibbefehl der Plattform weiter (wl-copy, xclip -selection clipboard, pbcopy oder PowerShell Set-Clipboard). Unterstützt einen mime_type-Parameter zum Schreiben typisierter Inhalte (z. B. text/html, text/rtf).

  4. Bild-Passthrough: Wenn die Zwischenablage ein Bild (PNG, etc.) enthält, wird es als base64-kodierter MCP-Bildinhalt-Block zurückgegeben, den das Modell sehen und analysieren kann.

  5. **In

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

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/cmeans/clipboard-mcp'

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