Skip to content

mcp-clip

Clipboard access for AI assistants. Lock-free, WSL2-aware.

Solves the VSCode + WSL2 gap

When Claude runs in VSCode on Windows with WSL2, pasting images from the clipboard fails — the sandboxed environment can’t see the Windows clipboard. mcp-clip bridges it.

Lock-free concurrency

Atomic operations and CAS loops throughout, zero mutexes in hot paths. Race-condition free under all loads, verified with go test -race.

Image + binary aware

Detects PNG, JPEG, GIF, WebP, and BMP. Content over 25KB is returned in numbered chunks, or as a pointer to the mcp-clip://current resource, instead of blowing up the response.

read_clipboard returns the current clipboard content as text, base64, a saved file, or whichever of those fits automatically — with chunking for large payloads.

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

Always-current resource

The server exposes a mcp-clip://current resource that always reflects the latest clipboard content, so a client can read it directly instead of calling read_clipboard again.

Smart cleanup

Temp files created for large or binary content are cleaned up on a TTL, configurable with MCP_CLEANUP_TTL (default 1h).

WSL2

Bridges to the Windows clipboard through PowerShell — the reason this server exists. WSL2 setup →

Linux

Direct clipboard integration via golang.design/x/clipboard.

macOS & Windows

Native clipboard support on both.