Unstorage

Unstorage

slow-groovin

Cloud Storage
Visit Server

README

Unstorage MCP Server

中文 README

A Key-Value storage MCP server based on unjs/unstorage.

Current support drivers:

  1. memory
  2. filesystem
  3. redis
  4. unstorage http server
  5. mongodb

Current tools:

  • showMounts()
  • getItem(key)
  • getItems(items)
  • getItemRaw(key)
  • getMeta(key, nativeOnly)
  • getKeys(base, maxDepth)
  • setItem(key, value)
  • setItems(items)
  • setItemRaw(key, value)
  • setMeta(key, meta)
  • removeItem(key, removeMeta)
  • removeMeta(key)

<br><br>

install

minimal configuration

{
  "mcpServers": {
    "unstorage": {
      "command": "npx",
      "args": ["/y", "@slow-groovin/unstorage-mcp"]
    }
  }
}

maximum configuration

{
  "mcpServers": {
    "unstorage": {
      "command": "npx",
      "env": {
        "REDIS_URL": "redis://default:123456@localhost:6379",
        "REDIS_BASE": "visits:date:api:",
        "REDIS_MOUNT_POINT": "redis_storage",
        "FS_BASE": "D:/tmp",
        "FS_MOUNT_POINT": "fs_storage",
        "HTTP_BASE": "http://localhost:3001",
        "HTTP_MOUNT_POINT": "http_storage",
        "HTTP_HEADERS": "Authorization=Bear 123;A=3;B=4;C=5",
        "MONGODB_URL": "mongodb://root:123456@localhost:27017/",
        "MONGODB_DB_NAME": "test",
        "MONGODB_COLLECTION_NAME": "unstorage",
        "MONGODB_MOUNT_POINT": "mongo_storage"
      },
      "args": ["/y", "@slow-groovin/unstorage-mcp", "--disable-modify"]
    }
  }
}

for Cline+Windows:

{
  "mcpServers": {
    "unstorage": {
      "command": "cmd",
      "args": ["/c", "npx", "/y", "@slow-groovin/unstorage-mcp"]
    }
  }
}

If you have problem of installation on Windows, you can refrer to this article

args

--disable-modify

Default: false

Disable tools with modify functionality like setItem, setItems ...

environment variables

for the concept of base and mountpoint, please refer to the doc of unstorage

redis

if REDIS_URL is set, a redis storage will be mounted

Syntax Description Default Value Optional
REDIS_URL redis connect url, eg: redis://default:123456@localhost:6379
REDIS_BASE base of redisDriver
REDIS_MOUNT_POINT mountpoint of this storage "/"

mongodb

if MONGODB_URL is set, a mongodb storage will be mounted

Syntax Description Default Value Optional
MONGODB_URL mongodb connect url, eg: mongodb://user:pass@host:port
MONGODB_DB_NAME mongodb database name, eg: test
MONGODB_COLLECTION_NAME mongodb collection name, eg: mycollection
MONGODB_MOUNT_POINT mountpoint of this storage "/"

filesystem

if FS_BASE is set, a redis storage will be mounted

Syntax Description Default Value Optional
FS_BASE base of fsDriver, path of filesystem
FS_MOUNT_POINT mountpoint of this storage "/"

http server

if HTTP_BASE is set, a http storage will be mounted

Syntax Description Default Value Optional
HTTP_BASE base of httpDriver, endpoint of http server
HTTP_MOUNT_POINT mountpoint of this storage "/"
HTTP_HEADERS headers for http requests, eg: Authorization=Bear 123;A=1;B=2

memory

If there is no mount on root("/"), a memory driver will be mounted automatically on "/" (same behaviour of unstorage).

extend guide

  1. clone this repo
  2. copy src/storage/redis.ts to a new file and modify it to your desired driver(unjs/unstorage is super easy to learn)
  3. test and verify that it is effective
  4. (optional) pull a merge request

If you are not a typescript developer, please submit a issue to ask for other drivers support.

prompts for cursor/cline assisted programming

@/src/storage/mongodb.ts , please implement this file:
1. you need to fetch information using the storage type's corresponding Doc URL (https://unstorage.unjs.io/drivers/<storage type>).
2. you can refer to examples in @/src/adapter/redis.ts and @/src/storage/http.ts.
3. You are only responsible for generating the code and do not need to perform testing.

If you have not installed fetch MCP server, delete the first sentence

debug approaches

mcp-inspector

 mcp-inspector -e HTTP_BASE=http://localhost:3001 -e HTTP_MOUNT_POINT=http_storage -e FS_BASE=D:/temp -e FS_MOUNT_POINT=fs_storage -e HTTP_HEADERS="Authorization=Bear 123;" tsx ./src/index.ts

tsx mcpServer Config for local dev

{
  "mcpServers": {
    "command": "cmd",
    "env": {
      "REDIS_URL": "redis://default:123456@localhost:6379",
      "REDIS_BASE": "my:mcp:values:",
      "REDIS_MOUNT_POINT": "redis_storage"
    },
    "args": ["/c", "tsx", "D:/xxx/projects/unstorage-mcp/src/index.ts"]
  }
}

restarting server is needed to make changes take effect

Recommended Servers

Google Drive MCP Server

Google Drive MCP Server

Enables integration with Google Drive for listing, reading, and searching over files, supporting various file types with automatic export for Google Workspace files.

Local
JavaScript
AWS MCP Server

AWS MCP Server

A Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.

Local
Python
mcp-gsuite

mcp-gsuite

MCP server to interact with Google produts.

Local
Python
Filesystem MCP Server

Filesystem MCP Server

A Model Context Protocol server that provides file system operations, analysis, and manipulation capabilities through a standardized tool interface.

Local
TypeScript
Google Drive MCP Server

Google Drive MCP Server

Integrates with Google Drive to enable listing, searching, and reading files, plus reading and writing to Google Sheets.

Local
TypeScript
MCP TODO Checklist Server

MCP TODO Checklist Server

A server that implements a checklist management system with features like task creation, progress tracking, data persistence, and item comments.

Local
TypeScript
s3-tools

s3-tools

An MCP server that provides tools for interacting with AWS S3 buckets, enabling direct access to S3 operations through the Model Context Protocol.

Python
Azure MCP Server

Azure MCP Server

This server implements the Model Context Protocol for seamless interaction with Azure Blob Storage and Cosmos DB, enabling automatic logging and audit tracking of operations.

Python
Box MCP Server

Box MCP Server

The Box MCP Server facilitates searching and reading PDF and Word files in Box using Developer Token authentication.

JavaScript
MCP JSON Document Collection Server

MCP JSON Document Collection Server

A Model Context Protocol server that allows creation and management of multiple Fireproof JSON databases with CRUD operations, querying capabilities, and cloud synchronization for sharing databases with others.

JavaScript