Creating a Function Tool
Follow these steps to create a new Function ToolAdd a new Tool to a Project
Use the 
+ button to add a new Entity to a Project.
Enter Tool Details
Enter the main details of the tool:
- Key, used by models to reference the tool
- Name, used in the studio to find the tool
- Description, used to describe the tool

Configure your Function Tool
Function Tools are defined using JSON.Here is an example of a JSON schema for a function
get_current_weather that declares the fields location (string)and unit (string):The object defined here is based on JSON Schema. This framework allows for extensible definition that fit your ideal function definition.
Field Details
Type
Use here any of the valid JSON types:object, string, integer, number, array, etc… The top-level type will most commonly be an object holding other properties.Learn more about all JSON types in the JSON Schema definition.Properties
Properties are definition of fields within an object. Here you can define any new variable. Nested properties are allowed.Required
Therequired array within an object defines which fields must be entered for a JSON payload to be validated.Creating a JSON Tool
Follow these steps to create a new JSON Schema ToolAdd a new Tool to a Project
Use the 
+ button to add a new Entity to a Project.
Enter Tool Details
Enter the main details of the tool:
- Key, used by models to reference the tool
- Name, used in the studio to find the tool
- Description, used to describe the tool

Configure your JSON Schema Tool
JSON Schema Tools are defined using JSON.Here is an example of a JSON schema for a function
get_current_weather that declares the fields location (string)and unit (string):The object defined here is based on JSON Schema. This framework allows for extensible definition that fit your ideal function definition.
Field Details
Type
Use here any of the valid JSON types:object, string, integer, number, array, etc… The top-level type will most commonly be an object holding other properties.Learn more about all JSON types in the JSON Schema definition.Properties
Properties are definition of fields within an object. Here you can define any new variable. Nested properties are allowed.Required
Therequired array within an object defines which fields must be entered for a JSON payload to be validated.Creating an HTTP Tool
Follow these steps to create a new HTTP Schema ToolAdd a new Tool to a Project
Use the 
+ button to add a new Entity to a Project.
Enter Tool Details
Enter the main details of the tool:
- Key, used by models to reference the tool
- Name, used in the studio to find the tool
- Description, used to describe the tool

Configure your HTTP Tool
HTTP Tools are defined within the Studio, either using the UI or using JSON (use the toggle to change mode)
The following configurations are available:
You can use Variables with the

| Field | Description |
|---|---|
| URL | Enter the API URL as well as the HTTP Method for the call |
| Header | Define Request Header Key-value pairs |
| Payload | Define Request Body Payload Key-value pairs (these are translated to JSON at runtime) |
| Authentication | Define an optional Bearer Authentication field and Token (Tokens are encrypted when saved in Orq). |
{{variable}} syntax within any configuration field. The variable will be resolved at runtime when the payload is built for the HTTP call.Use the
Autogenerate Schema when using variables to ensure variable definition is correctly created.Creating an MCP Tool
Follow these steps to create a new MCP ToolAdd a new Tool to a Project
Use the 
+ button to add a new Entity to a Project.
Enter Tool Details
Enter the main details of the tool:
- Key, used by models to reference the tool
- Name, used in the studio to find the tool
- Description, used to describe the tool
- MCP Server URL, a valid MCP url
- Authentication Type, an optional Bearer Authentication token, stored securely

Creating a Python Tool
Follow these steps to create a new Python ToolAdd a new Tool to a Project
Use the 
+ button to add a new Entity to a Project.
Enter Tool Details
Enter the main details of the tool:
- Key, used by models to reference the tool
- Name, used in the studio to find the tool
- Description, used to describe the tool

Configure your Python Tool
Freely define the code to be ran during Tool execution.You can define the JSON Schema for the parameters to be sent into the tool. Here, see the 
name field defined and then further fetched using params.get('name').Ensure your return value is stored within the result field.
