Universal Tool Calling Protocol (UTCP)
Section titled “Universal Tool Calling Protocol (UTCP)”{{ community_contribution_banner }}
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.
Installation
Section titled “Installation”pip install strands-agents strands-utcpfrom strands import Agentfrom strands_utcp import UtcpToolAdapter
# Configure UTCP tool adapterconfig = { "manual_call_templates": [ { "name": "weather_api", "call_template_type": "http", "url": "https://api.weather.com/utcp", "http_method": "GET" } ]}
# Use UTCP tools with Strands agentasync 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 asyncioasyncio.run(main())Key Features
Section titled “Key Features”- 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
Resources
Section titled “Resources”- GitHub: universal-tool-calling-protocol/python-utcp
- PyPI: strands-utcp