Model Context Protocol and Fireproof Demo: JSON Document Collection Server について
Fireproof を使って複数の JSON ドキュメントデータベースを扱う MCP サーバーのデモです。構造化データを AI システムにつなぐ用途向けで、CRUD、フィールドによる並べ替え、Fireproof Cloud での共有に対応します。
主な機能
- 01複数の JSON ドキュメントデータベースを作成
- 02ドキュメントの CRUD 操作
- 03任意のフィールドで検索・並べ替え
- 04Fireproof Cloud 経由でデータベースを共有
活用シーン
- 01トピック別にドキュメントを保管
- 02JSON ドキュメントの追加・更新・削除
- 03フィールドで並べ替えてドキュメントを取得
- 04Fireproof Cloud 経由でデータベースを共有
MCP 対応
データベースの作成、ドキュメントの CRUD、検索、並べ替え、クラウド共有の機能を MCP クライアントに提供します。README では Claude Desktop への設定方法を説明しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| databaseName | string | はい |
詳細
Model Context Protocol と Fireproof のデモ:JSON ドキュメントコレクションサーバー
❤️
これは、Claude Desktop などの A.I. システムにコードやデータを接続するための、Model Context Protocol サーバーで Fireproof データベースを使用する方法の例です。
このサーバーは、次の機能を提供します。
- 複数の「JSON ドキュメントデータベース」を作成できます(Fireproof を使用して実装されています)。
- 任意のデータベースで基本的な CRUD 操作(作成、読み取り、更新、削除)を実行でき、任意のフィールドでソートしたドキュメントをクエリできます。
- Fireproof Cloud サービスとダッシュボードを使用して、任意のデータベースを他のユーザーと共有できます。
先行プロジェクト:https://github.com/fireproof-storage/mcp-database-server をベースにしており、複数のデータベースとクラウドへの同期機能が追加されています。
サーバーの実行
まず、ビルドします。
npm install
npm build
Claude Desktop で使用するには、サーバー設定を追加します。
MacOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"json-db-collections": {
"command": "<base-dir>/mcp-json-db-collection-server/build/index.js"
}
}
}
Claude Desktop のチャットセッションの例
以下は、Claude Desktop を使用して 3 つのドキュメントデータベースを作成し、クラウドに同期するセッションの例です。
1. チャットセッション:元素のデータベース
human(2024年12月29日、午後03:59)
elements という名前の JSON ドキュメントデータベースを作成してください
assistant(2024年12月29日、午後04:00)
「elements」という名前の JSON ドキュメントデータベースを作成します。
データベースが正常に作成されました。このデータベースを使って、JSON ドキュメントを保存および管理できるようになりました。ドキュメントを追加しますか?
human(2024年12月29日、午後04:00)
周期表の希ガスを個別のドキュメントとして追加してください
assistant(2024年12月29日、午後04:00)
希ガスを個別のドキュメントとして elements データベースに追加します。各希ガスの主な特性を含めます。
7 つの希ガス(ヘリウム、ネオン、アルゴン、クリプトン、キセノン、ラドン、オガネソン)をすべてデータベースに追加しました。各元素について、以下の情報を含めました。
- 名前と記号
- 原子番号と原子量
- 周期、族、ブロック
- 電子配置
- 融点と沸点(ケルビン単位)
- 密度(g/cm³)
オガネソンは合成元素で半減期が非常に短く、実験でその特性が十分に解明されていないため、一部の物理的特性は null としています。
データベースから、これらの希ガスに関する特定の情報をクエリしますか?
human(2024年12月29日、午後04:01)
ドキュメントを表示してください
assistant(2024年12月29日、午後04:01)
elements データベースからすべてのドキュメントをクエリし、原子番号順に並べます。
原子番号の高い順に並べた、データベース内の希ガスは以下のとおりです。
- オガネソン(Og)- 元素118
- ラドン(Rn)- 元素86
- キセノン(Xe)- 元素54
- クリプトン(Kr)- 元素36
- アルゴン(Ar)- 元素18
- ネオン(Ne)- 元素10
- ヘリウム(He)- 元素2
各ドキュメントには、原子量、密度、(判明している場合は)融点と沸点、電子配置など、元素に関する詳細情報が含まれています。特定の特性を詳しく調べたり、元素の特定の項目を比較したりしますか?
2. チャットセッション:クッキーの材料データベース
human (Dec 29, 2024, 04:01 PM)
cookie_ingredients という名前の JSON ドキュメントデータベースを作成してください
assistant (Dec 29, 2024, 04:01 PM)
「cookie_ingredients」という名前の新しい JSON ドキュメントデータベースを作成します。
データベースを正常に作成しました。材料を追加しますか?
human (Dec 29, 2024, 04:02 PM)
チョコレートチップクッキーのレシピの材料を、個別のドキュメントとして追加してください
assistant (Dec 29, 2024, 04:02 PM)
チョコレートチップクッキーの一般的な材料を、標準的な分量や特性とともに個別のドキュメントとして追加します。
クラシックなチョコレートチップクッキーのレシピに必要な材料をすべて追加しました。各材料には、次の情報を含めています。
- 名前と分量
- 計量単位
- 種類(乾燥、液体、膨張剤など)
- レシピでの役割
- 代用品
- 重量
- 使用に関する重要な注意事項
データベースから、これらの材料に関する特定の情報を検索しますか?
human (Dec 29, 2024, 04:02 PM)
材料を表で表示してください
assistant (Dec 29, 2024, 04:03 PM)
材料を検索して、Markdown の表にまとめます。
| 材料 | 分量 | 単位 | 種類 | 役割 | 重量/単位 |
|---|---|---|---|---|---|
| 薄力粉 | 2¼ | cups | 乾燥 | 生地の構造 | 120g/cup |
| 無塩バター | 1 | cup | 脂肪 | 食感と風味 | 227g/cup |
| グラニュー糖 | ¾ | cup | 甘味料 | 甘さと食感 | 200g/cup |
| ブラウンシュガー | ¾ | cup | 甘味料 | 水分と風味 | 220g/cup |
| 大きな卵 | 2 | whole | つなぎ | 生地の構造とコク | 50g each |
| バニラエッセンス | 1 | teaspoon | 香料 | 風味を高める | 5g/tsp |
| 塩 | 1 | teaspoon | 調味料 | 風味を高める | 6g/tsp |
| 重曹 | 1 | teaspoon | 膨張剤 | 膨らみと広がり | 4.8g/tsp |
| チョコレートチップ | 2 | cups | 混ぜ込み材料 | 風味と食感 | 170g/cup |
材料を種類別に整理し、分量、単位、役割、重量を記載しました。特定の材料について、さらに詳しく知りたいですか?
3. チャットセッション:馬の品種データベース
human (Dec 29, 2024, 04:03 PM)
horse_breeds という名前の新しい JSON ドキュメントデータベースを作成してください
assistant (Dec 29, 2024, 04:03 PM)
馬の品種用の新しい JSON ドキュメントデータベースを作成します。
データベースを正常に作成しました。馬の品種を追加しますか?
human (Dec 29, 2024, 04:03 PM)
はい
assistant (Dec 29, 2024, 04:04 PM)
人気のある馬の品種をいくつか、その主な特徴、原産地、典型的な用途とともに追加します。
特徴的な6品種をデータベースに追加しました。
- アラブ種 - 持久力と優美さで知られています
- サラブレッド - 競走能力と運動能力で有名です
- クライズデール種 - 力強い輓馬です
- クォーターホース - アメリカの多用途な牧畜馬です
- フリージアン種 - オランダ原産の優雅な黒毛馬です
- アパルーサ種 - 斑点模様とネイティブアメリカンとの関わりで知られています
各項目には、次の情報を含めています。
- 原産地と品種の種類
- 体高(ハンド単位。1ハンド = 4インチ)
- 一般的な毛色
- 身体的特徴
- 典型的な用途
- 気質
- 注目すべき特徴
特定の形式で情報を表示したり、特定の品種について詳しく説明したりしましょうか?
4. チャットセッション:クラウドと同期
human(2024年12月29日、午後04:04)
json ドキュメントデータベースを一覧表示
assistant(2024年12月29日、午後04:04)
作成済みの JSON ドキュメントデータベースをすべて一覧表示します。
JSON ドキュメントデータベースは3つあります。
- horse_breeds
- elements
- cookie_ingredients
各データベースには、それぞれのテーマに関するドキュメントが格納されています。
- horse_breeds には、さまざまな馬の品種に関する情報が格納されています
- elements には、希ガスに関するデータが格納されています
- cookie_ingredients には、チョコレートチップクッキーの材料に関する詳細が格納されています
これらのデータベースから、特定の情報を検索しますか?
human(2024年12月29日、午後04:04)
horse_breeds をクラウドに同期
assistant(2024年12月29日、午後04:04)
horse_breeds データベースをクラウド同期サービスに接続します。
horse_breeds データベースはクラウドに正常に接続されました。上記の URL を使用してダッシュボードにアクセスできます。これにより、クラウドインターフェースから馬の品種データを表示および管理できます。他のデータベースもクラウドに同期しますか?
human(2024年12月29日、午後04:05)
URL を表示
assistant(2024年12月29日、午後04:05)
horse_breeds データベースのダッシュボード URL は次のとおりです。
この URL を使用すると、クラウドインターフェースから馬の品種データにアクセスして管理できます。
human(2024年12月29日、午後04:05)
elements データベースをクラウドに同期
assistant(2024年12月29日、午後04:05)
elements データベースをクラウド同期サービスに接続します。
elements データベースはクラウドに正常に接続されました。ダッシュボードには次の URL からアクセスできます。
cookie_ingredients データベースも同期しますか?
human(2024年12月29日、午後04:05)
はい
assistant(2024年12月29日、午後04:05)
cookie_ingredients データベースをクラウド同期サービスに接続します。
cookie_ingredients データベースのダッシュボード URL は次のとおりです。
これで3つすべてのデータベース(horse_breeds、elements、cookie_ingredients)がクラウドに同期され、それぞれのダッシュボード URL からアクセスできます。
5. チャットセッション:クリーンアップ
human(2024年12月29日、午後04:06)
すべてのデータベースを削除
assistant(2024年12月29日、午後04:06)
3つすべてのデータベースを削除します。
3つすべてのデータベースが正常に削除されました。
- horse_breeds
- elements
- cookie_ingredients
すべて削除されたことを確認します。
確認しました。システムに残っているデータベースはありません。新しいデータベースを作成しますか?
Markdown への変換: https://simonwillison.net/2024/Aug/8/convert-claude-json-to-markdown/
今後の開発アイデア
- プロンプト
- リソース
- マルチユーザーと権限
- インデックス作成
- Firebase npm ライブラリを使用して Claude Desktop から静的ウェブサイトを生成
開発
pnpm install
pnpm build
pnpm run inspector
# To reset, do: rm -rf ~/.fireproof /tmp/dist
~/Library/Application\ Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"json-db-collections": {
"command": "<base-dir>/mcp-json-db-collection-server/build/index.js"
}
}
}
ライセンス
MIT または Apache 2
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。