Skip to main content
Tools are typically connected to agent components at the Tools port. Agents use LLMs as a reasoning engine to decide which of the connected tool components to use to solve a problem. Tools in agentic functions are, essentially, functions that the agent can call to perform tasks or access external resources. A function is wrapped as a Tool object, with a common interface the agent understands. Agents become aware of tools through tool registration, where the agent is provided a list of available tools, typically at agent initialization. The Tool object’s description tells the agent what the tool can do. The agent then uses a connected LLM to reason through the problem to decide which tool is best for the job.

Use a tool in a flow

Tools are typically connected to agent components at the Tools port. The simple agent starter project uses URL and Calculator tools connected to an agent component to answer a user’s questions. The OpenAI LLM acts as a brain for the agent to decide which tool to use. Simple Agent(1) Pn To make a component into a tool that an agent can use, enable Tool Mode in the component. Enabling tool mode modifies a component input to accept calls from an agent. If the component you want to connect to an agent doesn’t have a Tool Mode option, you can modify the component’s inputs to become a tool.

arXiv

This component searches and retrieves papers from arXiv.org.
Inputs
NameTypeDescription
search_queryStringThe search query for arXiv papers. For example, quantum computing.
search_typeStringThe field to search in.
max_resultsIntegerThe maximum number of results to return.
Outputs
NameTypeDescription
papersList[Data]A list of retrieved arXiv papers.

Astra DB tool

This component allows agents to query data from Astra DB collections. To use this tool in a flow, connect it to an Agent component. The flow looks like this: Tool Astral DB Pn The Tool Name and Tool Description fields are required for the Agent to decide when to use the tool. Tool Name cannot contain spaces. The values for Collection Name, Astra DB Application Token, and Astra DB API Endpoint are found in your Astra DB deployment. For more information, see the DataStax documentation. In this example, an OpenAI embeddings component is connected to use the Astra DB tool component’s Semantic Search capability. To use Semantic Search, you must have an embedding model or Astra DB Vectorize enabled. If you try to run the flow without an embedding model, you will get an error. Open the Playground and ask a question about your data. The Agent uses the Astra DB Tool to return information about your collection.

Define Astra DB tool parameters

The Tool Parameters configuration pane allows you to define parameters for filter conditions for the component’s Find command. These filters become available as parameters that the LLM can use when calling the tool, with a better understanding of each parameter provided by the Description field.
  1. To define a parameter for your query, in the Tool Parameters pane, click Add a new row.
  2. Complete the fields based on your data. For example, with this filter, the LLM can filter by unique customer_id values.
  • Name: customer_id
  • Attribute Name: Leave empty if the attribute matches the field name in the database.
  • Description: "The unique identifier of the customer to filter by".
  • Is Metadata: False unless the value is stored in the metadata field.
  • Is Mandatory: True to require this filter.
  • Is Timestamp: False since the value is an ID, not a timestamp.
  • Operator: $eq to look for an exact match.
If you want to apply filters regardless of the LLM’s input, use the Static Filters option, which is available in the component’s Controls pane.
ParameterDescription
NameThe name of the parameter that is exposed to the LLM. It can be the same as the underlying field name or a more descriptive label. The LLM uses this name, along with the description, to infer what value to provide during execution.
Attribute NameWhen the parameter name shown to the LLM differs from the actual field or property in the database, use this setting to map the user-facing name to the correct attribute. For example, to apply a range filter to the timestamp field, define two separate parameters, such as start_date and end_date, that both reference the same timestamp attribute.
DescriptionProvides instructions to the LLM on how the parameter should be used. Clear and specific guidance helps the LLM provide valid input. For example, if a field such as specialty is stored in lowercase, the description should indicate that the input must be lowercase.
Is MetadataWhen loading data using LangChain or LLM Controls, additional attributes may be stored under a metadata object. If the target attribute is stored this way, enable this option. It adjusts the query by generating a filter in the format: {"metadata.<attribute_name>": "<value>"}
Is TimestampFor date or time-based filters, enable this option to automatically convert values to the timestamp format that the Astrapy client expects. This ensures compatibility with the underlying API without requiring manual formatting.
OperatorDefines the filtering logic applied to the attribute. You can use any valid Data API filter operator. For example, to filter a time range on the timestamp attribute, use two parameters: one with the $gt operator for “greater than”, and another with the $lt operator for “less than”.
Inputs
NameTypeDescription
Tool NameStringThe name used to reference the tool in the agent’s prompt.
Tool DescriptionStringA brief description of the tool. This helps the model decide when to use it.
Collection NameStringThe name of the Astra DB collection to query.
TokenSecretStringThe authentication token for accessing Astra DB.
API EndpointStringThe Astra DB API endpoint.
Projection FieldsStringThe attributes to return, separated by commas. The default is *.
Tool ParametersDictParameters the model needs to fill to execute the tool. For required parameters, use an exclamation mark, for example !customer_id.
Static FiltersDictAttribute-value pairs used to filter query results.
LimitStringThe number of documents to return.
OutputsThe Data output is used when directly querying Astra DB, while the Tool output is used when integrating with agents.
NameTypeDescription
DataList[Data]A list of Data objects containing the query results from Astra DB. Each Data object contains the document fields specified by the projection attributes. Limited by the number_of_results parameter.
ToolStructuredToolA LangChain StructuredTool object that can be used in agent workflows. Contains the tool name, description, argument schema based on tool parameters, and the query function.

