Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,23 @@ At its core, ScalarDB MCP Server provides the following capabilities.

### ScalarDB connectivity

The MCP server connects to your ScalarDB deployment (either ScalarDB Cluster or ScalarDB direct-to-database mode) and handles all technical complexity while providing AI assistants with simple, standardized tools.
The MCP server internally uses the ScalarDB Core library or connects to your ScalarDB Cluster through the client library, depending on settings. This means users don't need to know how to use the libraries to interact with ScalarDB.

### Transactional operations

ScalarDB MCP Server supports ACID-compliant transactions, allowing an LLM to execute multiple operations safely. When the LLM determines that operations should be grouped together, the MCP server ensures the operations either all succeed or all fail together, maintaining data integrity across your databases.

### Operational mode

ScalarDB MCP Server supports two operational modes that match your ScalarDB deployment type: SQL mode and CRUD mode.
ScalarDB MCP Server supports two operational modes that match your ScalarDB component: SQL mode and CRUD mode.

#### SQL mode

SQL mode with ScalarDB Cluster provides a SQL interface for database operations. When you make natural language requests, the LLM automatically generates and executes SQL commands through the supported SQL operations in ScalarDB and handles transactions by using standard SQL syntax (`BEGIN`, `COMMIT`, `ROLLBACK`). This mode could be more efficient because the LLM only needs to use one tool to perform all operations.
SQL mode with ScalarDB Cluster provides a SQL interface for database operations. When you make natural language requests, the LLM automatically generates and executes SQL commands through the supported SQL operations in ScalarDB and handles transactions by using standard SQL syntax (`BEGIN`, `COMMIT`, `ROLLBACK`). This mode could be more efficient because the LLM only needs to use one tool to perform all operations. SQL mode is available only with ScalarDB Cluster.

#### CRUD mode

CRUD mode with ScalarDB Core is for when you prefer programmatic control over your operations. Since ScalarDB Core doesn't include the SQL interface, this mode uses the native SDK operations in ScalarDB instead. The LLM converts your natural language requests into appropriate SDK calls by using individual tools for schema management, CRUD operations, and explicit transaction control. This mode could be less efficient because the LLM has to work with multiple tools to complete operations.
CRUD mode is used when you want programmatic control over your operations. Since ScalarDB Core doesn't include the SQL interface, this mode uses the native SDK operations in ScalarDB instead. The LLM converts your natural language requests into appropriate SDK calls by using individual tools for schema management, CRUD operations, and explicit transaction control. This mode could be less efficient because the LLM has to work with multiple tools to complete operations.

### Deployment limitations

Expand Down Expand Up @@ -99,7 +99,7 @@ The LLM automatically selects the appropriate tools based on your request—you

## Tutorial

The following configuration samples use the same Cassandra and MySQL multi-storage configuration as our [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/). You can follow that hands-on tutorial to set up your databases, then use the same setup to test the MCP server with this tutorial.
The following configuration samples use the same Cassandra and MySQL multi-storage configuration as the [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/README.mdx). You can follow that hands-on tutorial to set up your databases, then use the same setup to test the MCP server with this tutorial.

Configurations may vary depending on your specific MCP client and database environment. Refer to your MCP client's documentation for detailed setup instructions on how to add a connection to an MCP server.

Expand Down Expand Up @@ -185,7 +185,7 @@ scalar.db.cluster.node.licensing.license_key=
scalar.db.cluster.node.licensing.license_check_cert_pem=
```

For complete ScalarDB Cluster deployment and configuration instructions, see [ScalarDB Cluster Configurations](../scalardb-cluster/scalardb-cluster-configurations/). For a hands-on setup guide with multi-storage, see the [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/).
For complete ScalarDB Cluster deployment and configuration instructions, see [ScalarDB Cluster Configurations](../scalardb-cluster/scalardb-cluster-configurations.mdx). For a hands-on setup guide with multi-storage, see the [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/README.mdx).

:::

Expand Down Expand Up @@ -225,7 +225,7 @@ Docker flags:

:::note

The example above demonstrates a multi-storage configuration. For other ScalarDB Core configuration options, see [ScalarDB Configurations](../configurations/).
The example above demonstrates a multi-storage configuration. For other ScalarDB Core configuration options, see [ScalarDB Configurations](../configurations.mdx).

:::

Expand All @@ -234,7 +234,7 @@ The example above demonstrates a multi-storage configuration. For other ScalarDB
Docker flags:

- `--rm`: Required to automatically remove the container after the MCP client disconnects
- `--name`: Required to prevent ghost container instances from accumulating
- `--name`: Required to prevent dangling container instances from accumulating

:::
</TabItem>
Expand All @@ -253,7 +253,7 @@ Docker flags:
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=indirect:localhost \
--scalar.db.transaction_manager=cluster \
--scalar.db.contact_points=indirect:localhost \
--scalar.db.contact_port=60053
```
Expand Down Expand Up @@ -290,7 +290,7 @@ scalar.db.cluster.node.licensing.license_key=
scalar.db.cluster.node.licensing.license_check_cert_pem=
```

For complete ScalarDB Cluster deployment and configuration instructions, see [ScalarDB Cluster Configurations](../scalardb-cluster/scalardb-cluster-configurations/). For a hands-on setup guide with multi-storage, see the [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/).
For complete ScalarDB Cluster deployment and configuration instructions, see [ScalarDB Cluster Configurations](../scalardb-cluster/scalardb-cluster-configurations.mdx). For a hands-on setup guide with multi-storage, see the [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/README.mdx).

:::
</TabItem>
Expand Down Expand Up @@ -320,7 +320,7 @@ For complete ScalarDB Cluster deployment and configuration instructions, see [Sc

:::note

The example above demonstrates a multi-storage configuration. For other ScalarDB Core configuration options, see [ScalarDB Configurations](../configurations/).
The example above demonstrates a multi-storage configuration. For other ScalarDB Core configuration options, see [ScalarDB Configurations](../configurations.mdx).

:::
</TabItem>
Expand Down Expand Up @@ -400,7 +400,7 @@ scalar.db.cluster.node.licensing.license_key=
scalar.db.cluster.node.licensing.license_check_cert_pem=
```

