Skip to main content
Glama
Grayhood144

Snippet Saver

by Grayhood144
README.md
# Snippet Saver MCP Server

A Model Context Protocol (MCP) server that lets AI coding tools save, list, and read code snippets. Build your personal code snippet library that Claude Code, Cursor, and other MCP-compatible tools can access.

## What It Does

This MCP server provides three tools:

1. **save_snippet** - Save a code snippet with a name, language, and optional description
2. **list_snippets** - View all your saved snippets
3. **read_snippet** - Read a specific snippet back

Snippets are stored as individual files in `~/snippets/` directory for easy access.

## Installation

1. **Clone or download this project**

2. **Install dependencies:**
   ```bash
   cd snippet-saver
   npm install
   ```

3. **Configure Claude Code** (choose one method):

   **Method A: Using command line (recommended)**
   ```bash
   claude mcp add --transport stdio snippet-saver -- node C:\Users\Grays\mcp-projects\snippet-saver\index.js
   ```

   **Method B: Manual configuration**
   Create or edit `.mcp.json` in your project root:
   ```json
   {
     "mcpServers": {
       "snippet-saver": {
         "command": "node",
         "args": ["C:\\Users\\Grays\\mcp-projects\\snippet-saver\\index.js"]
       }
     }
   }
   ```

4. **Reconnect servers** in Claude Code:
   - Type `/mcp` in Claude Code
   - Or start a new session

## Usage Examples

### Save a Snippet
```
Claude, save this React hook as a snippet:

const useLocalStorage = (key, initialValue) => {
  const [value, setValue] = useState(() => {
    const item = localStorage.getItem(key);
    return item ? JSON.parse(item) : initialValue;
  });

  useEffect(() => {
    localStorage.setItem(key, JSON.stringify(value));
  }, [key, value]);

  return [value, setValue];
};

Name it "useLocalStorage", language "javascript"
```

### List All Snippets
```
Claude, what snippets do I have saved?
```

### Read a Snippet
```
Claude, show me the useLocalStorage snippet
```

## How It Works

- Snippets are stored in `~/snippets/` (your home directory)
- Each snippet is saved as a separate file with the language extension
- Metadata (name, language, description, date) is included as comments
- Works with any MCP-compatible AI coding tool

## Limitations

- Snippets are stored as plain text files (no database)
- No search functionality yet
- Cannot update existing snippets (must save new version)
- No categorization or tagging system

## Requirements

- Node.js v16 or higher
- Claude Code or another MCP-compatible tool

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clear and distinct purpose: listing all snippets, reading a specific snippet, and saving a new snippet. There is no overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (list_snippets, read_snippet, save_snippet) with underscore separation, making them predictable.

Tool Count4/5

With 3 tools covering list, read, and create operations, the count is reasonable for a simple snippet library. It is slightly minimal but not inappropriate.

Completeness3/5

The set covers core operations (list, read, save) but lacks update and delete functionality, which are notable gaps for a snippet management tool.

Maintenance

ActivityInactive
ResponsivenessNo issues