An agent's reasoning is useless without the ability to act, and for a coding agent, acting means tools: editing files, running commands, executing tests, searching code, using version control. The tools define what the agent can do, and their design — what they expose, how safe they are, how reliable their feedback — shapes how well the agent works. This post is about the tools that turn a reasoning model into an agent that changes real software.
An agent's reasoning is useless without the ability to act, which means tools: read/edit files, run commands, run tests, search, version control. Tool design (reliability, clear feedback) largely determines agent quality, and because tools (the shell) can do irreversible things, safety is first-class: least privilege, sandboxing, confirmation gates, and git as the undo button.
A complete guide to giving a Microsoft Agent Framework agent the ability to act — from a plain Python function the model can call, to provider-hosted sandboxes, remote MCP servers, and higher-level packaging patterns like Skills and CodeAct.
A complete guide to giving a Microsoft Agent Framework agent the ability to act: function tools, provider-hosted tools (code interpreter, file search, web search), local and hosted MCP, plus Skills and CodeAct — with the code and gotchas for each.
This lesson teaches how to bundle related function tools onto a Go type and attach the whole group to an agent as one slice.
Bundle GetWeather and GetCurrentTime onto one Go type, expose them as a tool.Tool slice, and let the model call both in a single turn — plugins as an organizing idea.
How to port tools, add policy enforcement, and integrate OPA.
Migrate ADK functions to Microsoft Agent Framework governed tools with policy enforcement, DLP scanning, approval gates, and OPA integration for production agent systems.