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.
| Tool | What it does |
|---|---|
search_clips | Full-text search, with optional filters for kind, source app, pinned only and a date range (from / to as YYYY-MM-DD). Returns summaries. |
recent_clips | Newest clips first, same filters, no query: "what did I copy recently?" |
get_clip | One clip's full body by id or unique id prefix. |
clip_stats | Totals: clips per kind, pinned count, top source apps. |
list_source_apps | The apps your clips came from, handy for filtering. |
day_counts | Clips per calendar day for the last N days (default 30, up to 365). |
pin_clip | Pin or unpin a clip so it stays at the top and is never cleaned up. |
copy_to_clipboard | Put 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, andcopy_to_clipboardrefuses 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_DIRor--data-dirfor the app, set the same value in the server config ("env": { "CLIPTRAIL_DATA_DIR": "..." }). - The server won't start. Run
clipd-mcpin 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.