Skip to main content
Glama

clippy

by neilberkman

Clippy 📎

Copy files from your terminal that actually paste into GUI apps. No more switching to Finder.

macOS only - built specifically for the Mac clipboard system.

Why Clippy?

pbcopy copies file contents, but GUI apps need file references. When you pbcopy < image.png, you can't paste it into Slack or email - those apps expect files, not raw bytes.

Clippy bridges this gap by detecting what you want and using the right clipboard format:

# Copy files as references (paste into any GUI app) clippy report.pdf # ⌘V into Slack/email - uploads the file clippy *.jpg # Multiple files at once # Pipe data as files curl -sL https://picsum.photos/300 | clippy # Download → clipboard as file # Copy your most recent download (immediate) clippy -r # Grabs the file you just downloaded clippy -r 3 # Copy 3 most recent downloads # Interactive picker for recent files clippy -i # Choose from list of recent downloads clippy -i 5m # Show picker for last 5 minutes only

Stay in your terminal. Copy anything. Paste anywhere.

The Terminal-First Clipboard Suite: Clippy copies files to clipboard, Pasty pastes them intelligently, and Draggy (optional GUI) bridges drag-and-drop workflows. Use as a Go library for custom integrations. All designed to minimize context switching from your terminal.

💡 Bonus: Clippy includes an MCP server for AI assistants like Claude to copy generated content directly to your clipboard.

Installation

brew install neilberkman/clippy/clippy

Build from Source

# Clone and build git clone https://github.com/neilberkman/clippy.git cd clippy go build -o clippy ./cmd/clippy sudo mv clippy /usr/local/bin/ # Or use go install go install github.com/neilberkman/clippy/cmd/clippy@latest

Core Features

1. Smart File Copying

clippy document.pdf # Copies as file reference (paste into any app) clippy notes.txt # Also copies as file reference clippy -t notes.txt # Use -t flag to copy text content instead clippy *.jpg # Multiple files at once

2. Recent Downloads

# Immediate copy (no UI) clippy -r # Copy your most recent download clippy -r 3 # Copy 3 most recent downloads clippy -r 5m # Copy all downloads from last 5 minutes # Interactive picker clippy -i # Choose from list of recent downloads clippy -i 3 # Show picker with 3 most recent files clippy -i 5m # Show picker for last 5 minutes only # Copy and paste in one step clippy -r --paste # Copy most recent and paste here clippy -i --paste # Pick file, copy it, and paste here

3. Pipe Data as Files

curl -sL https://example.com/image.jpg | clippy cat archive.tar.gz | clippy

4. Copy and Paste Together

clippy ~/Downloads/report.pdf --paste # Copy to clipboard AND paste here clippy -r --paste # Copy recent download and paste here clippy -i --paste # Pick file, copy it, and paste here

5. Clear Clipboard

clippy --clear # Empty the clipboard echo -n | clippy # Also clears the clipboard

6. Helpful Flags

clippy -v file.txt # Show what happened clippy --debug file.txt # Technical details for debugging

Why "Clippy"?

Because it's a helpful clipboard assistant that knows what you want to do! 📎


Pasty - Intelligent Clipboard Pasting

When you copy a file in Finder and press ⌘V in terminal, you just get the filename as text. Pasty actually copies the file itself to your current directory.

Core Use Cases

1. Copy file in Finder → Paste actual file in terminal

# 1. Copy any file in Finder (⌘C) # 2. Switch to terminal and run: pasty # File gets copied to your current directory (not just the filename!)

2. Smart text file handling

# Copy a text file in Finder (⌘C), then: pasty # Outputs the file's text content to stdout pasty notes.txt # Saves the file's text content to notes.txt

Install & Use

# Install via Homebrew brew install neilberkman/clippy/clippy # Or build from source go install github.com/neilberkman/clippy/cmd/clippy@latest go install github.com/neilberkman/clippy/cmd/pasty@latest

Draggy - Visual Clipboard Companion

Draggy is a menu bar app that brings visual functionality to your clipboard workflow. While clippy handles copying from the terminal, Draggy provides a visual interface for dragging files to applications and viewing recent downloads.

Important: Draggy is a separate, optional tool. It's not automatically installed with clippy.

Features

Core Functionality
  • Drag & Drop Bridge - Makes clipboard files draggable to web browsers, Slack, and other apps
  • Recent Downloads Viewer - Toggle between clipboard and recent downloads with one click
  • File Thumbnails - Visual previews for images and PDFs right in the file list
  • Quick Preview - Hold ⌥ Option while hovering to see larger previews
  • Zero Background Activity - No polling or battery drain, only activates on demand
User Experience
  • Double-Click to Open - Quick access to files without leaving the menu
  • Keyboard Shortcuts - ESC to close, Space to refresh
Design Philosophy
  • Not a clipboard manager - No history, no database, no complexity
  • Terminal-first workflow - Designed to complement terminal usage, not replace it
  • Minimal but complete - Every feature serves a specific workflow need

Installation

# Separate brew install (not included with clippy) brew install --cask neilberkman/clippy/draggy

