Skip to content

Tools Overview

Tools are the primitive actions agents can execute — HTTP requests, file I/O, memory, shell commands. They are implemented in the tama runtime and always available to any skill.

Tools are unlocked through skills. An agent cannot call a tool directly; it must first load a skill that declares the tool:

---
name: my-skill
description: Does something useful.
tools:
- tama_http_get
- tama_files_write
---
Instructions for the agent...

When the agent calls read_skill("my-skill"), the listed tools become available for subsequent calls in that agent’s session.

Two tools are always available — no skill required:

ToolDescription
startReceive the task input. Every agent calls this first.
finishReturn the result and end the agent loop.

Every other tool must be unlocked via a skill.

tama ships with a standard library of built-in tools organized by namespace:

NamespaceToolsWhat it does
tama_httptama_http_get, tama_http_postHTTP requests
tama_filestama_files_read, tama_files_writeFile I/O
tama_memtama_mem_set, tama_mem_get, tama_mem_appendShared in-memory store
tama_bashtama_bashShell command execution

Always use the full tool name (including namespace prefix) in your skill’s tools: list and in the body instructions:

---
name: search-web
description: Search the web using DuckDuckGo.
tools: [tama_http_get, tama_files_write]
---
Call tama_http_get to fetch search results...