Unstorage
slow-groovin
README
Unstorage MCP Server
A Key-Value storage MCP server based on unjs/unstorage.
Current support drivers:
- memory
- filesystem
- redis
- unstorage http server
- 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
- clone this repo
- copy src/storage/redis.ts to a new file and modify it to your desired driver(
unjs/unstorageis super easy to learn) - test and verify that it is effective
- (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
Filesystem MCP Server
A Model Context Protocol server that provides file system operations, analysis, and manipulation capabilities through a standardized tool interface.
Google Drive MCP Server
Integrates with Google Drive to enable listing, searching, and reading files, plus reading and writing to Google Sheets.
MCP TODO Checklist Server
A server that implements a checklist management system with features like task creation, progress tracking, data persistence, and item comments.
mcp-gsuite
MCP server to interact with Google produts.
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.
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.
Firebase MCP Server
A server providing a unified interface to interact with Firebase services, including Authentication, Firestore, and Storage.
mcp-any-openapi
A Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.
MCP Server for Apache OpenDAL™
A Model Context Protocol server that provides seamless access to multiple storage services including S3, Azure Blob Storage, and Google Cloud Storage through Apache OpenDAL™.
MCP Media Generator
A Model Context Protocol server that enables AI assistants to create images and videos using Amazon Nova Canvas and Nova Reel models.