Chapter 9. Integrating Volt Active Data with AI Agents and Chatbots

It is possible to code entire VoltDB client applications using AI chatbots. Skills improve the results of such work by providing the AI agent focused knowledge and instructions about Volt products and features. It is also possible to include the contents and status of an existing VoltDB database in your AI queries via a Model Content Protocol (MCP) server. To help make developing applications faster and analyzing running databases easier, Volt Active Data provides both types of AI resources:

  • Agent Skills teach an AI coding agent about specific functions — such as application development or database administration — by providing information and instructions related to using Volt Active Data products.

  • An MCP Server provides AI agents controlled access to a running VoltDB database.

Perhaps the simplest way to think about these resources is that skills teach your AI agent about the VoltDB software while the MCP server gives your AI agent access to the contents and status of a specific VoltDB database. So you can use agent skills to develop Volt applications or to write operational scripts for setting up and maintaining the software. Once the database application is running, the AI agent can use the MCP server to query and analyze the running database, its contents, and its performance.

The following sections describe each of these features and how to install and use them effectively. For demonstration purposes, the examples use Claude Code as the AI agent. The specific commands and syntax may vary from agent to agent, but the general principles remain the same no matter which agent you use.

9.1. Volt Agent Skills

Agent skills enhance an AI agent by providing instructions and accurate information about specific topics. By narrowing the focus, skills both increase the accuracy of the responses and reduce the AI "credits" required to achieve those results.

Volt provides a number of agent skills specific to Volt products' capabilities and usage. These skills are provided free of charge under an MIT license in the git repository https://github.com/VoltDB/volt-skills. Table 9.1, “Volt Agent Skills” lists the initial skills that are available. Be sure to check the repository README for the latest information concerning new skills and updates.

Table 9.1. Volt Agent Skills

SkillPurpose
voltdb-developmentFor creating complete VoltDB client applications from scratch or enhancing existing applications. Supports optimizing the partitioning, defining database schemas and stored procedures, as well as creating integration tests.
voltdb-kubernetesFor creating Helm charts and deployment scripts to deploy VoltDB databases on Kubernetes.
voltspFor building, testing, and troubleshooting Volt Stream Processing pipelines using Java or YAML. Includes the information needed for deploying either on bare metal (CLI) or Kubernetes.

9.1.1. Installing Volt Skills

How you install a skill can vary depending on which vendor's agent or LLM you are using. (See the resources at https://agentskills.io/ and https://skills.sh for industry information about agent skills, how they work, and how you can use them.) For Claude Code, you add skills to your sessions by copying the skills directory into the folder ~/.claude/skills in your top level directory. You can either download the individual skills directories from github, or clone the repository and copy the skills directly from there. For example, the following example installs the skills voltdb-development, voltdb-kubernetes, and voltsp from a clone of the public repo:

$ cd ~/workspace/
$ git clone https://github.com/VoltDB/volt-skills/
$ cp -r volt-skills/voltdb-development ~/.claude/skills/
$ cp -r volt-skills/voltdb-kubernetes ~/.claude/skills/
$ cp -r volt-skills/voltsp ~/.claude/skills/

9.1.2. Using Volt Skills Effectively

Once you have the skills installed in the ~/.claude/skills folder, they are ready to use. The AI agent will decide whether to apply the skills in part or in total based on the proximity of the request to the description of the skill. So, for example, if your prompt asks to develop "a VoltDB application" the agent may choose to apply the voltdb-development skill. But in this case, the decision to apply a skill or not is up to the agent.

If, on the other hand, you know you want to use a skill you can explicitly invoke it by typing a slash (/) followed by the skill's name on the Claude Code command line. This way even if you simply say "create an application" without specifying VoltDB, the agent will prioritize the named skill over other options during its processing of the prompt. When you explicitly invoke a skill, it stays in effect for the remainder of the coding session.

For example, coding agents are usually designed to work with a code management repository, like git. So to explicitly start using an agent skill with Claude Code you first set default to your git workspace, start the Claude command line, then invoke the skill by typing its name preceded by a slash (/) . (Alternately, you can pick the skill from a pull down list of the installed skills the command line provides.) For example, to start development of a VoltDB application, you might type the following:

$ cd ~/workspace/ddosapp 
$ claude
> /voltdb-development

Once you invoke the skill, the agent uses the knowledge and instructions from the skill to respond to your prompts. For example, if you want to create an application for detecting DDoS attacks using VoltDB, you might start with a prompt like the following:

$ cd ~/workspace/ddosapp 
$ claude
> /voltdb-development
> Generate a Real-time DDoS detection application, that can do: Detection rules:
  ▎ 1. Block IP if >N requests to same domain within 1 second (N configured per domain)
  ▎ 2. Block IP if >1000 total requests across all domains within 1 second

Note that explicitly invoking skills only applies to the current Claude session. If you end the coding session, then return to it later by restarting Claude and still want to use the skill explicitly, you need to reinvoke the skill after you restart Claude:

$ claude
> /voltdb-development