diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/images/scalardb-mcp-server-architecture.png b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/images/scalardb-mcp-server-architecture.png new file mode 100644 index 00000000..300719e3 Binary files /dev/null and b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/images/scalardb-mcp-server-architecture.png differ diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-mcp-server/getting-started-with-scalardb-mcp-server.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-mcp-server/getting-started-with-scalardb-mcp-server.mdx new file mode 100644 index 00000000..c3ce1d78 --- /dev/null +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-mcp-server/getting-started-with-scalardb-mcp-server.mdx @@ -0,0 +1,631 @@ +--- +tags: + - Community + - Enterprise Standard + - Enterprise Premium +displayed_sidebar: docsJapanese +--- + +# ScalarDB MCP Server をはじめよう + +import TranslationBanner from '/src/components/_translation-ja-jp.mdx'; + + + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +ScalarDB MCP Server は、LLM が ScalarDB を通じてデータにアクセス・管理できるようにする [Model Context Protocol (MCP) ](https://modelcontextprotocol.io/) の実装です。LLM を活用することで、自然言語を使用して、複数のサイロ化しているデータベースを跨いで検索と更新を行うことができます。 + +ScalarDB MCP Server は、単一データベースと複数ストレージ構成の両方で動作します。各データベースに個別の MCP サーバーが必要な従来のアプローチとは異なり、ScalarDB MCP Server は [ScalarDB のマルチストレージ機能](../multi-storage-transactions.mdx)を活用して、単一の MCP サーバーを通じて複数・異種のデータベース (PostgreSQL、MySQL、Cosmos DB、DynamoDB など) への統一アクセスを提供します。自然言語でクエリを送信するだけで、サーバーがデータベース全体で適切な操作を自動的に実行し、意思決定プロセスの改善と迅速化を実現します。 + +## アーキテクチャと主要機能 + +以下の図は、ScalarDB MCP Server が従来のアプローチとどのように異なるかを示しています。各データベースに個別の MCP サーバーが必要ではなく、ScalarDB MCP Server に一度接続するだけで、ScalarDB を通じてすべてのデータベースにアクセスできます。 + +![ScalarDB MCP Server アーキテクチャ](../images/scalardb-mcp-server-architecture.png) + +ScalarDB MCP Server の中核では、以下の機能を提供します。 + +### ScalarDB 接続 + +MCP サーバーは設定に応じて ScalarDB Core ライブラリを用いる、もしくは、ScalarDB Cluster にクライアントライブラリを用いて接続します。つまり、ScalarDB とのやりとりにそれらのライブラリの使い方を知る必要はありません。 + +### トランザクション操作 + +ScalarDB MCP Server は ACID 準拠のトランザクションをサポートし、LLM が複数の操作を安全に実行できるようにします。LLM が操作をグループ化する必要があると判断した場合、MCP サーバーは操作がすべて成功するかすべて失敗するかを保証し、データベース全体でデータの整合性を維持します。 + +### 操作モード + +ScalarDB MCP Server は、ScalarDB の構成に合わせた2つの操作モード (SQL モードと CRUD モード) をサポートします。 + +#### SQL モード + +SQL モードは、データベース操作用の SQL インターフェースを提供します。自然言語でリクエストを行うと、LLM が ScalarDB でサポートされている SQL 操作を通じて SQL コマンドを自動的に生成および実行し、標準の SQL 構文 (`BEGIN`、`COMMIT`、`ROLLBACK`) を使用してトランザクションを処理します。LLM がすべての操作を実行するのに1つのツールのみを使用する必要があるため、このモードはより効率的である可能性があります。SQL モードは、ScalarDB Cluster でのみ利用可能です。 + +#### CRUD モード + +CRUD モードは、操作をプログラム的に制御したい場合に使用します。ScalarDB Core には SQL インターフェースが含まれていないため、このモードでは代わりに ScalarDB のネイティブ SDK 操作を使用します。LLM は、スキーマ管理、CRUD 操作、明示的なトランザクション制御の個別ツールを使用して、自然言語リクエストを適切な SDK 呼び出しに変換します。LLM が操作を完了するために複数のツールを使用する必要があるため、このモードは効率が劣る可能性があります。 + +### デプロイメントの制限 + +:::note + +ScalarDB MCP Server は現在、ローカルデプロイメント専用の STDIO モードで実行されます。Server-Sent Events (SSE) によるリモートサーバーデプロイメントはまだサポートされていませんが、将来のリリースで計画されています。 + +**これが意味すること:** + +- ✅ MCP サーバーは AI クライアント (Claude Desktop、Visual Studio Code など) と一緒にローカルで実行されます。 +- ✅ 開発、テスト、シングルユーザーシナリオに最適です。 +- ❌ マルチユーザーアクセス用にリモートサーバーに MCP サーバーをデプロイできません。 +- ❌ ウェブベースまたはクラウドデプロイメントオプションはまだありません。 + +::: + +## ワークフローの例 + +以下は、自然言語を通じて ScalarDB MCP Server と対話する方法の例です: + +**データクエリ (SQL モード):** + +```markdown +ユーザー: "customer テーブルからすべてのユーザーを表示して" +🤖 LLM が自動的に使用: scalardb_execute_sql ツール +生成された SQL: SELECT * FROM customer +結果: 列と値を含む顧客データが表示されます +``` + +**データクエリ (CRUD モード):** + +```markdown +ユーザー: "customer テーブルからすべてのユーザーを表示して" +🤖 LLM が自動的に使用: scalardb_scan ツール +結果: 列と値を含む顧客データが表示されます +``` + +**データベース構造の作成 (CRUD モード):** + +```markdown +ユーザー: "id、name、price 列を持つ products という新しいテーブルを作成して" +🤖 LLM が自動的に使用: scalardb_create_table ツール +結果: ✅ テーブル 'products' が正常に作成されました +``` + +**クロスデータベース操作 (マルチストレージ):** + +```markdown +ユーザー: "ユーザー ID 123 のユーザープロファイルと注文履歴を取得して" +🤖 LLM が自動的に使用: scalardb_get ツール (複数のデータベースにまたがってクエリ) +結果: 結合されたユーザープロファイル (PostgreSQL から) と注文履歴 (DynamoDB から) +``` + +LLM はリクエストに基づいて適切なツールを自動的に選択します。特定のツールが存在することや使用方法を知る必要はありません。 + +## チュートリアル + +以下の設定サンプルは、[マルチストレージトランザクションサンプル](../scalardb-samples/multi-storage-transaction-sample/README.mdx)と同じ Cassandra と MySQL のマルチストレージ設定を使用します。そのハンズオンチュートリアルに従ってデータベースを設定し、このチュートリアルで MCP サーバーをテストするために同じ設定を使用できます。 + +設定は、特定の MCP クライアントとデータベース環境によって異なる場合があります。MCP サーバーへの接続を追加する方法の詳細なセットアップ手順については、MCP クライアントのドキュメントを参照してください。 + +### セットアップ + +ScalarDB MCP Server をセットアップするには、以下の手順に従ってください。 + +#### 前提条件 + +以下が整っていることを確認してください: + +- (JAR 配布用) Java Runtime Environment: + - Oracle JDK: 17 または 21 + - OpenJDK (Eclipse Temurin、Amazon Corretto、または Microsoft Build of OpenJDK): 17 または 21 +- (Docker 配布用) Docker 20.10 以降 +- (このチュートリアルの例用) Cassandra と MySQL データベースが稼働していること +- (SQL モード用) ScalarDB Cluster も稼働していること +- MCP 対応クライアント (Claude Desktop、Cline 付き Visual Studio Code など) + +#### ステップ 1: MCP クライアントタイプの選択 + +MCP クライアントに合った設定方法を選択してください。Claude Code CLI またはコマンドライン MCP サーバー管理をサポートする類似ツールを使用している場合は、**CLI ツール** を選択してください。Claude Desktop または手動 JSON 設定ファイルが必要な他のクライアントを使用している場合は、**手動設定ファイル** を選択してください。 + + + + コマンドライン サーバー管理機能を持つ MCP クライアント (例: Claude Code CLI) 用。 + + #### ステップ 2: 配布方法の選択 + + + + Docker イメージをプル: + + ```bash + docker pull ghcr.io/scalar-labs/scalardb-mcp-server:0.9.0 + ``` + + #### ステップ 3: ScalarDB デプロイメントタイプの選択 + + + + 以下のコマンドを実行して MCP サーバーを追加: + + ```bash + claude mcp add scalardb -- docker run --rm -i \ + --name scalardb-mcp-server \ + ghcr.io/scalar-labs/scalardb-mcp-server:0.9.0 \ + --scalar.mcp.db.server.tool.mode=SQL \ + --scalar.db.transaction_manager=cluster \ + --scalar.db.contact_points=indirect:host.docker.internal \ + --scalar.db.contact_port=60053 + ``` + + この設定は SQL モードを使用し、より効率的な単一ツールアプローチを提供するため、ScalarDB Cluster に推奨されます。 + +:::note + +**ScalarDB Cluster 設定** + +上記の設定は、MCP サーバーがクライアントとして ScalarDB Cluster に接続する方法を示しています。ScalarDB Cluster 自体は別途設定する必要があります。 + +例えば、マルチストレージサポート付きの ScalarDB Cluster 設定には以下が含まれます: + +```properties +scalar.db.transaction_manager=consensus-commit +scalar.db.storage=multi-storage +scalar.db.multi_storage.storages=cassandra,mysql +scalar.db.multi_storage.storages.cassandra.storage=cassandra +scalar.db.multi_storage.storages.cassandra.contact_points=localhost +scalar.db.multi_storage.storages.cassandra.username=cassandra +scalar.db.multi_storage.storages.cassandra.password=cassandra +scalar.db.multi_storage.storages.mysql.storage=jdbc +scalar.db.multi_storage.storages.mysql.contact_points=jdbc:mysql://localhost:3306/ +scalar.db.multi_storage.storages.mysql.username=root +scalar.db.multi_storage.storages.mysql.password=mysql +scalar.db.multi_storage.namespace_mapping=customer:mysql,order:cassandra,coordinator:cassandra +scalar.db.multi_storage.default_storage=cassandra + +scalar.db.sql.enabled=true + +# ライセンスキー設定 +scalar.db.cluster.node.licensing.license_key= +scalar.db.cluster.node.licensing.license_check_cert_pem= +``` + +完全な ScalarDB Cluster デプロイメントと設定手順については、[ScalarDB Cluster 設定](../scalardb-cluster/scalardb-cluster-configurations.mdx)を参照してください。マルチストレージでのハンズオンセットアップガイドについては、[マルチストレージトランザクションサンプル](../scalardb-samples/multi-storage-transaction-sample/README.mdx)を参照してください。 + +::: + +:::important + +Docker オプション: + +- `--rm`: MCP クライアントが切断された後にコンテナを自動的に削除するために必要 +- `--name`: 浮遊コンテナインスタンスの蓄積を防ぐために必要 + +::: + + + 以下のコマンドを実行して MCP サーバーを追加: + + ```bash + claude mcp add scalardb -- docker run --rm -i \ + --name scalardb-mcp-server \ + ghcr.io/scalar-labs/scalardb-mcp-server:0.9.0 \ + --scalar.mcp.db.server.tool.mode=CRUD \ + --scalar.db.transaction_manager=consensus-commit \ + --scalar.db.storage=multi-storage \ + --scalar.db.multi_storage.storages=cassandra,mysql \ + --scalar.db.multi_storage.storages.cassandra.storage=cassandra \ + --scalar.db.multi_storage.storages.cassandra.contact_points=host.docker.internal \ + --scalar.db.multi_storage.storages.cassandra.username=cassandra \ + --scalar.db.multi_storage.storages.cassandra.password=cassandra \ + --scalar.db.multi_storage.storages.mysql.storage=jdbc \ + --scalar.db.multi_storage.storages.mysql.contact_points=jdbc:mysql://host.docker.internal:3306/ \ + --scalar.db.multi_storage.storages.mysql.username=root \ + --scalar.db.multi_storage.storages.mysql.password=mysql \ + --scalar.db.multi_storage.namespace_mapping=customer:mysql,order:cassandra,coordinator:cassandra \ + --scalar.db.multi_storage.default_storage=cassandra + ``` + + この設定は CRUD モードを使用し、SQL インターフェースが含まれていないため、ScalarDB Core に必要です。 + +:::note + +上記の例では、マルチストレージ設定を示しています。その他の ScalarDB Core 設定オプションについては、[ScalarDB 設定](../configurations.mdx)を参照してください。 + +::: + +:::important + +Docker オプション: + +- `--rm`: MCP クライアントが切断された後にコンテナを自動的に削除するために必要 +- `--name`: 浮遊コンテナインスタンスの蓄積を防ぐために必要 + +::: + + + + + [ScalarDB MCP Server リリースページ](https://github.com/scalar-labs/scalardb-mcp-server/releases/latest) から最新の JAR ファイルをダウンロードしてください。 + + #### ステップ 3: ScalarDB デプロイメントタイプの選択 + + + + 以下のコマンドを実行して MCP サーバーを追加: + + ```bash + claude mcp add scalardb \ + -- java -jar /path/to/scalardb-mcp-server-0.9.0.jar \ + --scalar.mcp.db.server.tool.mode=SQL \ + --scalar.db.transaction_manager=cluster \ + --scalar.db.contact_points=indirect:localhost \ + --scalar.db.contact_port=60053 + ``` + + この設定は SQL モードを使用し、より効率的な単一ツールアプローチを提供するため、ScalarDB Cluster に推奨されます。 + +:::note + +**ScalarDB Cluster 設定** + +上記の設定は、MCP サーバーがクライアントとして ScalarDB Cluster に接続する方法を示しています。ScalarDB Cluster 自体は別途設定する必要があります。 + +例えば、マルチストレージサポート付きの ScalarDB Cluster 設定には以下が含まれます: + +```properties +scalar.db.transaction_manager=consensus-commit +scalar.db.storage=multi-storage +scalar.db.multi_storage.storages=cassandra,mysql +scalar.db.multi_storage.storages.cassandra.storage=cassandra +scalar.db.multi_storage.storages.cassandra.contact_points=localhost +scalar.db.multi_storage.storages.cassandra.username=cassandra +scalar.db.multi_storage.storages.cassandra.password=cassandra +scalar.db.multi_storage.storages.mysql.storage=jdbc +scalar.db.multi_storage.storages.mysql.contact_points=jdbc:mysql://localhost:3306/ +scalar.db.multi_storage.storages.mysql.username=root +scalar.db.multi_storage.storages.mysql.password=mysql +scalar.db.multi_storage.namespace_mapping=customer:mysql,order:cassandra,coordinator:cassandra +scalar.db.multi_storage.default_storage=cassandra + +scalar.db.sql.enabled=true + +# ライセンスキー設定 +scalar.db.cluster.node.licensing.license_key= +scalar.db.cluster.node.licensing.license_check_cert_pem= +``` + +完全な ScalarDB Cluster デプロイメントと設定手順については、[ScalarDB Cluster 設定](../scalardb-cluster/scalardb-cluster-configurations.mdx)を参照してください。マルチストレージでのハンズオンセットアップガイドについては、[マルチストレージトランザクションサンプル](../scalardb-samples/multi-storage-transaction-sample/README.mdx)を参照してください。 + +::: + + + 以下のコマンドを実行して MCP サーバーを追加: + + ```bash + claude mcp add scalardb \ + -- java -jar /path/to/scalardb-mcp-server-0.9.0.jar \ + --scalar.mcp.db.server.tool.mode=CRUD \ + --scalar.db.transaction_manager=consensus-commit \ + --scalar.db.storage=multi-storage \ + --scalar.db.multi_storage.storages=cassandra,mysql \ + --scalar.db.multi_storage.storages.cassandra.storage=cassandra \ + --scalar.db.multi_storage.storages.cassandra.contact_points=localhost \ + --scalar.db.multi_storage.storages.cassandra.username=cassandra \ + --scalar.db.multi_storage.storages.cassandra.password=cassandra \ + --scalar.db.multi_storage.storages.mysql.storage=jdbc \ + --scalar.db.multi_storage.storages.mysql.contact_points=jdbc:mysql://localhost:3306/ \ + --scalar.db.multi_storage.storages.mysql.username=root \ + --scalar.db.multi_storage.storages.mysql.password=mysql \ + --scalar.db.multi_storage.namespace_mapping=customer:mysql,order:cassandra,coordinator:cassandra \ + --scalar.db.multi_storage.default_storage=cassandra + ``` + + この設定は CRUD モードを使用し、SQL インターフェースが含まれていないため、ScalarDB Core に必要です。 + +:::note + +上記の例では、マルチストレージ設定を示しています。その他の ScalarDB Core 設定オプションについては、[ScalarDB 設定](../configurations.mdx)を参照してください。 + +::: + + + + + + + 以下の例では Claude Desktop の設定形式を使用していますが、ほとんどの MCP クライアントは同じ JSON 構造を使用します。正確な設定ファイルの場所については、特定のクライアントのドキュメントを参照してください。 + + #### ステップ 2: 配布方法の選択 + + + + Docker イメージをプル: + + ```bash + docker pull ghcr.io/scalar-labs/scalardb-mcp-server:0.9.0 + ``` + + #### ステップ 3: ScalarDB デプロイメントタイプの選択 + + + + MCP クライアント設定ファイルに以下を追加: + + ```json + { + "mcpServers": { + "scalardb": { + "command": "docker", + "args": [ + "run", + "-i", + "--rm", + "--name", "scalardb-mcp-server", + "ghcr.io/scalar-labs/scalardb-mcp-server:0.9.0", + "--scalar.db.transaction_manager=cluster", + "--scalar.db.contact_points=indirect:host.docker.internal", + "--scalar.db.contact_port=60053", + "--scalar.mcp.db.server.tool.mode=SQL" + ] + } + } + } + ``` + + この設定は SQL モードを使用し、より効率的な単一ツールアプローチを提供するため、ScalarDB Cluster に推奨されます。 + +:::note + +**ScalarDB Cluster 設定** + +上記の設定は、MCP サーバーがクライアントとして ScalarDB Cluster に接続する方法を示しています。ScalarDB Cluster 自体は別途設定する必要があります。 + +例えば、マルチストレージサポート付きの ScalarDB Cluster 設定には以下が含まれます: + +```properties +scalar.db.transaction_manager=consensus-commit +scalar.db.storage=multi-storage +scalar.db.multi_storage.storages=cassandra,mysql +scalar.db.multi_storage.storages.cassandra.storage=cassandra +scalar.db.multi_storage.storages.cassandra.contact_points=localhost +scalar.db.multi_storage.storages.cassandra.username=cassandra +scalar.db.multi_storage.storages.cassandra.password=cassandra +scalar.db.multi_storage.storages.mysql.storage=jdbc +scalar.db.multi_storage.storages.mysql.contact_points=jdbc:mysql://localhost:3306/ +scalar.db.multi_storage.storages.mysql.username=root +scalar.db.multi_storage.storages.mysql.password=mysql +scalar.db.multi_storage.namespace_mapping=customer:mysql,order:cassandra,coordinator:cassandra +scalar.db.multi_storage.default_storage=cassandra + +scalar.db.sql.enabled=true + +# ライセンスキー設定 +scalar.db.cluster.node.licensing.license_key= +scalar.db.cluster.node.licensing.license_check_cert_pem= +``` + +完全な ScalarDB Cluster デプロイメントと設定手順については、[ScalarDB Cluster 設定](../scalardb-cluster/scalardb-cluster-configurations.mdx)を参照してください。マルチストレージでのハンズオンセットアップガイドについては、[マルチストレージトランザクションサンプル](../scalardb-samples/multi-storage-transaction-sample/README.mdx)を参照してください。 + +::: + +:::important + +**Docker オプション** + +- `--rm`: MCP クライアントが切断された後にコンテナを自動的に削除するために必要 +- `--name`: 浮遊コンテナインスタンスの蓄積を防ぐために必要 + +::: + + + MCP クライアント設定ファイルに以下を追加: + + ```json + { + "mcpServers": { + "scalardb": { + "command": "docker", + "args": [ + "run", + "-i", + "--rm", + "--name", "scalardb-mcp-server", + "ghcr.io/scalar-labs/scalardb-mcp-server:0.9.0", + "--scalar.mcp.db.server.tool.mode=CRUD", + "--scalar.db.transaction_manager=consensus-commit", + "--scalar.db.storage=multi-storage", + "--scalar.db.multi_storage.storages=cassandra,mysql", + "--scalar.db.multi_storage.storages.cassandra.storage=cassandra", + "--scalar.db.multi_storage.storages.cassandra.contact_points=host.docker.internal", + "--scalar.db.multi_storage.storages.cassandra.username=cassandra", + "--scalar.db.multi_storage.storages.cassandra.password=cassandra", + "--scalar.db.multi_storage.storages.mysql.storage=jdbc", + "--scalar.db.multi_storage.storages.mysql.contact_points=jdbc:mysql://host.docker.internal:3306/", + "--scalar.db.multi_storage.storages.mysql.username=root", + "--scalar.db.multi_storage.storages.mysql.password=mysql", + "--scalar.db.multi_storage.namespace_mapping=customer:mysql,order:cassandra,coordinator:cassandra", + "--scalar.db.multi_storage.default_storage=cassandra" + ] + } + } + } + ``` + + この設定は CRUD モードを使用し、SQL インターフェースが含まれていないため、ScalarDB Core に必要です。 + +:::note + +上記の例では、マルチストレージ設定を示しています。その他の ScalarDB Core 設定オプションについては、[ScalarDB 設定](../configurations.mdx)を参照してください。 + +::: + +:::important + +**Docker オプション** + +- `--rm`: MCP クライアントが切断された後にコンテナを自動的に削除するために必要 +- `--name`: 浮遊コンテナインスタンスの蓄積を防ぐために必要 + +::: + + + + + [ScalarDB MCP Server リリースページ](https://github.com/scalar-labs/scalardb-mcp-server/releases/latest) から最新の JAR ファイルをダウンロードしてください。 + + #### ステップ 3: ScalarDB デプロイメントタイプの選択 + + + + MCP クライアント設定ファイルに以下を追加: + + ```json + { + "mcpServers": { + "scalardb": { + "command": "java", + "args": [ + "-jar", + "/path/to/scalardb-mcp-server-0.9.0.jar", + "--scalar.mcp.db.server.tool.mode=SQL", + "--scalar.db.transaction_manager=cluster", + "--scalar.db.contact_points=indirect:localhost", + "--scalar.db.contact_port=60053" + ], + } + } + } + ``` + + この設定は SQL モードを使用し、より効率的な単一ツールアプローチを提供するため、ScalarDB Cluster に推奨されます。 + +:::note + +**ScalarDB Cluster 設定** + +上記の設定は、MCP サーバーがクライアントとして ScalarDB Cluster に接続する方法を示しています。ScalarDB Cluster 自体は別途設定する必要があります。 + +例えば、マルチストレージサポート付きの ScalarDB Cluster 設定には以下が含まれます: + +```properties +scalar.db.transaction_manager=consensus-commit +scalar.db.storage=multi-storage +scalar.db.multi_storage.storages=cassandra,mysql +scalar.db.multi_storage.storages.cassandra.storage=cassandra +scalar.db.multi_storage.storages.cassandra.contact_points=localhost +scalar.db.multi_storage.storages.cassandra.username=cassandra +scalar.db.multi_storage.storages.cassandra.password=cassandra +scalar.db.multi_storage.storages.mysql.storage=jdbc +scalar.db.multi_storage.storages.mysql.contact_points=jdbc:mysql://localhost:3306/ +scalar.db.multi_storage.storages.mysql.username=root +scalar.db.multi_storage.storages.mysql.password=mysql +scalar.db.multi_storage.namespace_mapping=customer:mysql,order:cassandra,coordinator:cassandra +scalar.db.multi_storage.default_storage=cassandra + +scalar.db.sql.enabled=true + +# ライセンスキー設定 +scalar.db.cluster.node.licensing.license_key= +scalar.db.cluster.node.licensing.license_check_cert_pem= +``` + +完全な ScalarDB Cluster デプロイメントと設定手順については、[ScalarDB Cluster 設定](../scalardb-cluster/scalardb-cluster-configurations.mdx)を参照してください。マルチストレージでのハンズオンセットアップガイドについては、[マルチストレージトランザクションサンプル](../scalardb-samples/multi-storage-transaction-sample/README.mdx)を参照してください。 + +::: + + + MCP クライアント設定ファイルに以下を追加: + + ```json + { + "mcpServers": { + "scalardb": { + "command": "java", + "args": [ + "-jar", + "/path/to/scalardb-mcp-server-0.9.0.jar", + "--scalar.mcp.db.server.tool.mode=CRUD", + "--scalar.db.transaction_manager=consensus-commit", + "--scalar.db.storage=multi-storage", + "--scalar.db.multi_storage.storages=cassandra,mysql", + "--scalar.db.multi_storage.storages.cassandra.storage=cassandra", + "--scalar.db.multi_storage.storages.cassandra.contact_points=localhost", + "--scalar.db.multi_storage.storages.cassandra.username=cassandra", + "--scalar.db.multi_storage.storages.cassandra.password=cassandra", + "--scalar.db.multi_storage.storages.mysql.storage=jdbc", + "--scalar.db.multi_storage.storages.mysql.contact_points=jdbc:mysql://localhost:3306/", + "--scalar.db.multi_storage.storages.mysql.username=root", + "--scalar.db.multi_storage.storages.mysql.password=mysql", + "--scalar.db.multi_storage.namespace_mapping=customer:mysql,order:cassandra,coordinator:cassandra", + "--scalar.db.multi_storage.default_storage=cassandra" + ] + } + } + } + ``` + + この設定は CRUD モードを使用し、SQL インターフェースが含まれていないため、ScalarDB Core に必要です。 + +:::note + +上記の例では、マルチストレージ設定を示しています。その他の ScalarDB Core 設定オプションについては、[ScalarDB 設定](../configurations.mdx)を参照してください。 + +::: + + + + + + + +### ScalarDB MCP Server 設定 + +サーバー起動時に小文字のドット記法でコマンドライン引数を提供することで、MCP サーバーを設定します。 + +#### ScalarDB MCP Server 固有の設定 + +これらのプロパティは、ScalarDB MCP Server の動作を制御します: + +##### `scalar.mcp.db.server.tool.mode` + +- **プロパティ:** `scalar.mcp.db.server.tool.mode` +- **説明:** ツール可用性モード。 +- **デフォルト値:** `CRUD` +- **オプション:** `SQL`、`CRUD` + +##### `scalar.mcp.db.server.connection.health_check_interval_seconds` + +- **プロパティ:** `scalar.mcp.db.server.connection.health_check_interval_seconds` +- **説明:** ヘルスチェック間隔 (秒)。 +- **デフォルト値:** `30` +- **オプション:** 任意の正の整数値 + +##### `scalar.mcp.db.server.logging.file.name` + +- **プロパティ:** `scalar.mcp.db.server.logging.file.name` +- **説明:** ログファイルパスを指定してファイルロギングを有効にする。 +- **デフォルト値:** ファイルロギングなし +- **例:** `scalardb-mcp-server.log` + +##### `scalar.mcp.db.server.logging.level` + +- **プロパティ:** `scalar.mcp.db.server.logging.level` +- **説明:** MCP サーバーのロガーレベルを設定する。 +- **デフォルト値:** `INFO` +- **オプション:** `TRACE`、`DEBUG`、`INFO`、`WARN`、`ERROR` + +#### ScalarDB 接続設定 + +MCP サーバーは、ScalarDB デプロイメント (ScalarDB Cluster または ScalarDB Core) に接続するために ScalarDB クライアント設定プロパティを使用します。これらのプロパティは、小文字のドット記法でコマンドライン引数として渡されます。両方の接続タイプの完全な設定例については、上記のセットアップ例を参照してください。 + +## 使用可能なツール + +ScalarDB MCP Server は、専門的な MCP ツールを通じて包括的なデータベース操作を提供します。LLM は、自然言語リクエストに基づいて適切なツールを自動的に選択して使用します。 + +すべての使用可能な操作、パラメータ、例を含む完全なツールドキュメントについては、[ScalarDB MCP Server ツールリファレンス](./tools-reference.mdx)を参照してください。 + +## ScalarDB バージョン互換性 + +| ScalarDB MCP Server | ScalarDB Core | ScalarDB Cluster | Java バージョン | 備考 | +|-------------------|-------------------|------------------|--------------|--------| +| 0.9.x | 3.16+ | 3.16+ | 17+ | 初回リリース | diff --git a/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-mcp-server/tools-reference.mdx b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-mcp-server/tools-reference.mdx new file mode 100644 index 00000000..4c3a7f70 --- /dev/null +++ b/i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-mcp-server/tools-reference.mdx @@ -0,0 +1,102 @@ +--- +tags: + - Community + - Enterprise Standard + - Enterprise Premium +displayed_sidebar: docsJapanese +--- + +# ScalarDB MCP Server ツールリファレンス + +import TranslationBanner from '/src/components/_translation-ja-jp.mdx'; + + + +ScalarDB MCP Server は、20以上の専門的な MCP ツールを通じて包括的なデータベース操作を提供します。自然言語を使用して LLM と対話でき、LLM が自動的に適切なツールを選択して使用し、リクエストを満たします。これらのツールを理解することで、LLM があなたの代わりに実行できるデータベース操作を知ることができます。 + +## 接続ツール + +ScalarDB 接続ステータスと設定を監視および確認します。以下のツールは CRUD と SQL の両方のモードで使用できます。 + +| ツール | 説明 | +|------|-------------| +| `scalardb_connection_info` | 現在の接続ステータス、設定詳細、ヘルスチェック結果を取得。 | + +## スキーマ管理ツール + +ネームスペース、テーブル、インデックスを含むデータベース構造を作成、変更、検査します。以下のツールは CRUD モードで使用できます。 + +| ツール | 説明 | +|------|-------------| +| `scalardb_create_namespace` | テーブルを整理するための新しいネームスペース/キースペースを作成。 | +| `scalardb_drop_namespace` | 既存のネームスペースとそのすべてのテーブルを削除。 | +| `scalardb_list_namespaces` | データベース内の利用可能なすべてのネームスペースをリスト。 | +| `scalardb_create_table` | パーティションキー、クラスタリングキー、列を含む完全なスキーマ定義で新しいテーブルを作成。 | +| `scalardb_drop_table` | 既存のテーブルとそのすべてのデータを削除。 | +| `scalardb_truncate_table` | スキーマを保持したままテーブルからすべてのデータを削除。 | +| `scalardb_describe_table` | 列、キー、メタデータを含む詳細なテーブルスキーマを取得。 | +| `scalardb_list_tables` | 特定のネームスペース内のすべてのテーブルをリスト。 | +| `scalardb_add_new_column` | 既存のテーブルスキーマに新しい列を追加。 | +| `scalardb_create_index` | より高速なクエリのためにテーブル列にセカンダリインデックスを作成。 | +| `scalardb_drop_index` | 既存のセカンダリインデックスを削除。 | + +## CRUD 操作ツール + +細かい制御と型安全性のために ScalarDB Java Client SDK を使用してデータ操作操作を実行します。以下のツールは CRUD モードで使用できます。 + +| ツール | 説明 | +|------|-------------| +| `scalardb_get` | パーティションキー、クラスタリングキー、またはセカンダリインデックスを使用して特定のレコードを取得。 | +| `scalardb_scan` | 柔軟なフィルタリング、順序付け、ページネーション機能でレコードをスキャン。 | +| `scalardb_insert` | 自動競合検出で新しいレコードを挿入。 | +| `scalardb_update` | 条件付き操作で既存のレコードを更新。 | +| `scalardb_upsert` | 新しいレコードを挿入または既存のレコードを更新 (存在しない場合は挿入、存在する場合は更新)。 | +| `scalardb_delete` | プライマリキーまたは条件ロジックを使用してレコードを削除。 | + +## トランザクション管理ツール + +適切な分離と一貫性保証で ScalarDB Java Client SDK を使用して ACID トランザクションを制御します。CRUD モードで使用できます。 + +| ツール | 説明 | +|------|-------------| +| `scalardb_begin_transaction` | ACID 保証付きの新しい読み書きトランザクションを開始。 | +| `scalardb_begin_readonly_transaction` | クエリ用に最適化された読み取り専用トランザクションを開始。 | +| `scalardb_commit_transaction` | トランザクションをコミットし、すべての変更を永続化。 | +| `scalardb_rollback_transaction` | トランザクションをロールバックし、すべての変更を元に戻す。 | + +## SQL ツール (ScalarDB Cluster のみ) + +ScalarDB SQL インターフェースを通じて SQL コマンドを直接実行します。以下のツールは SQL モードで使用できます。 + +| ツール | 説明 | +|------|-------------| +| `scalardb_execute_sql` | 完全な SQL 構文サポートで SQL クエリを直接実行 (`SELECT`、`INSERT`、`UPDATE`、`DELETE`)。 | + +## コーディネータツール + +マルチデータベース一貫性のための分散トランザクションコーディネータテーブルを管理します。これらのツールは CRUD モードで使用できます。 + +| ツール | 説明 | +|------|-------------| +| `scalardb_create_coordinator_tables` | 分散トランザクションに必要なコーディネータテーブルを作成。 | +| `scalardb_drop_coordinator_tables` | 不要になったコーディネータテーブルを削除。 | +| `scalardb_truncate_coordinator_tables` | 構造を保持したままコーディネータテーブルをクリア。 | + +## モード別ツール可用性 + +選択した操作モードに応じて、異なるツールが使用できます。 + +### SQL モード + +- **接続ツール:** 接続ステータスとヘルスを監視。 +- **SQL ツール:** ScalarDB SQL インターフェースを通じて SQL クエリを直接実行。 +- **使用例:** SQL 構文を使用する場合の ScalarDB Cluster デプロイメントに最適。 + +### CRUD モード + +- **接続ツール:** 接続ステータスとヘルスを監視。 +- **スキーマ管理ツール:** ネームスペース、テーブル、インデックスを作成および管理。 +- **CRUD 操作ツール:** ScalarDB Java Client SDK でデータ操作を実行。 +- **トランザクション管理ツール:** プログラム的に ACID トランザクションを制御。 +- **コーディネータツール:** 分散トランザクション調整を管理。 +- **使用例:** ScalarDB Core に必要。 diff --git a/sidebars.js b/sidebars.js index 160be9bf..5a2cd633 100644 --- a/sidebars.js +++ b/sidebars.js @@ -1589,6 +1589,23 @@ const sidebars = { }, ], }, + { + type: 'category', + label: 'ScalarDB MCP Server', + collapsible: true, + items: [ + { + type: 'doc', + id: 'scalardb-mcp-server/getting-started-with-scalardb-mcp-server', + label: 'ScalarDB MCP Server を使用', + }, + { + type: 'doc', + id: 'scalardb-mcp-server/tools-reference', + label: 'ScalarDB MCP Server ツールリファレンス', + }, + ], + }, ], }, ], diff --git a/src/components/Cards/3.16.tsx b/src/components/Cards/3.16.tsx index 754266b2..ed217c45 100644 --- a/src/components/Cards/3.16.tsx +++ b/src/components/Cards/3.16.tsx @@ -30,13 +30,13 @@ const recentFeatures = [ }, { cell: 1, // Second cell - links: ['scalardb-cluster/getting-started-with-vector-search'], - labels: ['Getting Started with ScalarDB Cluster for Vector Search'] + links: ['scalardb-mcp-server/getting-started-with-scalardb-mcp-server'], + labels: ['Getting Started with ScalarDB MCP Server'] }, { cell: 2, // Third cell - links: ['scalardb-cluster/encrypt-data-at-rest'], - labels: ['Encrypt Data at Rest'] + links: ['scalardb-cluster/getting-started-with-vector-search'], + labels: ['Getting Started with ScalarDB Cluster for Vector Search'] } ] } diff --git a/src/components/Cards/ja-jp/3.16.tsx b/src/components/Cards/ja-jp/3.16.tsx index 8c09f3e1..7fbc1bc9 100644 --- a/src/components/Cards/ja-jp/3.16.tsx +++ b/src/components/Cards/ja-jp/3.16.tsx @@ -30,13 +30,13 @@ const recentFeatures = [ }, { cell: 1, // Second cell - links: ['scalardb-cluster/getting-started-with-vector-search'], - labels: ['ScalarDB Cluster でベクトル検索をはじめよう'] + links: ['scalardb-mcp-server/getting-started-with-scalardb-mcp-server'], + labels: ['ScalarDB MCP Server をはじめよう'] }, { cell: 2, // Third cell - links: ['scalardb-cluster/authorize-with-abac'], - labels: ['ユーザーアクセスをきめ細かく制御する'] + links: ['scalardb-cluster/getting-started-with-vector-search'], + labels: ['ScalarDB Cluster でベクトル検索をはじめよう'] } ] } diff --git a/src/data/notifications.js b/src/data/notifications.js index 757e34ad..a8ad97ef 100644 --- a/src/data/notifications.js +++ b/src/data/notifications.js @@ -14,23 +14,23 @@ const notificationsList = [ // }, { message: { - en: 'Replicate data for high availability in ScalarDB 3.16', - ja: 'ScalarDB 3.16 でのデータの高可用性のためのレプリケーション' + en: 'Query databases by using natural language with ScalarDB MCP Server', + ja: 'ScalarDB MCP Server を使用して自然言語でデータベースをクエリする' }, url: { - en: 'scalardb-cluster/remote-replication?utm_source=docs-site&utm_medium=notifications', - ja: 'scalardb-cluster/remote-replication?utm_source=docs-site&utm_medium=notifications' + en: 'scalardb-mcp-server/getting-started-with-scalardb-mcp-server?utm_source=docs-site&utm_medium=notifications', + ja: 'scalardb-mcp-server/getting-started-with-scalardb-mcp-server?utm_source=docs-site&utm_medium=notifications' }, unread: true }, { message: { - en: 'Support for IBM Db2 has been added in ScalarDB 3.16', - ja: 'ScalarDB 3.15 できめ細かなユーザーアクセス制御のサポートが追加されました' + en: 'Replicate data for high availability in ScalarDB 3.16', + ja: 'ScalarDB 3.16 で高可用性のためのデータレプリケーションを行う' }, url: { - en: 'requirements?RDBs=Db2#relational-databases?utm_source=docs-site&utm_medium=notifications', - ja: 'scalardb-cluster/getting-started-with-vector-search?RDBs=Db2#リレーショナルデータベース?utm_source=docs-site&utm_medium=notifications' + en: 'scalardb-cluster/remote-replication?utm_source=docs-site&utm_medium=notifications', + ja: 'scalardb-cluster/remote-replication?utm_source=docs-site&utm_medium=notifications' }, unread: true },