FeaturesDownloadDocsChangelogGitHubDownload
Docs / Using ClipTrail

AI assistants (MCP) New

clipd-mcp is a small local server that lets an AI assistant search your ClipTrail history. Instead of digging through it yourself, you ask: "find the Postgres connection string I copied in March", and the assistant looks it up. It speaks the Model Context Protocol (MCP), so it works with Claude Code, Claude Desktop, Cursor and other MCP-compatible clients.

Local by design. The assistant starts clipd-mcp on your computer and talks to it over standard input and output. There's no network port, no account and no ClipTrail server involved. It reads the same history folder as the desktop app and the clipd CLI.

Install

There's no prebuilt clipd-mcp binary yet, so build it from source for now (needs Rust 1.96 or newer; on Linux also libxcb1-dev). From a clone of the repository:

cargo install --path crates/clipd-mcp

or straight from GitHub:

cargo install --locked --git https://github.com/abhijitdalal26/cliptrail clipd-mcp

Either one puts clipd-mcp in ~/.cargo/bin (%USERPROFILE%\.cargo\bin on Windows). Check it with clipd-mcp --help.

The server reads clips.db from the ClipTrail data folder: %APPDATA%\ClipTrail on Windows, ~/Library/Application Support/ClipTrail on macOS, ~/.local/share/ClipTrail on Linux. To point it somewhere else, pass --data-dir <DIR> or set CLIPTRAIL_DATA_DIR.

Connect your assistant

Claude Code

claude mcp add cliptrail -- clipd-mcp

Then start a new Claude Code session; /mcp should list cliptrail as connected.

Claude Desktop

Open Settings → Developer → Edit Config (the file is claude_desktop_config.json), add the server, and restart the app:

{
  "mcpServers": {
    "cliptrail": {
      "command": "clipd-mcp",
      "args": []
    }
  }
}

Cursor

Add the same block to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json in a project, then enable it under Settings → MCP.

Any other MCP client

Run clipd-mcp as a stdio server: the client starts the command and exchanges JSON-RPC messages over stdin and stdout. The mcpServers block above is the common format.

"Command not found"? Desktop apps often don't see your shell's PATH. Put the full path in command instead, for example C:\\Users\\you\\.cargo\\bin\\clipd-mcp.exe (JSON needs the doubled backslashes) or /home/you/.cargo/bin/clipd-mcp.

What the assistant can do

The server offers eight tools. Six only read; the other two are small, reversible conveniences. There is no tool to delete or edit a clip.

ToolWhat it does
search_clipsFull-text search, with optional filters for kind, source app, pinned only and a date range (from / to as YYYY-MM-DD). Returns summaries.
recent_clipsNewest clips first, same filters, no query: "what did I copy recently?"
get_clipOne clip's full body by id or unique id prefix.
clip_statsTotals: clips per kind, pinned count, top source apps.
list_source_appsThe apps your clips came from, handy for filtering.
day_countsClips per calendar day for the last N days (default 30, up to 365).
pin_clipPin or unpin a clip so it stays at the top and is never cleaned up.
copy_to_clipboardPut a clip back on your system clipboard so you can paste it. Refuses sensitive clips.

Things to ask

  • "Find the Postgres connection string I copied in March." Searches with a date range.
  • "What code did I copy from VS Code yesterday?" Filters by kind, source app and date.
  • "Get that link ready to paste." Searches, then puts the match on your clipboard.
  • "Pin the clip I copied an hour ago." Looks at recent clips, then pins it.
  • "How much did I copy this week?" Uses the stats and per-day counts.

Privacy and safety

  • Local only. ClipTrail sends nothing anywhere for this. Clips go from your history to the assistant program running on your own computer.
  • Sensitive clips are withheld. One-time codes, API keys, private keys and card numbers are masked in ClipTrail. The assistant gets metadata and ••••••, never the body, and copy_to_clipboard refuses them. Copies from password managers were never saved in the first place.
  • Read-mostly. It can search, read, pin and copy back. It can't delete or edit anything.
  • What the assistant reads goes to your AI provider. The server is local, but the assistant usually isn't. Any clip it reads becomes part of your conversation with Claude, Cursor's model or whichever service you use, under that provider's terms. Ask for specific things rather than "summarise everything I copied", and remember that ordinary text can still contain private details even when it isn't flagged as sensitive.
  • You choose. Nothing is connected until you add the config above. Remove it (claude mcp remove cliptrail, or delete the block) to disconnect.

What about ChatGPT?

Not supported, and not planned for v1. ChatGPT's connectors call a remote MCP server over HTTPS and sign-in; they can't start a program on your computer. ClipTrail keeps your history on your devices, end-to-end encrypted, so serving it to a cloud chat would mean sending your plaintext clips to a hosted service. We think the local boundary is the right one. Clients that start a program on your own machine work today.

Troubleshooting

  • The assistant finds no clips. The server reads the data folder of the user it runs as. If you use CLIPTRAIL_DATA_DIR or --data-dir for the app, set the same value in the server config ("env": { "CLIPTRAIL_DATA_DIR": "..." }).
  • The server won't start. Run clipd-mcp in a terminal. It waits for input on stdin, so no error means it started; press Ctrl C to quit.
  • A clip's body is ••••••. It's classified as sensitive; open it in the ClipTrail app instead.

Something wrong or missing? Edit this page on GitHub.