-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
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 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.