Unstorage
slow-groovin
README
Unstorage MCP 服务器
一个基于 unjs/unstorage 的 Key-Value 存储 MCP 服务器。
当前支持的驱动:
- memory (内存)
- filesystem (文件系统)
- redis
- unstorage http server
- mongodb
当前工具:
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>
安装
最小配置
{
"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 上安装时遇到问题,可以参考这篇文章
参数
--disable-modify
默认值: false
禁用具有修改功能的工具,例如 setItem, setItems ...
环境变量
关于 base 和 mountpoint 的概念,请参考 unstorage 的文档
redis
如果设置了 REDIS_URL,则会挂载一个 redis 存储
| 语法 | 描述 | 默认值 | 可选 |
|---|---|---|---|
REDIS_URL |
redis 连接 url,例如:redis://default:123456@localhost:6379 |
||
REDIS_BASE |
redisDriver 的 base | ✅ | |
REDIS_MOUNT_POINT |
此存储的挂载点 | "/" | ✅ |
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 的 base,文件系统的路径 | ||
FS_MOUNT_POINT |
此存储的挂载点 | "/" | ✅ |
http server
如果设置了 HTTP_BASE,则会挂载一个 http 存储
| 语法 | 描述 | 默认值 | 可选 |
|---|---|---|---|
HTTP_BASE |
httpDriver 的 base,http 服务器的端点 | ||
HTTP_MOUNT_POINT |
此存储的挂载点 | "/" | ✅ |
HTTP_HEADERS |
http 请求的 headers,例如:Authorization=Bear 123;A=1;B=2 |
✅ |
memory
如果根目录("/")上没有挂载任何存储,则会自动在 "/" 上挂载一个内存驱动(与 unstorage 的行为相同)。
扩展指南
- 克隆此仓库
- 将 src/storage/redis.ts 复制到一个新文件中,并将其修改为您想要的驱动程序(
unjs/unstorage非常容易学习) - 测试并验证它是否有效
- (可选)发起一个合并请求
如果您不是 typescript 开发人员,请提交一个 issue 以请求其他驱动程序支持。
用于 cursor/cline 辅助编程的提示
@/src/storage/mongodb.ts ,请实现此文件:
1. 您需要使用存储类型对应的 Doc URL (https://unstorage.unjs.io/drivers/<存储类型>) 来获取信息。
2. 您可以参考 @/src/adapter/redis.ts 和 @/src/storage/http.ts 中的示例。
3. 您只需负责生成代码,无需执行测试。
如果您没有安装 fetch MCP 服务器,请删除第一句话
调试方法
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"]
}
}
需要重启服务器才能使更改生效
推荐服务器
AWS MCP Server
一个模型上下文协议服务器实现,使 Claude 能够通过自然语言命令在 S3 和 DynamoDB 服务上执行 AWS 操作。
Google Drive MCP Server
与 Google Drive 集成,以实现文件列表、搜索和读取,以及 Google 表格的读取和写入。
Google Drive MCP Server
启用与 Google Drive 的集成,用于列出、读取和搜索文件,支持各种文件类型,并为 Google Workspace 文件提供自动导出功能。
MCP JSON Document Collection Server
一个模型上下文协议服务器,允许创建和管理多个 Fireproof JSON 数据库,并提供 CRUD 操作、查询功能以及云同步,以便与他人共享数据库。
Unstructured Document Processor MCP
一个模型上下文协议服务器,它使大型语言模型能够从各种文件格式的非结构化文档中提取和使用内容。
Firebase MCP Server
一个提供统一接口以与 Firebase 服务(包括身份验证、Firestore 和存储)交互的服务器。
MCP Server for Apache OpenDAL™
一个模型上下文协议服务器,通过 Apache OpenDAL™ 提供对包括 S3、Azure Blob 存储和 Google Cloud Storage 在内的多个存储服务的无缝访问。
Cloudinary MCP Server
这个服务器提供了一些工具,可以使用 Claude/Cline 直接将图片和视频上传到 Cloudinary,从而方便资源管理,并提供可定制的选项,例如资源类型和公共 ID。
supabase-mcp
一个 MCP 服务器,提供与 Supabase 数据库、存储和边缘函数交互的工具。
Azure MCP Server
这个服务器实现了模型上下文协议,可以与 Azure Blob 存储和 Cosmos DB 无缝交互,从而实现操作的自动日志记录和审计跟踪。