clipboard_pasteLABSCO SUMMARY
It solves a copy problem you have probably stopped noticing.
Two of them, actually. Spreadsheet cells pasted into a chat arrive as one flat string and the model guesses at the column boundaries; terminal output copied out of a coding agent arrives with padding and hard wraps. Reading the clipboard directly fixes the first, and asking the assistant to copy a command fixes the second. The PRIMARY selection support is Linux only — passing selection="primary" on macOS or Windows returns a clear error rather than silently reading the wrong buffer.
What it is
A clipboard bridge. Instead of pasting into a chat box and losing the structure, the server reads the system clipboard directly — including the HTML that spreadsheet apps put there — and returns a real Markdown table, JSON or CSV. It writes the other way too, putting clean text onto the clipboard for you to paste.
What you get
clipboard_pastereads whatever is on the clipboard — tables, text, code, JSON, URLs, images — withinclude_schema=trueto append inferred column typesclipboard_copywrites text back, taking an optionalmime_type(text/plainby default, alsotext/html,text/rtf,image/svg+xml)clipboard_copy_markdownputs both rendered HTML and the source on the clipboard, so Slack, Gmail and Notion get rich text while a terminal gets the markupclipboard_copy_imagewrites a PNG or JPEG from base64 with no re-encoding, validating magic bytes against the declared typeclipboard_list_formatsreports which MIME types are currently on the clipboard, andclipboard_read_rawreturns one of them verbatimclipboard_versionreports the running package version, for hosts that do not surface it- On Linux,
selection="primary"reads the X11/Wayland PRIMARY selection — whatever you have highlighted — leaving your Ctrl-C buffer untouched
Requirements
A Python package runner — pipx and uv are both documented — then register the mcp-clipboard console script. Published on PyPI as mcp-clipboard version 2.6.1, stdio transport. macOS and Windows need nothing else; Linux needs one clipboard utility, wl-clipboard on Wayland (sudo apt install wl-clipboard or sudo dnf install wl-clipboard). No account and no network — it talks to the local clipboard only.
Setup effort
One command — pipx install mcp-clipboard
USE CASES
Getting spreadsheet cells into the conversation intact
Copy the range, then ask the assistant to read the clipboard — it comes back as a Markdown table, not a flat string.
Taking a command out of the terminal cleanly
Ask for the command to be put on your clipboard instead of selecting it in the terminal and inheriting the wrapping.
Pasting formatted text into Slack or Gmail
Copy markdown and HTML together so the destination picks the version it can render.
Asking about text you just highlighted
On Linux, read the PRIMARY selection so an error message you selected can be explained without disturbing your copy buffer.
Working out what is actually on the clipboard
List the available MIME types before deciding how to read it.
7 tools
Listed in project docs. Your client may show a different list.
clipboard_copyclipboard_copy_markdownclipboard_copy_imageclipboard_list_formatsclipboard_read_rawclipboard_versionBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
- pipx on PATH (or uv, for the uvx tabs)
- On Linux: wl-clipboard on Wayland, or xclip on X11
INSTALLATION
Connect your client
Server setup
pipx install mcp-clipboardMCP Clients
Claude Code — pipx
claude mcp add clipboard --scope user -- pipx run mcp-clipboardClaude Code — uvx
claude mcp add clipboard --scope user -- uvx mcp-clipboardClaude Desktop — pipx
{
"mcpServers": {
"clipboard": {
"command": "pipx",
"args": [
"run",
"mcp-clipboard"
]
}
}
}Claude Desktop — uvx
{
"mcpServers": {
"clipboard": {
"command": "uvx",
"args": [
"mcp-clipboard"
]
}
}
}Any MCP client — Local build
Clone the repository and install it
Only for running from source; the pipx and uvx tabs need no clone.
git clone https://github.com/cmeans/mcp-clipboard.git
cd mcp-clipboard
uv syncPoint your client at the clone
<YOUR_PATH_TO_MCP_CLIPBOARD> is the full path of the folder you just cloned.
{
"mcpServers": {
"clipboard": {
"command": "uv",
"args": [
"run",
"--directory",
"<YOUR_PATH_TO_MCP_CLIPBOARD>",
"mcp-clipboard"
]
}
}
}