For complete ScalarDB Cluster deployment and configuration instructions, see [ScalarDB Cluster Configurations](../scalardb-cluster/scalardb-cluster-configurations/). For a hands-on setup guide with multi-storage, see the [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/).
For complete ScalarDB Cluster deployment and configuration instructions, see [ScalarDB Cluster Configurations](../scalardb-cluster/scalardb-cluster-configurations.mdx). For a hands-on setup guide with multi-storage, see the [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/README.mdx).

:::

Expand All @@ -409,7 +409,7 @@ For complete ScalarDB Cluster deployment and configuration instructions, see [Sc
**Docker flags**

- `--rm`: Required to automatically remove the container after the MCP client disconnects
- `--name`: Required to prevent ghost container instances from accumulating
- `--name`: Required to prevent dangling container instances from accumulating

:::
</TabItem>
Expand Down Expand Up @@ -451,7 +451,7 @@ For complete ScalarDB Cluster deployment and configuration instructions, see [Sc

:::note

The example above demonstrates a multi-storage configuration. For other ScalarDB Core configuration options, see [ScalarDB Configurations](../configurations/).
The example above demonstrates a multi-storage configuration. For other ScalarDB Core configuration options, see [ScalarDB Configurations](../configurations.mdx).

:::

Expand All @@ -460,7 +460,7 @@ The example above demonstrates a multi-storage configuration. For other ScalarDB
**Docker flags**

- `--rm`: Required to automatically remove the container after the MCP client disconnects
- `--name`: Required to prevent ghost container instances from accumulating
- `--name`: Required to prevent dangling container instances from accumulating

:::
</TabItem>
Expand All @@ -483,10 +483,10 @@ The example above demonstrates a multi-storage configuration. For other ScalarDB
"args": [
"-jar",
"/path/to/scalardb-mcp-server-0.9.0.jar",
"--scalar.mcp.db.server.tool.mode=SQL"
"--scalar.mcp.db.server.tool.mode=SQL",
"--scalar.db.transaction_manager=cluster",
"--scalar.db.contact_points=indirect:localhost",
"--scalar.db.contact_port=60053",
"--scalar.db.contact_port=60053"
],
}
}
Expand Down Expand Up @@ -525,7 +525,7 @@ scalar.db.cluster.node.licensing.license_key=
scalar.db.cluster.node.licensing.license_check_cert_pem=
```

For complete ScalarDB Cluster deployment and configuration instructions, see [ScalarDB Cluster Configurations](../scalardb-cluster/scalardb-cluster-configurations/). For a hands-on setup guide with multi-storage, see the [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/).
For complete ScalarDB Cluster deployment and configuration instructions, see [ScalarDB Cluster Configurations](../scalardb-cluster/scalardb-cluster-configurations.mdx). For a hands-on setup guide with multi-storage, see the [Multi-Storage Transaction Sample](../scalardb-samples/multi-storage-transaction-sample/README.mdx).

:::
</TabItem>
Expand Down Expand Up @@ -564,7 +564,7 @@ For complete ScalarDB Cluster deployment and configuration instructions, see [Sc

:::note

The example above demonstrates a multi-storage configuration. For other ScalarDB Core configuration options, see [ScalarDB Configurations](../configurations/).
The example above demonstrates a multi-storage configuration. For other ScalarDB Core configuration options, see [ScalarDB Configurations](../configurations.mdx).

:::
</TabItem>
Expand Down