docs/features/tools.md

Tools

A Tool is an atomic capability an agent's skill can call — a single, well-typed action like "search the knowledge base" or "look up an object." Tools are the lowest layer of the intelligence stack: agents are composed of skills, and skills call tools.

A tool is not a skill. The difference is responsibility:

SkillTool
Isa role / responsibilityan atomic action
Holdslogic + acceptance evals + tool accessone typed operation
Decideswhich tools to use, applies judgmentnothing — it just executes
Gradedyes (evals.yaml)no

A skill is the unit that's authored, owned, evaluated, and improved. A tool is plumbing the skill reaches for.

Built-in tools

Every agent runtime ships with a core toolset. Today that is:

  • search_knowledge — hybrid retrieval (vector + full-text) across the tenant's connected Sources.
  • lookup_objects — fetch canonical Object records by type and filter.
  • run_operation — invoke a typed Skill/operation with validated input.
  • request_human_review — pause for a human decision via the review queue (HITL).
  • Learnings tools — read and propose Learnings captured from reviewer feedback.
  • Runs tools — list and inspect prior runs for context and continuity.

And, for reaching the outside world and producing things (v1.24.0):

  • web_search — live web search (ranked titles, URLs, snippets).
  • fetch_url / crawl_site — read a page, or crawl a site (same-origin BFS, capped).
  • generate_image — create an image/graphic from a prompt; saved as an artifact.
  • run_code — evaluate a math expression precisely (a safe calculator).
  • create_artifact — produce a downloadable CSV, SVG chart, or doc.

These are provider-pluggable with keyless/low-cost defaults (Tavily for search, a builtin extractor for browse, OpenAI for images, a builtin calculator for code), and degrade gracefully when a provider key is missing. Configure them in .env and check status at Dashboard → Tools. See Using built-in tools.

Every tool call is recorded in the run trace alongside inputs, context version, and approvals, so tool use is fully auditable.

Custom tools

Ship your own tools as part of a plugin (@vocion/sdk) — a typed function the runtime exposes to skills, with the same tracing and budget accounting as built-ins. This is how teams add domain actions (e.g. "create a deck", "post to a system of record") under their own control.

Tools vs. MCP

The MCP server exposes Vocion's own capabilities (agents, skills, objects) as tools to external clients — that's Vocion-as-a-tool-server, an outbound interface. The tools on this page are the inbound capabilities a skill calls during a run. The two are mirror images: MCP lets others call into Vocion; built-in tools let Vocion's skills act.

Roadmap

The general toolbelt — web search, URL fetch, browse/crawl, image generation, and code/calc — shipped in v1.24.0 (above). Still ahead: arbitrary HTTP, a sandboxed code runtime (builtin run_code is a safe calculator today; an E2B-backed sandbox is the opt-in path), and an outbound MCP client so skills can call external MCP servers.

Next