mcpField
U
Unstorage MCP Server

Unstorage MCP Server

本地服务
github.com/slow-groovin数据库166 周前更新

关于 Unstorage MCP Server

Unstorage MCP Server 基于 unjs/unstorage 提供键值存储操作,适用于需要读写、查看或删除多种存储驱动中数据的 MCP 客户端,并支持 stdio 和 HTTP 传输。

主要功能

  1. 01读取和写入键值条目
  2. 02获取原始值和元数据
  3. 03列出键和已挂载存储
  4. 04支持 memory、filesystem、Redis、MongoDB 和 HTTP 驱动
  5. 05支持 stdio、Streamable HTTP 和 SSE 传输
  6. 06可配置禁用修改工具

适用场景

  1. 01保存 Agent 工作流生成的值
  2. 02读取或更新已配置存储后端中的数据
  3. 03查看已挂载存储中的键和元数据

MCP 相关

它通过 stdio、Streamable HTTP 或 SSE 向 MCP 客户端提供键值存储工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"unstorage": {
"command": "npx",
"args": [
"-y",
"/y"
],
"env": {
"REDIS_URL": "<REDIS_URL>",
"REDIS_BASE": "<REDIS_BASE>",
"REDIS_MOUNT_POINT": "<REDIS_MOUNT_POINT>"
}
}
}
}
启动命令npx -y /y
需要配置的环境变量
REDIS_URL
REDIS_BASE
REDIS_MOUNT_POINT

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm/y

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Unstorage MCP 服务

中文 README

基于 unjs/unstorage 的键值存储 MCP 服务。

支持的驱动:

  1. memory
  2. filesystem
  3. redis
  4. unstorage http server
  5. 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 传输,以替代 stdiofalse
-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_URLRedis 连接 URL,例如:redis://default:123456@localhost:6379
REDIS_BASEredisDriver 的 base✅
REDIS_MOUNT_POINT此存储的 mountpoint"/"✅
mongodb

如果设置了 MONGODB_URL,则会挂载一个 mongodb 存储

语法描述默认值可选
MONGODB_URLmongodb 连接 URL,例如:mongodb://user:pass@host:port
MONGODB_DB_NAMEmongodb 数据库名称,例如:test
MONGODB_COLLECTION_NAMEmongodb 集合名称,例如:mycollection
MONGODB_MOUNT_POINT此存储的挂载点"/"✅
filesystem

如果设置了 FS_BASE,则会挂载一个 redis 存储

语法描述默认值可选
FS_BASEfsDriver 的基础路径,即文件系统路径
FS_MOUNT_POINT此存储的挂载点"/"✅
http server

如果设置了 HTTP_BASE,则会挂载一个 http 存储

语法描述默认值可选
HTTP_BASEhttpDriver 的基础路径,即 http 服务的端点
HTTP_MOUNT_POINT此存储的挂载点"/"✅
HTTP_HEADERShttp 请求的标头,例如:Authorization=Bear 123;A=1;B=2✅
memory

如果根路径("/")上没有挂载项,则会自动在 "/" 上挂载一个 memory 驱动(与 unstorage 的行为相同)。

扩展指南

  1. 克隆此仓库
  2. 将 src/storage/redis.ts 复制到新文件,并按需修改为所需的驱动(unjs/unstorage 非常容易上手)
  3. 测试并验证其是否有效
  4. (可选)提交合并请求

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

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。