Tools
A tool performs a set of specific tasks. The following table lists all tools that Lucenia supports.
Specify a tool by providing its type, parameters, and, optionally, a description. For example, you can specify an AgentTool as follows:
{
"type": "AgentTool",
"description": "A general agent to answer any question",
"parameters": {
"agent_id": "9X7xWI0Bpc3sThaJdY9i"
}
}
Each tool takes a list of parameters specific to that tool. In the preceding example, the AgentTool takes an agent_id of the agent it will run. For a list of parameters, see each tool's documentation.
To list the tools registered on a running cluster — the authoritative inventory for the version you are on — use the List Tools API:
GET /_plugins/_ml/tools
The response contains the name, type, description, and version of every registered tool type.
| Tool | Description |
|---|---|
AgentTool | Runs another agent by its agent ID. |
CatIndexTool | Retrieves detailed index information for the Lucenia cluster (health, status, document counts, and store sizes). |
ConnectorTool | Invokes an external service through a configured connector. |
IndexMappingTool | Retrieves mapping and setting information for one or more indexes. |
ListIndexTool | Lists the indexes in the cluster, along with their health, status, and document counts. |
McpSseTool | Invokes a tool hosted on a remote Model Context Protocol (MCP) server. Registered by the cluster when an MCP connector discovers the remote tool rather than declared directly. See Using MCP tools. |
MLModelTool | Runs any deployed machine learning model by its model ID. |
QueryPlanningTool | Turns a natural-language question into a Lucenia query (query DSL) using an LLM. |
RAGTool | Retrieves with a k-NN search, then asks a generation model to answer using the retrieved context. |
ReadFromScratchPadTool | Reads back the notes an agent saved to its per-conversation scratchpad. |
SearchIndexTool | Searches an index using a query written in query domain-specific language (DSL). |
VectorDBTool | Embeds your query text and runs a k-NN search, returning the matching documents as context. |
VisualizationTool | Finds saved visualizations by matching a search term against their titles. |
WriteToScratchPadTool | Saves a short note to an agent's per-conversation scratchpad for later recall. |
Two names in the shipped ML Commons module differ from the type you write in a request:
- The class
VisualizationsToolregisters the typeVisualizationTool(nos). Always use the type. McpSseToolis a registered type, but it only functions once bound to an MCP client, so it does not appear in the MCP built-in tool registry while unbound.
For the tool surface alongside the ingest and search processor surfaces, see the Tools and processors reference.
Developer information
The agents and tools framework is flexible and extensible. The built-in tools ship with the ML Commons module (modules/ml-common/src/main/java/io/lucenia/ml/common/engine/tools). For a different use case, you can build your own tool by implementing the Tool interface (libs/ml/src/main/java/io/skylite/ml/common/engine/tools/Tool.java).