You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tldr²: mapping --helpoptions of some cli tool? mapping some library API so it could be used as a tool? what waste of everyone's time -- tool use is just an annotated function name with annotated and typed list of params. Once we build a few mappers, tools will be pluggable like usb sticks to all ai frameworks and apps
Tip
This proposal is part of a series. Check out the rest here.
First off, thanks for the excellent work on the 12-Factor Agents guide! It provides a really valuable set of principles for building robust and maintainable agentic systems.
I wanted to raise a point for discussion regarding the standardization of tools.
TL;DR
Even if the tools are purely internal, wrapping them in some standard (like MCP) offers significant design advantages:
Transport‑agnostic integration
MCP typically uses http/sse or stdio for separate‑process communication, but we can also support direct in‑process Python function calls—providing a zero‑overhead, low‑latency integration without the need for external servers.
Hot‑swappable deployments
Seamlessly switch between in‑process (inner) and remote (outer) tool implementations without modifying prompts or model code.
Framework‑agnostic agents
Easily replace or upgrade your agent core (e.g., switching LLM backends or orchestration frameworks) without rewriting tool interfaces.
Cross‑project reuse
Define tools once within an MCP server and reuse them across multiple applications and teams, avoiding redundant logic.
Effortless externalization at scale
As your demand grows, migrate tools from local execution to dedicated services or clusters without altering anything else like prompts, client code, or model configurations.
Tip
tldr²: mapping
--helpoptions of some cli tool? mapping some library API so it could be used as a tool? what waste of everyone's time -- tool use is just an annotated function name with annotated and typed list of params. Once we build a few mappers, tools will be pluggable like usb sticks to all ai frameworks and appsTip
This proposal is part of a series. Check out the rest here.
First off, thanks for the excellent work on the 12-Factor Agents guide! It provides a really valuable set of principles for building robust and maintainable agentic systems.
I wanted to raise a point for discussion regarding the standardization of tools.
TL;DR
Even if the tools are purely internal, wrapping them in some standard (like MCP) offers significant design advantages:
Transport‑agnostic integration
MCP typically uses http/sse or stdio for separate‑process communication, but we can also support direct in‑process Python function calls—providing a zero‑overhead, low‑latency integration without the need for external servers.
Hot‑swappable deployments
Seamlessly switch between in‑process (inner) and remote (outer) tool implementations without modifying prompts or model code.
Framework‑agnostic agents
Easily replace or upgrade your agent core (e.g., switching LLM backends or orchestration frameworks) without rewriting tool interfaces.
Cross‑project reuse
Define tools once within an MCP server and reuse them across multiple applications and teams, avoiding redundant logic.
Effortless externalization at scale
As your demand grows, migrate tools from local execution to dedicated services or clusters without altering anything else like prompts, client code, or model configurations.