Tendril, an open-source project from serverless-dna, takes a different approach to AI agent tooling: it starts with almost nothing and builds what it needs. The agent sandbox launches with just three bootstrap tools. When you ask it to do something it can't do, it writes a new tool, registers it, and runs it. Next time that capability is already there. The registry grows with each session, so the agent gets better without the model wading through an ever-expanding list of tools.

Under the hood, Tendril pairs a Rust-based Tauri desktop shell with a Node.js agent powered by AWS Strands Agents SDK. Claude models handle the thinking via AWS Bedrock, and code executes inside a Deno subprocess sandbox with scoped permissions. Everything talks over JSON-RPC 2.0. The system prompt doesn't mess around: never ask permission to build a tool, just build it. If a tool fails, read the error, fix the code, retry. The project runs on Claude Sonnet 4.5 and needs AWS credentials configured for Bedrock access.

Most agents hand the model a big bag of tools and hope it picks the right one. More tools means more tokens burned on tool descriptions, worse selection accuracy, and diminishing returns. Tendril inverts this. The model always sees exactly three tools: list capabilities, register capability, and execute code. That's it. Ask Tendril to fetch data from an API and it might write a simple HTTP client, register it as a tool, and use it right there. Next time, that capability is waiting. Tools live as plain TypeScript files in a workspace folder, so you can inspect or edit them directly. It's a registry that grows organically instead of being declared upfront.

Hacker News commenters drew parallels to similar patterns like MCP, where agents cache solutions to avoid burning tokens on repeated problems. The developer behind related projects Collector and Gluon argued that true extensibility requires reflection and type systems over the network, criticizing approaches like MCP for relying on what they called "giant blobs of markdown" and unconstrained JSON. The broader question remains whether rule-based system prompts are enough to govern when tools get called, or whether agents need something closer to situational awareness.