mcpField
M
Model Context Protocol and Fireproof Demo: JSON Document Collection Server

Model Context Protocol and Fireproof Demo: JSON Document Collection Server

ローカル
github.com/jimpickデータベース095 週間前に更新

Model Context Protocol and Fireproof Demo: JSON Document Collection Server について

Fireproof を使って複数の JSON ドキュメントデータベースを扱う MCP サーバーのデモです。構造化データを AI システムにつなぐ用途向けで、CRUD、フィールドによる並べ替え、Fireproof Cloud での共有に対応します。

主な機能

  1. 01複数の JSON ドキュメントデータベースを作成
  2. 02ドキュメントの CRUD 操作
  3. 03任意のフィールドで検索・並べ替え
  4. 04Fireproof Cloud 経由でデータベースを共有

活用シーン

  1. 01トピック別にドキュメントを保管
  2. 02JSON ドキュメントの追加・更新・削除
  3. 03フィールドで並べ替えてドキュメントを取得
  4. 04Fireproof Cloud 経由でデータベースを共有

MCP 対応

データベースの作成、ドキュメントの CRUD、検索、並べ替え、クラウド共有の機能を MCP クライアントに提供します。README では Claude Desktop への設定方法を説明しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"json-db-collection-server": {
"command": "npx",
"args": [
"-y",
"@jimpick/mcp-json-db-collection-server"
]
}
}
}
起動コマンドnpx -y @jimpick/mcp-json-db-collection-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@jimpick/mcp-json-db-collection-server

ツール

8

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
databaseNamestringはい

詳細

Model Context Protocol と Fireproof のデモ:JSON ドキュメントコレクションサーバー

Fireproof ❤️ MCP

これは、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 データベースからすべてのドキュメントをクエリし、原子番号順に並べます。

原子番号の高い順に並べた、データベース内の希ガスは以下のとおりです。

  1. オガネソン(Og)- 元素118
  2. ラドン(Rn)- 元素86
  3. キセノン(Xe)- 元素54
  4. クリプトン(Kr)- 元素36
  5. アルゴン(Ar)- 元素18
  6. ネオン(Ne)- 元素10
  7. ヘリウム(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
無塩バター1cup脂肪食感と風味227g/cup
グラニュー糖¾cup甘味料甘さと食感200g/cup
ブラウンシュガー¾cup甘味料水分と風味220g/cup
大きな卵2wholeつなぎ生地の構造とコク50g each
バニラエッセンス1teaspoon香料風味を高める5g/tsp
塩1teaspoon調味料風味を高める6g/tsp
重曹1teaspoon膨張剤膨らみと広がり4.8g/tsp
チョコレートチップ2cups混ぜ込み材料風味と食感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. アラブ種 - 持久力と優美さで知られています
  2. サラブレッド - 競走能力と運動能力で有名です
  3. クライズデール種 - 力強い輓馬です
  4. クォーターホース - アメリカの多用途な牧畜馬です
  5. フリージアン種 - オランダ原産の優雅な黒毛馬です
  6. アパルーサ種 - 斑点模様とネイティブアメリカンとの関わりで知られています

各項目には、次の情報を含めています。

  • 原産地と品種の種類
  • 体高(ハンド単位。1ハンド = 4インチ)
  • 一般的な毛色
  • 身体的特徴
  • 典型的な用途
  • 気質
  • 注目すべき特徴

特定の形式で情報を表示したり、特定の品種について詳しく説明したりしましょうか?

4. チャットセッション:クラウドと同期

human(2024年12月29日、午後04:04)

json ドキュメントデータベースを一覧表示

assistant(2024年12月29日、午後04:04)

作成済みの JSON ドキュメントデータベースをすべて一覧表示します。

JSON ドキュメントデータベースは3つあります。

  1. horse_breeds
  2. elements
  3. 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 は次のとおりです。

https://dashboard.fireproof.storage/fp/databases/connect?endpoint=fireproof%3A%2F%2Fcloud.fireproof.direct%2F&localName=horse_breeds&remoteName=019414e1-2db0-70aa-b9a4-2e2f78a7adce

この URL を使用すると、クラウドインターフェースから馬の品種データにアクセスして管理できます。

human(2024年12月29日、午後04:05)

elements データベースをクラウドに同期

assistant(2024年12月29日、午後04:05)

elements データベースをクラウド同期サービスに接続します。

elements データベースはクラウドに正常に接続されました。ダッシュボードには次の URL からアクセスできます。

https://dashboard.fireproof.storage/fp/databases/connect?endpoint=fireproof%3A%2F%2Fcloud.fireproof.direct%2F&localName=elements&remoteName=019414e1-db52-75e7-b8d0-21ce605176a7

cookie_ingredients データベースも同期しますか?

human(2024年12月29日、午後04:05)

はい

assistant(2024年12月29日、午後04:05)

cookie_ingredients データベースをクラウド同期サービスに接続します。

cookie_ingredients データベースのダッシュボード URL は次のとおりです。

https://dashboard.fireproof.storage/fp/databases/connect?endpoint=fireproof%3A%2F%2Fcloud.fireproof.direct%2F&localName=cookie_ingredients&remoteName=019414e2-1f47-72d7-bf8f-a721d29a24c7

これで3つすべてのデータベース(horse_breeds、elements、cookie_ingredients)がクラウドに同期され、それぞれのダッシュボード URL からアクセスできます。

5. チャットセッション:クリーンアップ

human(2024年12月29日、午後04:06)

すべてのデータベースを削除

assistant(2024年12月29日、午後04:06)

3つすべてのデータベースを削除します。

3つすべてのデータベースが正常に削除されました。

  1. horse_breeds
  2. elements
  3. 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。