Snipset MCP Server: Use Your Snippets from Claude Code
The Snipset MCP server lets Claude Code and other AI agents read and edit your snippets, notes and tasks. What it exposes, how to add it, what it can delete.

Your snippets, notes and tasks already live in Snipset. With the Snipset MCP server, Claude Code and other AI agents can work with them directly: search your snippet library while writing code, turn a conversation into a task, or ask how your week went. The server is part of the snipset command-line tool, and you start it with one command, snipset mcp.
This post covers what the server exposes, how to add it to Claude Code or another MCP client, what stays on your computer, and which tools can change or delete data.
What MCP Is and Where the Snipset CLI Comes From
MCP (Model Context Protocol) is an open standard for connecting AI tools to outside data and actions. An AI client, such as Claude Code, starts an MCP server, asks it which tools it offers, and then calls those tools while it works. Snipset is one such server.
The server ships inside the snipset CLI, which reads and edits the same data as the desktop app. Here is where you get it:
| Where | What you get |
|---|---|
| Standalone CLI v0.2.0 | Linux x64 and Windows x64 downloads from the public snipset-cli releases, no desktop app needed |
| Windows desktop installer | snipset.exe inside the app folder, added to the system PATH (since Windows 0.6.849) |
| Linux desktop app | The CLI inside the app resources, not on PATH (since Linux 0.6.869); use the standalone installer |
| macOS desktop app (beta) | The CLI inside the app bundle, not on PATH |
On Linux, the standalone installer puts snipset in ~/.local/bin. On Windows, its PowerShell installer uses %LOCALAPPDATA%\Snipset\bin. If you installed the Windows desktop app with its installer, snipset is on your PATH once you sign out and back in.
What the MCP Server Exposes
The server registers 87 tools, each named snipset_<action>. They fall into a handful of groups:
| Group | Tools | Examples |
|---|---|---|
| Snippets and groups | 10 | snipset_search_snippets, snipset_expand_snippet, snipset_create_snippet, snipset_bulk_import |
| Clipboard history | 10 | snipset_list_clipboard, snipset_search_clipboard, snipset_set_clipboard_tag |
| Tasks | 16 | snipset_create_task, snipset_complete_task, snipset_parse_task |
| Notes | 12 | snipset_search_notes, snipset_create_note, snipset_generate_note_title |
| Audio | 11 | speech and text to speech history, the speech dictionary, snipset_audio_stats |
| Journal | 5 | snipset_get_journal, snipset_generate_journal |
| Statistics | 9 | snipset_stats_overview, snipset_stats_tasks, snipset_stats_all |
| Settings | 5 | snipset_list_settings, snipset_set_setting |
| Pomodoro | 4 | snipset_pomodoro_status, snipset_pomodoro_control |
| Other | 5 | snipset_doctor, snipset_init, a reference catalog, support categories and tickets |
Each tool answers with a small JSON object: {"ok": true, "data": ...} on success or {"ok": false, "error": "..."} when something goes wrong, so the agent can read the error and react.
A few tools are worth calling out. snipset_expand_snippet resolves a snippet's template variables, such as #{date} or #{clipboard}, by uuid or keyword, so an agent gets the filled-in text. #{clipboard} uses the clipboard text the agent passes in, and #{selection} expands to nothing. snipset_doctor checks database access, WAL mode and the schema before an agent starts writing. snipset_init creates a fresh standalone database for headless use and refuses to touch an existing file unless you ask for force, in which case the old file is backed up first.
How to Add It to Claude Code and Other MCP Clients
The server speaks MCP over stdio: the client launches snipset mcp as a subprocess and talks to it through standard input and output. You never run it by hand.
In Claude Code, add it with:
claude mcp add --transport stdio snipset -- snipset mcp
Everything after -- is the command Claude Code runs. Without a --scope flag the server is added to the local scope, available only to you in the current project; add --scope user to have it in every project. Check it with claude mcp list, or with /mcp inside a session.
If you prefer a config file, Claude Code reads the same server from an mcpServers entry in a .mcp.json file at the project root:
{
"mcpServers": {
"snipset": {
"command": "snipset",
"args": ["mcp"]
}
}
}
Other clients use their own file format, but the idea is the same: a local server whose command is snipset with the argument mcp. For opencode, the Linux installer can write the config for you with --with-mcp. It only writes ~/.config/opencode/opencode.json when that file does not exist yet, and never overwrites an existing one.
By default the server opens the same database the desktop app uses, Snipset/snipset.db in your platform's local data folder. To point it somewhere else, pass --db <PATH> after mcp (for example snipset mcp --db /path/to/snipset.db). The CLI never creates a database on its own; only snipset init (or the snipset_init tool) does.
What Runs Locally and What Needs the Network
The MCP server itself opens no network port. It talks to your AI client over stdio and reads the SQLite database on your disk, opening it fresh for each tool call.
Some tools need the desktop app to be running with its local control API turned on. The control API is off by default and only answers when the control_api_enabled setting is true and control_api_token holds a token. The CLI reaches it on 127.0.0.1 (port 8317 unless you set another), with that token. These tools need it:
- all four pomodoro tools
snipset_generate_journal,snipset_generate_note_title,snipset_generate_note_labelsandsnipset_parse_tasksnipset_clear_clipboard(the confirmed clear; the preview works without the app)
When the control API is on, setting changes and journal edits also go through the app, so the app applies their side effects itself. Every other write goes straight to the database file.
There is one tool that reaches the internet: snipset_submit_support_ticket. Without confirm: true it only shows the ticket it would send. With confirm: true it sends the ticket to Snipset's support endpoint over HTTPS, through the running app.
Keep one more thing in mind. Whatever a tool returns becomes part of your conversation with the AI client. If that client uses a cloud model, your clipboard entries or notes travel to that model provider along with the rest of the chat. Snipset has no say over that step, so only expose the server to clients you trust with this data.
What the Tools Can Change or Delete
Many tools only read. The ones that write were designed with a few safety rails:
- Settings: the server refuses any key starting with
vault_,mfa_orsecret_, so an agent cannot read or change your vault or MFA settings. Values that look like secrets come back masked in every read and export, and app-only credentials cannot be stored through it as plain text. - Bulk changes preview first:
snipset_bulk_importhas adry_runmode that shows counts and duplicates.snipset_clear_clipboardandsnipset_clear_audio_historyonly report what they would delete until called withconfirm: true. - Deletes need confirmation: deleting a note or a task requires
confirm: trueand is a soft delete. Deleting a journal also requiresconfirm: trueand is permanent.
Some tools act at once, with no confirmation step: snipset_delete_snippet removes the snippet row from the database, and snipset_delete_clipboard, snipset_delete_audio_history and snipset_delete_audio_dictionary remove one entry each. snipset_set_setting can change any setting outside the protected namespaces. snipset_init with force moves your current database aside to a backup, and snipset_set_setting can also turn on the local control API (control_api_enabled, control_api_token). If your AI client lets you approve tool calls one by one, keep that on for these tools.
Summary
The Snipset MCP server turns the snipset CLI into a set of 87 tools that Claude Code and other MCP clients can call: snippets, clipboard history, notes, tasks, audio history, journals, statistics, settings and the pomodoro timer. It runs over stdio on your computer, reads your local database, and by default it only contacts the running app on 127.0.0.1, which in turn sends a support ticket to Snipset's server when you confirm one. Vault and MFA settings stay out of reach, bulk deletes preview first, and a handful of single-item deletes act at once.
Want your AI agent to work from the snippets you already have? See the Snipset plans.
