Skip to main content
Glama

Memory Bank MCP Server

by t3ta
batch-operations.json6.71 kB
{ "schema": "memory_document_v1", "metadata": { "title": "batch-operations.json", "documentType": "generic", "path": "usecases/batch-operations.json", "tags": [], "lastModified": "2025-03-24T12:42:04.042Z" }, "content": { "text": "{\n \"schema\": \"memory_document_v2\",\n \"metadata\": {\n \"id\": \"diff-edit-usecases-batch\",\n \"title\": \"JSONパッチ - バッチ操作ユースケース\",\n \"documentType\": \"usecases\",\n \"path\": \"usecases/batch-operations.json\",\n \"tags\": [\n \"json-patch\",\n \"usecases\",\n \"rfc6902\",\n \"document-editing\",\n \"batch-operations\",\n \"atomicity\"\n ],\n \"lastModified\": \"2025-03-24T22:00:00.000Z\",\n \"createdAt\": \"2025-03-24T22:00:00.000Z\",\n \"version\": 1\n },\n \"content\": {\n \"usecases\": [\n {\n \"id\": \"UC-5\",\n \"title\": \"複数のパッチ操作をアトミックに適用\",\n \"description\": \"複数のJSON Patch操作をひとつのトランザクションとして実行し、すべての操作が成功するか、何も変更されないかのいずれかを保証します。\",\n \"actors\": [\"開発者\", \"APIクライアント\"],\n \"preconditions\": [\n \"対象のJSONドキュメントが存在していること\",\n \"ユーザーが対象ドキュメントへの書き込み権限を持っていること\"\n ],\n \"mainFlow\": [\n \"1. ユーザーが対象ドキュメントのIDと複数のパッチ操作を指定\",\n \"2. システムが対象ドキュメントを取得\",\n \"3. すべてのパッチ操作の構文検証\",\n \"4. すべてのパッチ操作のセマンティック検証(試験的適用)\",\n \"5. 実際のドキュメントへのパッチ適用\",\n \"6. 更新されたドキュメントの保存\",\n \"7. 結果の返却\"\n ],\n \"alternativeFlows\": [\n {\n \"id\": \"UC-5-A1\",\n \"title\": \"操作の一部または全部が無効な場合\",\n \"steps\": [\n \"3a/4a. いずれかの操作が無効であることを検出\",\n \"3b/4b. バッチ全体を中止し、エラー情報を返却\",\n \"3c/4c. ドキュメントは変更されない\"\n ]\n }\n ],\n \"postconditions\": [\n \"すべてのパッチ操作が正常に適用されているか、または何も変更されていない\",\n \"ドキュメントの整合性が保たれている\",\n \"バッチ操作に関する監査ログが記録されている\"\n ],\n \"examples\": [\n {\n \"description\": \"複数のフィールドを一度に更新するケース\",\n \"request\": {\n \"documentId\": \"active-context-123\",\n \"operations\": [\n {\"op\": \"replace\", \"path\": \"/metadata/title\", \"value\": \"更新されたタイトル\"},\n {\"op\": \"replace\", \"path\": \"/metadata/version\", \"value\": 4},\n {\"op\": \"add\", \"path\": \"/content/recentChanges/0\", \"value\": {\n \"date\": \"2025-03-24T21:30:00.000Z\",\n \"description\": \"タイトルとバージョンを更新\"\n }},\n {\"op\": \"remove\", \"path\": \"/content/recentChanges/3\"}\n ]\n },\n \"response\": {\n \"success\": true,\n \"document\": {\n \"metadata\": {\n \"title\": \"更新されたタイトル\",\n \"version\": 4\n },\n \"content\": {\n \"recentChanges\": [\n {\n \"date\": \"2025-03-24T21:30:00.000Z\",\n \"description\": \"タイトルとバージョンを更新\"\n },\n \"...\": \"その他の要素(最後の要素が削除されている)\"\n ]\n }\n }\n }\n }\n ]\n }\n ],\n \"implementationNotes\": {\n \"keyPoints\": [\n \"バッチ操作ではアトミック性を保証するために、検証と適用を慎重に分離する\",\n \"すべての操作のバリデーションは、実際の適用前に完全に終了させる\",\n \"クローン作成されたドキュメントに対してテスト適用することで、副作用なしで検証が可能\"\n ],\n \"atomicityImplementation\": {\n \"description\": \"バッチ操作のアトミック性は以下の手順で実装します:\",\n \"steps\": [\n \"1. ドキュメントのディープコピーを作成\",\n \"2. コピーに対してすべての操作をシミュレーション\",\n \"3. エラーが発生した場合は即座に中止してエラーを返却\",\n \"4. シミュレーションが成功した場合のみ、元のドキュメントに対して操作を適用\",\n \"5. 複合操作全体を一つのトランザクションとして扱う(書き込みロック機構を検討)\"\n ]\n },\n \"errorHandling\": {\n \"description\": \"バッチ操作のエラーハンドリングでは、どの操作が失敗したかを正確に特定できることが重要です。\",\n \"strategies\": [\n \"すべての操作に対して順番にインデックスを付与\",\n \"エラー時にはインデックス、操作タイプ、パス、エラーの種類を含む詳細情報を返却\",\n \"たとえ最初の操作でエラーが発生してもすべての操作を検証し、可能な限り多くのエラーを一度に報告\"\n ]\n },\n \"performanceConsiderations\": [\n \"大量の操作(数百以上)を含むバッチの場合、処理時間が増大する可能性がある\",\n \"非同期処理や進捗状況の報告機能を検討\",\n \"クライアント側での適切なバッチサイズ(50〜100操作程度)の推奨\"\n ],\n \"usecases\": [\n \"複数のフィールドを一度に更新する\",\n \"ドキュメントの構造的な変更(複数の移動や再編成)\",\n \"インポート・エクスポート時の差分適用\",\n \"計算された変更セットの一括適用\"\n ]\n }\n }\n}" } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/t3ta/memory-bank-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server