Unstorage MCP Server について
Unstorage MCP Serverは、unjs/unstorageを通じてキーと値のストレージ操作を提供するMCPサーバーです。対応ドライバーの値を読み書き・確認・削除したいMCPクライアント向けで、stdioとHTTP系のトランスポートを備えます。
主な機能
- 01キーと値の読み書き
- 02生データとメタデータの取得
- 03キーとマウント済みストアの一覧表示
- 04memory、filesystem、Redis、MongoDB、HTTPドライバーに対応
- 05stdio、Streamable HTTP、SSEトランスポート
- 06設定による変更ツールの無効化
活用シーン
- 01Agentのワークフローで生成した値の保存
- 02設定済みストレージのデータの読み取りや更新
- 03マウント済みストアのキーとメタデータの確認
MCP 対応
stdio、Streamable HTTP、SSEを介して、MCPクライアントにキーと値のストレージツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Unstorage MCP サーバー
unjs/unstorage をベースにした Key-Value ストレージ 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 | stdio の代わりに HTTP トランスポートを有効にする | 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 server のエンドポイント | ||
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 Config
{
"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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。