## Overview

The Tigris MCP Server implements the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) on top of Tigris’s high-performance, S3-compatible object storage. By deploying this server alongside your AI agents, you can manage buckets and objects directly from your editor or workflow—upload training data, share model artifacts, or serve large files with zero egress fees, all without leaving your development environment.

You can view the source code [on GitHub](https://github.com/tigrisdata/tigris-mcp-server). We strongly recommend reviewing the source code before employing this MCP server.

## Key Features

- **Bucket Management** Create, list and delete Tigris buckets from your AI agent or editor.
- **Object Operations** Upload, list, download, move and delete individual objects or folders in any bucket.
- **Pre-signed URLs** Generate shareable links for objects to grant temporary, secure access.

## Example Prompts

Once the MCP Server is running, you can can issue natural-language commands such as:

**Bucket actions**

```text
List my Tigris buckets

Create a new bucket named my-bucket

Delete the bucket called my-bucket
```

**Object actions**

```text
List objects in my-bucket

Upload /path/to/file.txt to my-bucket

Create a folder test in my-bucket

Create test.txt with content "Hello World" in my-bucket

Generate a shareable link for test.txt

Delete myfile.txt from my-bucket
```

## Prerequisites

- **Tigris Account & Credentials**  
1. Sign up at [https://storage.new](https://storage.new/)  
2. Create or retrieve an access key pair (AWS-style) at [https://storage.new/accesskey](https://storage.new/accesskey)  
3. Save your `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` securely.
- **Tooling**  
  - **Docker Engine** (for sandboxed deployments) Install via [https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/)  
  - **Node.js & NPX** (for lightweight, direct runs) Install via [https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/)

## Installation

### 1. VS Code / VS Code Insiders Extension

Click to install the MCP Server in your editor. Replace `YOUR_AWS_*` with your credentials:

### 2. Docker

```bash
docker run \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_ENDPOINT_URL_S3=https://t3.storage.dev \
  -i --rm \
  --mount type=bind,src=$HOME/tigris-mcp-server,dst=$HOME/tigris-mcp-server \
  quay.io/tigrisdata/tigris-mcp-server:latest
```
> **Note:** The server will only operate within the mounted directory for enhanced security.

### 3. NPX

```bash
npx -y @tigrisdata/tigris-mcp-server run
```

## Configuration

By default, the MCP Server reads its configuration from environment variables:

| Variable                      | Description                                         |
|-------------------------------|-----------------------------------------------------|
| `AWS_ACCESS_KEY_ID`          | Your Tigris access key ID                           |
| `AWS_SECRET_ACCESS_KEY`      | Your Tigris secret access key                       |
| `AWS_ENDPOINT_URL_S3`        | S3-compatible endpoint (e.g. `https://t3.storage.dev`) |
| `USE_AWS_PROFILES`           | (Optional) `true` to use existing AWS CLI profiles   |
| `AWS_PROFILE`                 | (Optional) AWS profile name to use                  |

## Manual Setup for Claude Desktop & Cursor AI

Add one of the following blocks to your client’s configuration file:

Via NPX

```jsonc
{
  "mcpServers": {
    "tigris-mcp-server": {
      "command": "npx",
      "args": ["-y", "@tigrisdata/tigris-mcp-server", "run"],
      "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID",
        "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY",
        "AWS_ENDPOINT_URL_S3": "https://t3.storage.dev"
      }
    }
  }
}
```

Via Docker

```jsonc
{
  "mcpServers": {
    "tigris-mcp-server": {
      "command": "docker",
      "args": [
        "-e",
        "AWS_ACCESS_KEY_ID",
        "-e",
        "AWS_SECRET_ACCESS_KEY",
        "-e",
        "AWS_ENDPOINT_URL_S3",
        "-i",
        "--rm",
        "--mount",
        "type=bind,src=/Users/CURRENT_USER/tigris-mcp-server,dst=/Users/CURRENT_USER/tigris-mcp-server",
        "quay.io/tigrisdata/tigris-mcp-server:latest"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID",
        "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY",
        "AWS_ENDPOINT_URL_S3": "https://t3.storage.dev"
      }
    }
  }
}
```
> You can also enable `USE_AWS_PROFILES` and set `AWS_PROFILE` if you prefer to manage credentials via the AWS CLI.

## Resources

- **MCP Specification:** [https://modelcontextprotocol.io/](https://modelcontextprotocol.io/)
- **Tigris Documentation:** [https://www.tigrisdata.com/docs/get-started/](/content/docs/get-started/index.html)
- **Blog: Vibe-led Coding** [https://www.tigrisdata.com/blog/vibes-off/](/content/blog/vibes-off/index.html)
- **Blog: Sharing Files with MCP Server** [https://www.tigrisdata.com/blog/mcp-server-sharing/](/content/blog/mcp-server-sharing/index.html)
