Skip to content

Universal Tool Calling Protocol (UTCP)

The Universal Tool Calling Protocol (UTCP) is a lightweight, secure, and scalable standard that enables AI agents to discover and call tools directly using their native protocols - no wrapper servers required. UTCP acts as a “manual” that tells agents how to call your tools directly, extending OpenAPI for AI agents while maintaining full backward compatibility.

This community plugin integrates UTCP with Strands Agents SDK , providing standardized tool discovery and execution capabilities.

Terminal window
pip install strands-agents strands-utcp
from strands import Agent
from strands_utcp import UtcpToolAdapter
# Configure UTCP tool adapter
config = {
"manual_call_templates": [
{
"name": "weather_api",
"call_template_type": "http",
"url": "https://api.weather.com/utcp",
"http_method": "GET"
}
]
}
# Use UTCP tools with Strands agent
async def main():
async with UtcpToolAdapter(config) as adapter:
# Get available tools
tools = adapter.list_tools()
print(f"Found {len(tools)} UTCP tools")
# Create agent with UTCP tools
agent = Agent(tools=adapter.to_strands_tools())
# Use the agent
response = await agent.invoke_async("What's the weather like today?")
print(response.message)
import asyncio
asyncio.run(main())
  • Universal Tool Access: Connect to any UTCP-compatible tool source
  • OpenAPI/Swagger Support: Automatic tool discovery from API specifications
  • Multiple Sources: Connect to multiple tool sources simultaneously
  • Async/Await Support: Full async support with context managers
  • Type Safe: Full type hints and validation
  • Easy Integration: Drop-in tool adapter for Strands agents