Tools Commands
Manage built-in and custom Tools using the Kubiya CLI.
Tools Commands
Manage the Tools that provide capabilities to your AI agents.
Available Commands
Command | Description |
---|---|
list | List all available tools (built-in and custom) |
get | Get details about a specific tool |
execute | Execute a specific tool with arguments |
browse | Browse and interactively select tools |
apply | Create or update a custom tool (upsert operation) |
generate | Generate a basic tool scaffold/template |
test | Test a tool locally with specific input |
delete | Delete a custom tool |
validate | Validate a tool definition |
bundle | Bundle a Python function into a tool definition |
import-openapi | Import OpenAPI spec as a tool |
Command Examples
Tool Definition Structure
Example Tool Definition
Tool Development Guide
1. Generate a tool scaffold
The first step is to generate a scaffold for your new tool:
This creates a directory structure with all necessary files:
2. Implement your tool logic
Edit the main implementation file:
3. Define your tool schema
Update the tool definition in kubiya.yaml
:
4. Create test cases
Define sample inputs for testing:
And implement tests:
5. Test locally
Test your tool implementation before deploying:
6. Build and deploy
Build the container and deploy the tool:
7. Test the deployed tool
Verify that your tool works after deployment:
Python SDK Approach
For simpler tools, you can use the Python SDK with the convenient decorator syntax:
Python SDK Tool Example
To bundle and deploy this tool:
OpenAPI Import
You can turn any REST API with an OpenAPI specification into a tool:
Tool Integration with CI/CD
Example GitLab CI pipeline for tool development:
GitLab CI Example
Tool Sources for Development
For creating and managing tools in a structured, source-controlled way, we recommend using Tool Sources.
Tool Sources allow you to manage agentic tools predictably with deep integration for version control systems. You can securely host your tools in git repositories, and the tool manager will automatically sync with them.
Common Options
These options apply to most tools commands:
Option | Description |
---|---|
--file , -f | Path to a YAML file with tool definition |
--dir , -d | Directory containing tool files |
--output , -o | Output format: json, yaml, table (default: table) |
--output-file | Save output to a file instead of stdout |
--label | Filter or set labels (key=value format) |
--interactive , -i | Interactive mode with prompts |
--debug | Enable debug mode for additional information |
--local | For testing: use local files without deploying |
Explore our community tools repository for examples and ready-to-use tools across various domains: GitHub