Skip to main content
Version: 0.12.0

Tools

Introduced 0.5.0

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.

ToolDescription
AgentToolRuns another agent by its agent ID.
CatIndexToolRetrieves detailed index information for the Lucenia cluster (health, status, document counts, and store sizes).
ConnectorToolInvokes an external service through a configured connector.
IndexMappingToolRetrieves mapping and setting information for one or more indexes.
ListIndexToolLists the indexes in the cluster, along with their health, status, and document counts.
McpSseToolInvokes 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.
MLModelToolRuns any deployed machine learning model by its model ID.
QueryPlanningToolTurns a natural-language question into a Lucenia query (query DSL) using an LLM.
RAGToolRetrieves with a k-NN search, then asks a generation model to answer using the retrieved context.
ReadFromScratchPadToolReads back the notes an agent saved to its per-conversation scratchpad.
SearchIndexToolSearches an index using a query written in query domain-specific language (DSL).
VectorDBToolEmbeds your query text and runs a k-NN search, returning the matching documents as context.
VisualizationToolFinds saved visualizations by matching a search term against their titles.
WriteToScratchPadToolSaves a short note to an agent's per-conversation scratchpad for later recall.
note

Two names in the shipped ML Commons module differ from the type you write in a request:

  • The class VisualizationsTool registers the type VisualizationTool (no s). Always use the type.
  • McpSseTool is 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).