关于 Unstorage MCP Server
Unstorage MCP Server 基于 unjs/unstorage 提供键值存储操作,适用于需要读写、查看或删除多种存储驱动中数据的 MCP 客户端,并支持 stdio 和 HTTP 传输。
主要功能
- 01读取和写入键值条目
- 02获取原始值和元数据
- 03列出键和已挂载存储
- 04支持 memory、filesystem、Redis、MongoDB 和 HTTP 驱动
- 05支持 stdio、Streamable HTTP 和 SSE 传输
- 06可配置禁用修改工具
适用场景
- 01保存 Agent 工作流生成的值
- 02读取或更新已配置存储后端中的数据
- 03查看已挂载存储中的键和元数据
MCP 相关
它通过 stdio、Streamable HTTP 或 SSE 向 MCP 客户端提供键值存储工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Unstorage MCP 服务
基于 unjs/unstorage 的键值存储 MCP 服务。
支持的驱动:
- memory
- filesystem
- redis
- unstorage http server
- mongodb
支持的传输方式:
- stdio
- Streamable HTTP
- SSE
工具:
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)
使用 stdio 运行
最简配置
{
"mcpServers": {
"unstorage": {
"command": "npx",
"args": ["-y", "@slow-groovin/unstorage-mcp"]
}
}
}
最全配置
{
"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"]
}
}
}
适用于 Cline+Windows:
{
"mcpServers": {
"unstorage": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@slow-groovin/unstorage-mcp"]
}
}
}
如果你在 Windows 上遇到安装问题,可以参考这篇文章
使用 HTTP(SSE + Streamable)运行
npx @slow-groovin/unstorage-mcp --http
相关参数
| 参数 | 默认值 | |
|---|---|---|
| --http | 启用 http 传输,以替代 stdio | false |
| -p, --port | 监听端口 | 3000 |
| -h, --host | 监听主机 | localhost |
使用示例提示词
The process has produced a key-value result: "fs_base:recommend_site"="www.api2o.com", store it.
参数
--disable-modify
默认值:false
禁用具有修改功能的工具,例如 setItem、setItems……
环境变量
关于 base 和 mountpoint 的概念,请参阅 unstorage 文档
在终端或
.env文件中设置环境变量
redis
如果设置了 REDIS_URL,则会挂载 Redis 存储
| 语法 | 描述 | 默认值 | 可选 |
|---|---|---|---|
REDIS_URL | Redis 连接 URL,例如:redis://default:123456@localhost:6379 | ||
REDIS_BASE | redisDriver 的 base | ✅ | |
REDIS_MOUNT_POINT | 此存储的 mountpoint | "/" | ✅ |
mongodb
如果设置了 MONGODB_URL,则会挂载一个 mongodb 存储
| 语法 | 描述 | 默认值 | 可选 |
|---|---|---|---|
MONGODB_URL | mongodb 连接 URL,例如:mongodb://user:pass@host:port | ||
MONGODB_DB_NAME | mongodb 数据库名称,例如:test | ||
MONGODB_COLLECTION_NAME | mongodb 集合名称,例如:mycollection | ||
MONGODB_MOUNT_POINT | 此存储的挂载点 | "/" | ✅ |
filesystem
如果设置了 FS_BASE,则会挂载一个 redis 存储
| 语法 | 描述 | 默认值 | 可选 |
|---|---|---|---|
FS_BASE | fsDriver 的基础路径,即文件系统路径 | ||
FS_MOUNT_POINT | 此存储的挂载点 | "/" | ✅ |
http server
如果设置了 HTTP_BASE,则会挂载一个 http 存储
| 语法 | 描述 | 默认值 | 可选 |
|---|---|---|---|
HTTP_BASE | httpDriver 的基础路径,即 http 服务的端点 | ||
HTTP_MOUNT_POINT | 此存储的挂载点 | "/" | ✅ |
HTTP_HEADERS | http 请求的标头,例如:Authorization=Bear 123;A=1;B=2 | ✅ |
memory
如果根路径("/")上没有挂载项,则会自动在 "/" 上挂载一个 memory 驱动(与 unstorage 的行为相同)。
扩展指南
- 克隆此仓库
- 将 src/storage/redis.ts 复制到新文件,并按需修改为所需的驱动(
unjs/unstorage非常容易上手) - 测试并验证其是否有效
- (可选)提交合并请求
如果你不是 typescript 开发者,请提交 issue 申请支持其他驱动。
使用 cursor/cline 辅助编程的提示词
@/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.
如果尚未安装 fetch MCP server,请删除第一句话
调试方法
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 配置
{
"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"]
}
}
需要重启服务才能使更改生效
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。