Skip to main content
Like AOF? Give us a star!
If you find AOF useful, please star us on GitHub. It helps us reach more developers and grow the community.

Tools Overview

AOF provides a comprehensive tools system that enables agents to interact with infrastructure, execute commands, and integrate with external services. Tools can be built-in (native Rust implementations) or provided via MCP (Model Context Protocol) servers.

Tool Categories

CategoryDescriptionExamples
CLI ToolsUnified command-line wrapperskubectl, git, docker, terraform, aws, helm
File ToolsFile system operationsread_file, write_file, list_directory, search_files
Execution ToolsShell and HTTP executionshell, http_request
Observability ToolsMetrics and logs queriesprometheus_query, loki_query, elasticsearch_query, grafana_*, datadog_*, newrelic_*
SIEM ToolsSecurity information and event managementsplunk_*
ITSM ToolsIT Service Managementservicenow_*
CI/CD ToolsPipeline and deployment managementgithub_*, gitlab_*, argocd_*, flux_*
MCP ToolsExternal MCP server toolsAny tool from configured MCP servers

Quick Start

Using Built-in Tools

apiVersion: aof.dev/v1
kind: Agent
metadata:
name: devops-agent
spec:
model: google:gemini-2.5-flash
instructions: |
You are a DevOps assistant with access to Kubernetes and Git.
tools:
- kubectl
- git
- shell

Using MCP Tools

apiVersion: aof.dev/v1
kind: Agent
metadata:
name: filesystem-agent
spec:
model: google:gemini-2.5-flash
instructions: |
You are a file management assistant.
mcp_servers:
- name: filesystem
transport: stdio
command: npx
args: ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"]

Tool Architecture

┌─────────────────────────────────────────────────────────────────┐
│ Agent Execution │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Model Response with Tool Calls │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Tool Executor Router │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │
│ │ │ Built-in │ │ Single MCP │ │ Multi-MCP │ │ │
│ │ │ Executor │ │ Executor │ │ Executor │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ Tool Result → Added to conversation → Next model call │
└─────────────────────────────────────────────────────────────────┘

Tool Configuration Formats

tools:
- kubectl
- git
- shell

Qualified Format (Advanced)

tools:
- name: kubectl
source: builtin
timeout_secs: 120

- name: custom_tool
source: mcp
server: my-mcp-server

Next Steps