Unstorage

Unstorage

slow-groovin

云存储
访问服务器

README

Unstorage MCP 服务器

中文 README

一个基于 unjs/unstorage 的 Key-Value 存储 MCP 服务器。

当前支持的驱动:

  1. memory (内存)
  2. filesystem (文件系统)
  3. redis
  4. unstorage http server
  5. 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 的行为相同)。

扩展指南

  1. 克隆此仓库
  2. 将 src/storage/redis.ts 复制到一个新文件中,并将其修改为您想要的驱动程序(unjs/unstorage 非常容易学习)
  3. 测试并验证它是否有效
  4. (可选)发起一个合并请求

如果您不是 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"]
  }
}

需要重启服务器才能使更改生效

推荐服务器

Google Drive MCP Server

Google Drive MCP Server

启用与 Google Drive 的集成,用于列出、读取和搜索文件,支持各种文件类型,并为 Google Workspace 文件提供自动导出功能。

本地
JavaScript
AWS MCP Server

AWS MCP Server

一个模型上下文协议服务器实现,使 Claude 能够通过自然语言命令在 S3 和 DynamoDB 服务上执行 AWS 操作。

本地
Python
Google Drive MCP Server

Google Drive MCP Server

与 Google Drive 集成,以实现文件列表、搜索和读取,以及 Google 表格的读取和写入。

本地
TypeScript
Azure MCP Server

Azure MCP Server

这个服务器实现了模型上下文协议,可以与 Azure Blob 存储和 Cosmos DB 无缝交互,从而实现操作的自动日志记录和审计跟踪。

Python
Box MCP Server

Box MCP Server

Box MCP 服务器方便使用开发者令牌认证在 Box 中搜索和读取 PDF 和 Word 文件。

JavaScript
MCP JSON Document Collection Server

MCP JSON Document Collection Server

一个模型上下文协议服务器,允许创建和管理多个 Fireproof JSON 数据库,并提供 CRUD 操作、查询功能以及云同步,以便与他人共享数据库。

JavaScript
Unstructured Document Processor MCP

Unstructured Document Processor MCP

一个模型上下文协议服务器,它使大型语言模型能够从各种文件格式的非结构化文档中提取和使用内容。

Python
Firebase MCP Server

Firebase MCP Server

一个提供统一接口以与 Firebase 服务(包括身份验证、Firestore 和存储)交互的服务器。

TypeScript
MCP Server for Apache OpenDAL™

MCP Server for Apache OpenDAL™

一个模型上下文协议服务器,通过 Apache OpenDAL™ 提供对包括 S3、Azure Blob 存储和 Google Cloud Storage 在内的多个存储服务的无缝访问。

Python
Cloudinary MCP Server

Cloudinary MCP Server

这个服务器提供了一些工具,可以使用 Claude/Cline 直接将图片和视频上传到 Cloudinary,从而方便资源管理,并提供可定制的选项,例如资源类型和公共 ID。

JavaScript