Tool Registry

Provide a catalog of available tools with their capabilities.

category: Tool Discovery
arcade.dev/patterns

Context

Managing multiple tools in an ecosystem.

Problem

Agents need to know what tools exist and what they can do.

Solution

Maintain a tool registry:
- List all tools: Names and brief descriptions
- Categorize: Group by domain or function
- Search: Find tools by capability
- Metadata: Required auth, rate limits, etc.

Examples

Python
@tool
def list_available_tools(
    category: str | None = None
) -> list[ToolInfo]:
    """List all available tools.
    
    Args:
        category: Filter by category (crm, email, calendar)
    
    Returns list with name, description, required_scopes.
    """
    tools = registry.get_all()
    if category:
        tools = [t for t in tools if t.category == category]
    return tools

Considerations

  • Include enough detail for tool selection
  • Consider versioning as tools evolve
  • Return authentication requirements upfront

Related Patterns

More in Tool Discovery