Astra DB CQL Tool

The Astra DB CQL Tool allows agents to query data from CQL tables in Astra DB.
Inputs
NameTypeDescription
Tool NameStringThe name used to reference the tool in the agent’s prompt.
Tool DescriptionStringA brief description of the tool to guide the model in using it.
KeyspaceStringThe name of the keyspace.
Table NameStringThe name of the Astra DB CQL table to query.
TokenSecretStringThe authentication token for Astra DB.
API EndpointStringThe Astra DB API endpoint.
Projection FieldsStringThe attributes to return, separated by commas. Default: ”*”.
Partition KeysDictRequired parameters that the model must fill to query the tool.
Clustering KeysDictOptional parameters the model can fill to refine the query. Required parameters should be marked with an exclamation mark, for example, !customer_id.
Static FiltersDictAttribute-value pairs used to filter query results.
LimitStringThe number of records to return.
Outputs
NameTypeDescription
DataList[Data]A list of Data objects containing the query results from the Astra DB CQL table. Each Data object contains the document fields specified by the projection fields. Limited by the number_of_results parameter.
ToolStructuredToolA LangChain StructuredTool object that can be used in agent workflows. Contains the tool name, description, argument schema based on partition and clustering keys, and the query function.

Bing Search API

This component allows you to call the Bing Search API.
Inputs
NameTypeDescription
bing_subscription_keySecretStringA Bing API subscription key.
input_valueStringThe search query input.
bing_search_urlStringA custom Bing Search URL.
kIntegerThe number of search results to return.
Outputs
NameTypeDescription
resultsList[Data]A list of search results.
toolToolA Bing Search tool for use in LangChain.

Combinatorial Reasoner

This component runs Icosa’s Combinatorial Reasoning (CR) pipeline on an input to create an optimized prompt with embedded reasons. For more information, see Icosa computing.
Inputs
NameTypeDescription
promptStringThe input to run CR on.
openai_api_keySecretStringAn OpenAI API key for authentication.
usernameStringA username for Icosa API authentication.
passwordSecretStringA password for Icosa API authentication.
model_nameStringThe OpenAI LLM to use for reason generation.
Outputs
NameTypeDescription
optimized_promptMessageA message object containing the optimized prompt.
reasonsList[String]A list of the selected reasons that are embedded in the optimized prompt.

This component performs web searches using the DuckDuckGo search engine with result-limiting capabilities.
Inputs
NameTypeDescription
input_valueStringThe search query to execute with DuckDuckGo.
max_resultsIntegerThe maximum number of search results to return. Default: 5.
max_snippet_lengthIntegerThe maximum length of each result snippet. Default: 100.
Outputs
NameTypeDescription
dataList[Data]A list of search results as Data objects containing snippets and full content.
textStringThe search results formatted as a single text string.
This component provides an Exa Search toolkit for search and content retrieval.
Inputs
NameTypeDescription
metaphor_api_keySecretStringAn API key for Exa Search.
use_autopromptBooleanWhether to use the autoprompt feature. Default: true.
search_num_resultsIntegerThe number of results to return for search. Default: 5.
similar_num_resultsIntegerThe number of similar results to return. Default: 5.
Outputs
NameTypeDescription
toolsList[Tool]A list of search tools provided by the toolkit.

Glean Search API

This component allows you to call the Glean Search API.
Inputs
NameTypeDescription
glean_api_urlStringThe URL of the Glean API.
glean_access_tokenSecretStringAn access token for Glean API authentication.
queryStringThe search query input.
page_sizeIntegerThe number of results per page. Default: 10.
request_optionsDictAdditional options for the API request.
Outputs
NameTypeDescription
resultsList[Data]A list of search results.
toolToolA Glean Search tool for use in LangChain.

Google Serper API

This component allows you to call the Serper.dev Google Search API.
Inputs
NameTypeDescription
serper_api_keySecretStringAn API key for Serper.dev authentication.
input_valueStringThe search query input.
kIntegerThe number of search results to return.
Outputs
NameTypeDescription
resultsList[Data]A list of search results.
toolToolA Google Serper search tool for use in LangChain.

MCP connection

The MCP connection component exposes Model Context Protocol (MCP) servers, including your other flows, as tools for LLM Controls agents.MCP consists of parameters Such as :
  1. MODE: studio, sse
  2. MCP SSE URL: uvx mcp-server-fetch (example command)
  3. Tools

Wikidata

This component performs a search using the Wikidata API.
Inputs
NameTypeDescription
queryStringThe text query for similarity search on Wikidata.
Outputs
NameTypeDescription
dataList[Data]The search results from Wikidata API as a list of Data objects.
textMessageThe search results formatted as a text message.