Tools
Tools are how Amara moves from talking about work to actually doing it. On its own, the Syntic model can reason, plan, and write text — but tools are what let it read a file, run a build, query an API, or reach into an external system. The Syntic Agent SDK ships with a capable built-in tool set and gives you several ways to extend it, so the agent can act on exactly the surface your application exposes.
This section covers the four ways to give Amara capabilities beyond the defaults, arranged from the most direct to the most advanced.
Ways to extend Amara
Custom tools are functions you define in your own process. You give each one a name, a description, and an input schema, and Amara calls it like any other tool. This is the fastest way to expose domain logic — a pricing calculator, a database lookup, an internal deployment trigger.
MCP servers connect the agent to external tool providers that speak the Model Context Protocol. Instead of writing handlers inline, you point the SDK at a server over stdio or HTTP and its tools and resources become available to the agent.
Tool search keeps the agent effective when the catalog grows large. Rather than loading hundreds of tool definitions into context at once, the agent discovers relevant tools on demand.
Subagents let you delegate a scoped subtask to a separate agent with its own tools, prompt, and permissions — useful for parallelism and for keeping the main conversation focused.
Choosing an approach
Reach for custom tools when the logic lives in your codebase and you want minimal ceremony. Use MCP when a capability already exists as a server or you want to share it across projects and languages. Add tool search once your combined catalog is large enough to crowd the context window. Delegate to subagents when a task is self-contained and benefits from isolation or its own toolset.