Code Snippets (S3) MCP server

Integrates with S3 to provide efficient code snippet management and retrieval.
Back to servers
Setup instructions
Provider
Matt Barlow
Release date
Jan 17, 2025
Language
TypeScript

This MCP server utilizes Bun's S3 bindings to provide a seamless integration with Claude Desktop for saving and loading code snippets as markdown files in S3 storage. The service leverages Bun's performance advantages for efficient S3 operations.

Installation Requirements

Before installing the MCP server, ensure you have the following prerequisites:

  • Bun runtime installed
  • AWS credentials configured for S3 access
  • Claude Desktop application

Installing the MCP Server

  1. Clone the repository:
git clone https://github.com/yourusername/bun-s3-mcp.git
cd bun-s3-mcp
  1. Install dependencies:
bun install
  1. Configure your AWS credentials (if not already set up):
# Either set environment variables
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=your_region

# Or configure via AWS CLI
aws configure

Configuration

Setting Up S3 Bucket

Ensure you have an S3 bucket created for storing the markdown files. You'll need to reference this bucket in your configuration.

Environment Variables

Create a .env file in the root directory with the following variables:

S3_BUCKET_NAME=your-bucket-name
S3_REGION=your-region
MCP_PORT=3000  # The port on which the MCP server will run

Running the Server

Start the MCP server with the following command:

bun start

The server will be available at http://localhost:3000 (or whichever port you configured).

Using with Claude Desktop

Configuring Claude Desktop

  1. Open Claude Desktop settings
  2. Navigate to the MCP configuration section
  3. Add a new MCP service with the following details:
    • URL: http://localhost:3000 (or your configured URL)
    • Service Type: Code Snippet Storage
    • Name: Bun S3 MCP (or any name you prefer)

Saving Code Snippets

When using Claude Desktop, you can now save code snippets directly to your S3 bucket by:

  1. Writing or receiving a code snippet in Claude
  2. Using the "Save snippet" option in Claude's interface
  3. The code will be formatted as markdown and stored in your S3 bucket

Loading Code Snippets

To load previously saved snippets:

  1. Use the "Load snippet" option in Claude Desktop
  2. Browse available snippets from your S3 storage
  3. Select the desired snippet to load it into your conversation

API Endpoints

The MCP server exposes the following endpoints:

List Snippets

GET /snippets

Returns a list of all available code snippets stored in the S3 bucket.

Get Snippet

GET /snippets/:id

Retrieves a specific snippet by its ID.

Save Snippet

POST /snippets
Content-Type: application/json

{
  "content": "# Code Example\n```python\nprint('Hello, world!')\n```",
  "name": "hello-world.md"
}

Saves a new snippet to the S3 bucket.

Delete Snippet

DELETE /snippets/:id

Removes a snippet from storage.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "code-snippets-s3" '{"command":"npx","args":["-y","bun-s3-mcp"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "code-snippets-s3": {
            "command": "npx",
            "args": [
                "-y",
                "bun-s3-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "code-snippets-s3": {
            "command": "npx",
            "args": [
                "-y",
                "bun-s3-mcp"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later