Skip to main content
Glama

snippet-vault

An MCP server that gives Claude a personal code snippet library. Save snippets during any conversation and retrieve them later — across sessions, projects, and machines.

What it does

save_snippet — save any code block with a title, language, and tags

search_snippets — search by title, language, tag, or content

get_snippet — retrieve a full snippet by ID

list_snippets — see all saved snippets

delete_snippet — remove a snippet by ID

Snippets are stored locally at ~/.snippet-vault/snippets.json — your data stays on your machine.

Related MCP server: Snippets MCP

Example prompts

  • "Save this debounce function to my vault with tags: utility, typescript"

  • "Find my auth middleware snippet"

  • "Show me all my Python snippets"

  • "List everything in my vault"

  • "Delete snippet abc123"

Add to Claude Desktop

{
  "mcpServers": {
    "snippet-vault": {
      "command": "npx",
      "args": ["-y", "@engineeringmatrixexplorer/snippet-vault"]
    }
  }
}

Add to Claude Code

claude mcp add snippet-vault -- npx -y @engineeringmatrixexplorer/snippet-vault

Where snippets are stored

Snippets live at ~/.snippet-vault/snippets.json on your machine. No cloud, no account, no tracking.

Requirements

  • Node.js 18+

Part of the MCP Developer Tools Bundle

This server is also available as part of a bundle with engineering-matrix-explorer and stack-advisor.

License

MIT

Available Tools

5 tools
delete_snippetB

Delete a snippet from your vault by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSnippet ID to delete

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'Delete', which implies destructiveness, but does not mention side effects (e.g., irreversibility), permissions, or error handling for missing IDs. This is insufficient for an agent to understand the full impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It is appropriately concise for a simple tool, though slightly terse. Front-loads the action clearly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and no output schema, the description should explain return values or success indication. It omits details like idempotency, error handling, and confirmation of deletion. This leaves the agent without critical operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single required parameter id described as 'Snippet ID to delete'. The description does not add meaning beyond the schema; it merely reiterates. Baseline 3 applies as schema already covers the parameter adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Delete', the resource 'snippet', and the scope 'from your vault by ID'. It distinguishes from sibling tools like get_snippet (retrieve), list_snippets (list), save_snippet (create/update), and search_snippets (search).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for removing a specific snippet, but does not explicitly state when to use this tool vs alternatives, nor does it provide when-not or exclusion criteria. Usage is implied but not guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_snippetB

Get a specific snippet by its ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSnippet ID

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states the basic retrieval functionality. It lacks details on idempotency, error handling (e.g., if snippet ID does not exist), or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no unnecessary words. It is front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-ID tool, the description is adequate but lacks details about return values or behavior on missing IDs. Without an output schema, some extra context would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds no additional meaning beyond the parameter name and type. Baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'specific snippet', and the method 'by its ID'. It distinguishes itself from sibling tools like delete_snippet, list_snippets, save_snippet, and search_snippets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus siblings. It does not mention alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_snippetsA

List all saved snippets (titles and IDs only)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It declares the tool lists all snippets and returns only titles and IDs, indicating read-only and non-destructive behavior. However, it omits details like pagination or ordering, which are likely absent given no parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the main action and resource. No unnecessary words. Efficiently conveys core purpose and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but description explains return content (titles and IDs). For a simple list-all tool with no parameters, it covers essential aspects. Minor missing: whether it's an array or ordered, but acceptable for this simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100%. The description does not need to add parameter info. Baseline score of 4 applies as it provides no extra parameter meaning, but none is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description starts with 'List all saved snippets', clearly stating the action and resource. It specifies the output (titles and IDs only), distinguishing from siblings like get_snippet (single) and search_snippets (filtered).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for a full listing without filters. It does not explicitly state when to use or not use this tool versus alternatives like search_snippets. No exclusion criteria provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_snippetB

Save a code snippet to your personal vault

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesShort title for the snippet e.g. 'Debounce function'
codeYesThe code to save
languageYesProgramming language e.g. 'typescript', 'python', 'bash'
tagsNoTags for searching later e.g. ['utility', 'async', 'react']

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral context. It does not mention idempotency, whether it overwrites, success/failure indicators, or any side effects beyond saving.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with action and resource, no filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Core purpose is clear, but for a tool with no output schema and no annotations, more context would help (e.g., whether existing snippets with same title are overwritten, size limits). Adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All four parameters have descriptions in the schema, so the description adds no extra meaning. Baseline of 3 is appropriate since schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description provides a specific verb 'Save', a clear resource 'code snippet', and a location 'personal vault'. It cleanly distinguishes from sibling tools like delete, get, list, and search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., updating an existing snippet). No conditions or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_snippetsA

Search your saved snippets by title, language, tag, or content

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query e.g. 'debounce', 'typescript', 'auth'

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must cover behavioral aspects. It fails to disclose search behavior such as case sensitivity, full-text vs exact match, pagination, or how multiple fields are combined. The description is too minimal for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the action and resource. No fluff, every word serves a purpose. Very concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 1-parameter tool with no output schema, the description covers the core purpose. However, it lacks details on search behavior (e.g., boolean operators, matching logic) making it adequate but not complete for an agent to fully understand the tool's capabilities.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'query' is well-described in schema with examples. The description adds valuable context by specifying the fields searched (title, language, tag, content), which is not in the schema. Schema coverage is 100%, but the description enhances understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Search' and resource 'your saved snippets', specifying searchable fields (title, language, tag, or content). It distinguishes itself from sibling tools like list_snippets (which likely returns all snippets) by focusing on search functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for searching with a query but does not explicitly state when to use this tool versus alternatives (e.g., list_snippets for listing all). No exclusions or 'when-not-to-use' guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.1
    • First observeddelete_snippet
    • First observedget_snippet
    • First observedlist_snippets
    • First observedsave_snippet
    • First observedsearch_snippets

TDQS

A3.8/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct operation (create, read, list, search, delete) with no overlap in purpose. An agent can clearly differentiate them.

Naming Consistency4/5

All tools follow a verb_noun pattern. Minor inconsistency: 'list_snippets' uses plural noun while others use singular, but the pattern is clear and predictable.

Tool Count5/5

With 5 tools, the server covers all essential operations for a snippet vault without being excessive or sparse. Each tool contributes meaningfully.

Completeness4/5

The tool surface includes create, read (by ID, list, search), and delete operations. An update operation is missing, but snippets are often immutable, so this is acceptable.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching and retrieving Claude Code conversation history that would otherwise expire after 30 days. Supports full-text search, semantic search, and session management with automatic backup of all conversations.
    5 npm
    28
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Persistent knowledge base tools for Claude Code that store project context, decisions, and patterns locally across sessions, eliminating cold starts.
    MIT