Skip to content

Tools and Multi-Protocol Architecture

Tools are how the agent does things beyond generating text — fetching a page, running a calculation, charting data, calling a remote service. The platform is multi-protocol: a single agent loop can call tools that live in very different places and authenticate in very different ways, all behind one uniform tool interface.

The agent can reach a tool through any of four protocols. Each trades locality for reach: a direct Python function is the simplest and fastest; an A2A agent is a fully independent service you delegate to.

ProtocolWhere the tool runsAuthStatus
Direct callIn-process Python function in the agent (agents/main_agent/tools/)None — same processAvailable
AWS SDKIn-process, but calling an AWS service via boto3IAM (the runtime’s task role)Available
MCP + SigV4A Lambda behind the AgentCore Gateway, exposed as MCPAWS SigV4Available
A2AA separate agent in its own AgentCore RuntimeAgentCore authClient-only today

A few notes on the edges:

  • Direct and AWS SDK tools are ordinary @tool-decorated functions. The difference is only what they touch — local computation versus an AWS API.
  • MCP + SigV4 tools are discovered dynamically from the Gateway, so the tool list grows without a code change. See Gateway MCP Targets for registering one.
  • A2A is client-only right now: the platform can call out to remote agents, but does not yet expose itself as an A2A server.

The platform ships with a deliberately small built-in tool set. This is a design choice, not an omission — the goal is a clean, dependency-light starting point you extend for your own deployment rather than a kitchen sink you have to prune.

What’s included out of the box:

ToolProtocolWhat it does
CalculatorDirect (Strands built-in)Evaluates mathematical expressions.
URL FetcherDirectFetches and extracts text from web pages, articles, and docs.
Charts & GraphsDirectBuilds interactive bar, line, and pie charts from data.
Code InterpreterDirect (sandboxed)Runs Python in a sandbox to generate diagrams and visualizations.
Spreadsheet toolsDirect (sandboxed)Lists and analyzes spreadsheet files from the knowledge base or attachments.

The built-in registry is assembled in create_default_registry() (agents/main_agent/tools/tool_registry.py); each tool’s display metadata lives in the TOOL_CATALOG (tool_catalog.py).

The small default set is paired with several extension points, so capability is something you add rather than something you’re stuck with:

  • Add a code tool — drop a @tool function into agents/main_agent/tools/, register it in __init__.py, and it joins the registry. (Direct or AWS SDK.)
  • Add a remote tool without deploying agent code — register a Gateway MCP target; its tools are discovered at runtime and merged into the catalog.
  • Delegate to another agent — point the agent at a remote A2A agent for whole workflows it can hand off.
  • Control who sees what — tool visibility is governed by RBAC and per-agent enabled_tools, filtered through the ToolFilter. See RBAC and Permissions.
  • Curate from the admin console — the Tools admin page manages the catalog and Gateway targets without touching code.