Skip to content

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.

Glowing hexagon linked by thin lines to small orange and indigo cubes, beside a stack of blank cards on a dark slate background

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_labels and snipset_parse_task
  • snipset_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_ or secret_, 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_import has a dry_run mode that shows counts and duplicates. snipset_clear_clipboard and snipset_clear_audio_history only report what they would delete until called with confirm: true.
  • Deletes need confirmation: deleting a note or a task requires confirm: true and is a soft delete. Deleting a journal also requires confirm: true and 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.

Iwan Kurniawan

Written by

Iwan Kurniawan

@belajarcarabelajar