⚠️ First Launch: macOS may show a security warning since Draggy isn't code-signed. If you see "Draggy is damaged and can't be opened":

  • The Homebrew cask automatically removes the quarantine flag during installation
  • If the warning persists, run: xattr -dr com.apple.quarantine /Applications/Draggy.app
  • Or right-click Draggy.app and select "Open" to bypass Gatekeeper

Usage

# Copy files in terminal: clippy ~/Downloads/*.pdf # Copy PDFs with clippy curl -sL image.jpg | clippy # Pipe downloads to clipboard clippy -r # Copy most recent download # Use Draggy GUI: # 1. Click Draggy icon in menu bar # 2. Drag files to browser upload fields, Slack, etc. # 3. Toggle to Recent Downloads view with clock icon # 4. Hold ⌥ Option to preview files # 5. Double-click to open files

Workflow Examples

Upload screenshots to GitHub:

# Take screenshot (macOS saves to Desktop) # In terminal: clippy ~/Desktop/Screenshot*.png # In Draggy: Drag to GitHub comment box

Quick file sharing:

# Terminal: clippy ~/Downloads/report.pdf # Draggy: Shows thumbnail, drag to Slack or email

Recent downloads workflow:

# Download file in browser # Click Draggy → Click clock icon → See your download # Drag where needed or double-click to open

Philosophy

Draggy is intentionally not a clipboard manager. No history, no search, no database. It's a visual bridge between your terminal clipboard workflow and GUI applications. For terminal users who occasionally need to see what's on their clipboard or drag files somewhere, then get back to work.

MCP Server

Clippy includes a built-in MCP (Model Context Protocol) server that lets AI assistants copy generated content directly to your clipboard.

Ask Claude to generate any text - code, emails, documents - and have it instantly available to paste anywhere:

  • "Write a Python script to process CSV files and copy it to my clipboard"
  • "Draft an email about the meeting and put it on my clipboard"
  • "Generate that regex and copy it so I can paste into my editor"

No more manual selecting and copying from the chat interface.

Setup

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{ "mcpServers": { "clippy": { "command": "clippy", "args": ["mcp-server"] } } }

Available Tools

  • clipboard_copy - Copy text or files to clipboard
  • clipboard_paste - Paste clipboard content to files/directories
  • get_recent_downloads - List recently downloaded files

Claude can generate content and put it directly on your clipboard, ready to paste wherever you need it.

Library

Clippy can be used as a Go library in your own applications:

go get github.com/neilberkman/clippy

High-Level API

import "github.com/neilberkman/clippy" // Smart copy - automatically detects text vs binary files err := clippy.Copy("document.pdf") // Copy multiple files as references err := clippy.CopyMultiple([]string{"image1.jpg", "image2.png"}) // Copy text content err := clippy.CopyText("Hello, World!") // Copy data from reader (handles text/binary detection) reader := strings.NewReader("Some content") err := clippy.CopyData(reader) // Copy from stdin err := clippy.CopyData(os.Stdin) // Get clipboard content text, ok := clippy.GetText() files := clippy.GetFiles()

Features

  • Smart Detection: Automatically determines whether to copy as file reference or text content
  • Multiple Files: Copy multiple files in one operation
  • Reader Support: Copy from any io.Reader with automatic format detection
  • Clipboard Access: Read current clipboard content (text or file paths)
  • Cross-Platform Types: Uses standard Go types, handles platform-specific clipboard internally

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Gives AI assistants direct access to macOS clipboard - letting Claude copy generated code, text, or files straight to your clipboard for pasting anywhere on Mac.

  1. Why Clippy?
    1. Installation
      1. Homebrew (Recommended)
      2. Build from Source
    2. Core Features
      1. 1. Smart File Copying
      2. 2. Recent Downloads
      3. 3. Pipe Data as Files
      4. 4. Copy and Paste Together
      5. 5. Clear Clipboard
      6. 6. Helpful Flags
    3. Why "Clippy"?
      1. Pasty - Intelligent Clipboard Pasting
        1. Core Use Cases
      2. Install & Use
        1. Draggy - Visual Clipboard Companion
          1. Features
          2. Installation
          3. Usage
          4. Workflow Examples
          5. Philosophy
        2. MCP Server
          1. Setup
          2. Available Tools
        3. Library
          1. High-Level API
          2. Features
        4. License

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            Bridges Claude AI with Xcode, enabling AI-powered code assistance, project management, and automated development tasks securely on your local machine.
            Last updated -
            9
            17
            303
            TypeScript
            MIT License
            • Apple
          • 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
            6
            TypeScript
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            A server that acts as a bridge between Claude and local Xcode projects, enabling AI-powered code assistance, project management, and automated development tasks without exposing your code to the internet.
            Last updated -
            JavaScript
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            A high-performance server that provides clipboard access for AI assistants, specifically designed to solve the VSCode + WSL2 image clipboard limitation when using Claude.
            Last updated -
            6
            1
            Go
            MIT License
            • Apple
            • Linux

          View all related MCP servers

          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/neilberkman/clippy'

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