- Explore MCP Servers
- unstorage-mcp
Unstorage Mcp
What is Unstorage Mcp
unstorage-mcp is a Key-Value storage MCP server based on unjs/unstorage, supporting various drivers including memory, filesystem, redis, and mongodb.
Use cases
Use cases for unstorage-mcp include caching data, storing user sessions, managing application states, and persisting data in a scalable manner.
How to use
To use unstorage-mcp, you can install it via npm with a minimal or maximum configuration. You can interact with the server using various tools like showMounts(), getItem(key), setItem(key, value), etc.
Key features
Key features of unstorage-mcp include support for multiple storage drivers, a variety of tools for data manipulation, and easy configuration for different environments.
Where to use
unstorage-mcp can be used in web applications, microservices, and any system that requires efficient key-value storage solutions.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Unstorage Mcp
unstorage-mcp is a Key-Value storage MCP server based on unjs/unstorage, supporting various drivers including memory, filesystem, redis, and mongodb.
Use cases
Use cases for unstorage-mcp include caching data, storing user sessions, managing application states, and persisting data in a scalable manner.
How to use
To use unstorage-mcp, you can install it via npm with a minimal or maximum configuration. You can interact with the server using various tools like showMounts(), getItem(key), setItem(key, value), etc.
Key features
Key features of unstorage-mcp include support for multiple storage drivers, a variety of tools for data manipulation, and easy configuration for different environments.
Where to use
unstorage-mcp can be used in web applications, microservices, and any system that requires efficient key-value storage solutions.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
Unstorage MCP Server
A Key-Value storage MCP server based on unjs/unstorage.
Support drivers:
- memory
- filesystem
- redis
- unstorage http server
- mongodb
Support transports:
- [x] stdio
- [x] Streamable HTTP
- [x] SSE
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)
- Unstorage MCP Server
Running with stdio
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
Running with HTTP (SSE + Streamable)
npx @slow-groovin/unstorage-mcp --http
related arguments
| arg | default | |
|---|---|---|
| –http | enable http transport instead of stdio | false |
| -p, --port | listening port | 3000 |
| -h, --host | listening host | localhost |
Example prompt for use
The process has produced a key-value result: "fs_base:recommend_site"="www.api2o.com", store it.
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
Set environment variables in the terminal or in the
.envfile
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
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










