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.
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.
For an example, see Make any component a tool.
Bing Search API
This component allows you to call the Bing Search API.
Parameters
Inputs
Name
Type
Description
bing_subscription_key
SecretString
Bing API subscription key
input_value
String
Search query input
bing_search_url
String
Custom Bing Search URL (optional)
k
Integer
Number of search results to return
Outputs
Name
Type
Description
results
List[Data]
List of search results
tool
Tool
Bing Search tool for use in LangChain
Calculator Tool
This component creates a tool for performing basic arithmetic operations on a given expression.
Parameters
Inputs
Name
Type
Description
expression
String
The arithmetic expression to evaluate (e.g., 4*4*(33/22)+12-20).
Outputs
Name
Type
Description
result
Tool
Calculator tool for use in LangChain
This component allows you to evaluate basic arithmetic expressions. It supports addition, subtraction, multiplication, division, and exponentiation. The tool uses a secure evaluation method that prevents the execution of arbitrary Python code.
Combinatorial Reasoner
This component runs Icosa's Combinatorial Reasoning (CR) pipeline on an input to create an optimized prompt with embedded reasons. Sign up for access here: https://forms.gle/oWNv2NKjBNaqqvCx6
Parameters
Inputs
Name
Display Name
Description
prompt
Prompt
Input to run CR on
openai_api_key
OpenAI API Key
OpenAI API key for authentication
username
Username
Username for Icosa API authentication
password
Password
Password for Icosa API authentication
model_name
Model Name
OpenAI LLM to use for reason generation
Outputs
Name
Display Name
Description
optimized_prompt
Optimized Prompt
A message object containing the optimized prompt
reasons
Selected Reasons
A list of the selected reasons that are embedded in the optimized prompt
Glean Search API
This component allows you to call the Glean Search API.
Parameters
Inputs
Name
Type
Description
glean_api_url
String
URL of the Glean API
glean_access_token
SecretString
Access token for Glean API authentication
query
String
Search query input
page_size
Integer
Number of results per page (default: 10)
request_options
Dict
Additional options for the API request (optional)
Outputs
Name
Type
Description
results
List[Data]
List of search results
tool
Tool
Glean Search tool for use in LangChain
Google Search API
This component allows you to call the Google Search API.
Parameters
Inputs
Name
Type
Description
google_api_key
SecretString
Google API key for authentication
google_cse_id
SecretString
Google Custom Search Engine ID
input_value
String
Search query input
k
Integer
Number of search results to return
Outputs
Name
Type
Description
results
List[Data]
List of search results
tool
Tool
Google Search tool for use in LangChain
Google Serper API
This component allows you to call the Serper.dev Google Search API.
Parameters
Inputs
Name
Type
Description
serper_api_key
SecretString
API key for Serper.dev authentication
input_value
String
Search query input
k
Integer
Number of search results to return
Outputs
Name
Type
Description
results
List[Data]
List of search results
tool
Tool
Google Serper search tool for use in LangChain
Python Code Structured Tool
This component creates a structured tool from Python code using a dataclass.
The component dynamically updates its configuration based on the provided Python code, allowing for custom function arguments and descriptions.
Parameters
Inputs
Name
Type
Description
tool_code
String
Python code for the tool's dataclass
tool_name
String
Name of the tool
tool_description
String
Description of the tool
return_direct
Boolean
Whether to return the function output directly
tool_function
String
Selected function for the tool
global_variables
Dict
Global variables or data for the tool
Outputs
Name
Type
Description
result_tool
Tool │ Structured tool created from the Python code
Python REPL Tool
This component creates a Python REPL (Read-Eval-Print Loop) tool for executing Python code.
Parameters
Inputs
Name
Type
Description
name
String
The name of the tool (default: "python_repl")
description
String
A description of the tool's functionality
global_imports
List[String]
List of modules to import globally (default: ["math"])
Outputs
Name
Type
Description
tool
Tool
Python REPL tool for use in LangChain
Retriever Tool
This component creates a tool for interacting with a retriever in LangChain.
Parameters
Inputs
Name
Type
Description
retriever
BaseRetriever
The retriever to interact with
name
String
The name of the tool
description
String
A description of the tool's functionality
Outputs
Name
Type
Description
tool
Tool
Retriever tool for use in LangChain
SearXNG Search Tool
This component creates a tool for searching using SearXNG, a metasearch engine.
Parameters
Inputs
Name
Type
Description
url
String
The URL of the SearXNG instance
max_results
Integer
Maximum number of results to return
categories
List[String]
Categories to search in
language
String
Language for the search results
Outputs
Name
Type
Description
result_tool
Tool
SearXNG search tool for use in LangChain
Search API
This component calls the searchapi.io API. It can be used to search the web for information.