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..png?fit=max&auto=format&n=9PuWEwunOBJ8KxNm&q=85&s=44640a56acb168b190ee551b29b33392)
arXiv
This component searches and retrieves papers from arXiv.org.Parameters
Parameters
Inputs
Outputs
| Name | Type | Description |
|---|---|---|
| search_query | String | The search query for arXiv papers. For example, quantum computing. |
| search_type | String | The field to search in. |
| max_results | Integer | The maximum number of results to return. |
| Name | Type | Description |
|---|---|---|
| papers | List[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:
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.- To define a parameter for your query, in the Tool Parameters pane, click Add a new row.
- Complete the fields based on your data. For example, with this filter, the LLM can filter by unique
customer_idvalues.
- 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:
Falseunless the value is stored in the metadata field. - Is Mandatory:
Trueto require this filter. - Is Timestamp:
Falsesince the value is an ID, not a timestamp. - Operator:
$eqto look for an exact match.
| Parameter | Description |
|---|---|
| Name | The 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 Name | When 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. |
| Description | Provides 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 Metadata | When 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 Timestamp | For 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. |
| Operator | Defines 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”. |
Parameters
Parameters
Inputs
OutputsThe Data output is used when directly querying Astra DB, while the Tool output is used when integrating with agents.
| Name | Type | Description |
|---|---|---|
| Tool Name | String | The name used to reference the tool in the agent’s prompt. |
| Tool Description | String | A brief description of the tool. This helps the model decide when to use it. |
| Collection Name | String | The name of the Astra DB collection to query. |
| Token | SecretString | The authentication token for accessing Astra DB. |
| API Endpoint | String | The Astra DB API endpoint. |
| Projection Fields | String | The attributes to return, separated by commas. The default is *. |
| Tool Parameters | Dict | Parameters the model needs to fill to execute the tool. For required parameters, use an exclamation mark, for example !customer_id. |
| Static Filters | Dict | Attribute-value pairs used to filter query results. |
| Limit | String | The number of documents to return. |
| Name | Type | Description |
|---|---|---|
| Data | List[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. |
| Tool | StructuredTool | A 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
TheAstra DB CQL Tool allows agents to query data from CQL tables in Astra DB.
Parameters
Parameters
Inputs
Outputs
| Name | Type | Description |
|---|---|---|
| Tool Name | String | The name used to reference the tool in the agent’s prompt. |
| Tool Description | String | A brief description of the tool to guide the model in using it. |
| Keyspace | String | The name of the keyspace. |
| Table Name | String | The name of the Astra DB CQL table to query. |
| Token | SecretString | The authentication token for Astra DB. |
| API Endpoint | String | The Astra DB API endpoint. |
| Projection Fields | String | The attributes to return, separated by commas. Default: ”*”. |
| Partition Keys | Dict | Required parameters that the model must fill to query the tool. |
| Clustering Keys | Dict | Optional parameters the model can fill to refine the query. Required parameters should be marked with an exclamation mark, for example, !customer_id. |
| Static Filters | Dict | Attribute-value pairs used to filter query results. |
| Limit | String | The number of records to return. |
| Name | Type | Description |
|---|---|---|
| Data | List[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. |
| Tool | StructuredTool | A 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.Parameters
Parameters
Inputs
Outputs
| Name | Type | Description |
|---|---|---|
| bing_subscription_key | SecretString | A Bing API subscription key. |
| input_value | String | The search query input. |
| bing_search_url | String | A custom Bing Search URL. |
| k | Integer | The number of search results to return. |
| Name | Type | Description |
|---|---|---|
| results | List[Data] | A list of search results. |
| tool | Tool | A 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.Parameters
Parameters
Inputs
Outputs
| Name | Type | Description |
|---|---|---|
| prompt | String | The input to run CR on. |
| openai_api_key | SecretString | An OpenAI API key for authentication. |
| username | String | A username for Icosa API authentication. |
| password | SecretString | A password for Icosa API authentication. |
| model_name | String | The OpenAI LLM to use for reason generation. |
| Name | Type | Description |
|---|---|---|
| optimized_prompt | Message | A message object containing the optimized prompt. |
| reasons | List[String] | A list of the selected reasons that are embedded in the optimized prompt. |
DuckDuckGo search
This component performs web searches using the DuckDuckGo search engine with result-limiting capabilities.Parameters
Parameters
Inputs
Outputs
| Name | Type | Description |
|---|---|---|
| input_value | String | The search query to execute with DuckDuckGo. |
| max_results | Integer | The maximum number of search results to return. Default: 5. |
| max_snippet_length | Integer | The maximum length of each result snippet. Default: 100. |
| Name | Type | Description |
|---|---|---|
| data | List[Data] | A list of search results as Data objects containing snippets and full content. |
| text | String | The search results formatted as a single text string. |
Exa Search
This component provides an Exa Search toolkit for search and content retrieval.Parameters
Parameters
Inputs
Outputs
| Name | Type | Description |
|---|---|---|
| metaphor_api_key | SecretString | An API key for Exa Search. |
| use_autoprompt | Boolean | Whether to use the autoprompt feature. Default: true. |
| search_num_results | Integer | The number of results to return for search. Default: 5. |
| similar_num_results | Integer | The number of similar results to return. Default: 5. |
| Name | Type | Description |
|---|---|---|
| tools | List[Tool] | A list of search tools provided by the toolkit. |
Glean Search API
This component allows you to call the Glean Search API.Parameters
Parameters
Inputs
Outputs
| Name | Type | Description |
|---|---|---|
| glean_api_url | String | The URL of the Glean API. |
| glean_access_token | SecretString | An access token for Glean API authentication. |
| query | String | The search query input. |
| page_size | Integer | The number of results per page. Default: 10. |
| request_options | Dict | Additional options for the API request. |
| Name | Type | Description |
|---|---|---|
| results | List[Data] | A list of search results. |
| tool | Tool | A Glean Search tool for use in LangChain. |
Google Serper API
This component allows you to call the Serper.dev Google Search API.Parameters
Parameters
Inputs
Outputs
| Name | Type | Description |
|---|---|---|
| serper_api_key | SecretString | An API key for Serper.dev authentication. |
| input_value | String | The search query input. |
| k | Integer | The number of search results to return. |
| Name | Type | Description |
|---|---|---|
| results | List[Data] | A list of search results. |
| tool | Tool | A 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 :Parameters
Parameters
- MODE: studio, sse
- MCP SSE URL: uvx mcp-server-fetch (example command)
- Tools
Wikidata
This component performs a search using the Wikidata API.Parameters
Parameters
Inputs
Outputs
| Name | Type | Description |
|---|---|---|
| query | String | The text query for similarity search on Wikidata. |
| Name | Type | Description |
|---|---|---|
| data | List[Data] | The search results from Wikidata API as a list of Data objects. |
| text | Message | The search results formatted as a text message. |