Configure Cassandra MCP Backend and Tools — DRAFT

Cassandra MCP Backend

To create a Backend for MCP Virtual Server go to MCP Virtual Server details page and click “Create Backend”

Cassandra backend allows configuration of MCP tools operating on data in an Instaclustr Cassandra cluster.

Specify the name for the backend, note that this name will be prepended to all the tools configured for this backend.

Provide a Cassandra Cluster Data Center ID and credentials that MCP Gateway will use to authenticate to the Cassandra cluster. Follow Creating an Apache Cassandra Cluster to create a Cassandra cluster, and Apache Cassandra Database Roles on how to create a Cassandra role and ensure the role has only the privileges required. Additionally follow Connect to an Apache Cassandra Cluster to connect to a Cassandra cluster. 

If the Cassandra cluster is a Private Network cluster or you want the MCP Gateway to use private networking to communicate with the Cassandra cluster consider enabling “Create a network peering connection” and “Use private network” options.

Rate limits can also be set on the backend during and after creation. Configuration is specified for a token-bucket approach using a throughput of requests per time unit and a maximum burst size. We strongly recommend setting a rate limit on your backend, however it is not required. Leaving the form fields blank will not set any rate limit.

To create Cassandra tools go to Cassandra backend details page and click “Create Tool” 

Cassandra Query Tool

Cassandra Query Tool will execute a pre-configured Cassandra Query Language (CQL) statement on your Cassandra cluster.

Specify the name and description for the tool. These should provide information about the tool’s intended use and effects.

Specify the CQL statement for the tool to execute. Use :paramName syntax to mark bind variables that the AI agent will supply at call time (e.g. SELECT customerId, orders FROM customers.orders WHERE customerId = :customerId).

User authentication JWT claims can be incorporated into the CQL statement by using the following syntax: SELECT customerId, orders FROM customers.orders WHERE customerId = :{jtw.sub}, where code inside :{...} uses Common Expression Language and has access to User’s JWT claims via jwt object.

Optionally specify parameters to declare the bind variables referenced in the CQL template. Multiple parameters can be configured with the “Add Parameter” button. Specify how the parameter is passed to the template CQL statement, the parameter type and an optional description.

Parameters are also available inside :{...} Common Expression Language via args object (e.g. SELECT customerId, orders FROM customers.orders WHERE customerId = :{args.customerId}).

Optionally specify result fields to declare the columns returned by a CQL statement. Multiple result fields can be configured with the “Add Result Field” button. Specify how the result field is returned from the template CQL statement and passed to the MCP client, the result field type and an optional description.

You can optionally specify a rate limit for the tool configured as a token-bucket using a throughput of requests per time unit and a maximum burst size. If the backend also has a rate limit and is less permissive, it will take precedence over the tool rate limit. Leaving the form fields blank will not set any rate limit.