Ballmac UI home

Tool Catalog

New

Everything an agent can call, with a switch for each: what it does, how risky it is, how often it is used and fails, its input schema one click away, search and filters, and a warning when a high-risk tool is on.

v1.0.0Updated Oct 24, 2026Ships with a test
What changed

Tools

5 tools shown

  • search_ordersLow risk

    Find a customer's orders by email, order number or date range.

    4,210 calls this week1.2% fail340 ms typical

  • issue_refundHigh risk

    Refund all or part of an order to the original payment method.

    318 calls this week3.1% fail910 ms typical

    On for a high-risk tool: check it is meant to be.

  • send_emailMedium risk

    Send an email from the support address.

    0 calls this week

  • read_knowledge_baseLow risk

    Search the help centre and return the closest articles.

    9,120 calls this week0.4% fail210 ms typical

  • update_addressMedium risk

    Change the shipping address on an order that has not shipped.

    640 calls this week9.4% fail · fails often1,480 ms typical

Installation

$ pnpm dlx shadcn@latest add @ballmac/tool-catalog

Usage

import { ToolCatalog, needsAttention } from "@/components/ballmac/tool-catalog"

The full example is in the Code tab above.

Examples

A switch that fails

Tools for the billing agent

2 tools shown

  • lookup_invoiceLow risk

    Open an invoice by its number.

    1,200 calls this week1% fail280 ms typical

  • void_invoiceHigh risk

    Cancel an invoice that has not been paid.

    0 calls this week

API reference

PropTypeDefault
tools*CatalogTool[]—
onToggle

Called when a tool is switched on or off. Reject and the switch goes back with the message.

(tool: CatalogTool, enabled: boolean) => void | Promise<void>—
title

Heading.

string—

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
Tab, SpaceEach switch is named '<tool> is on'; filters are toggle buttons with counts
Enter / Space on Input schemaOpens the schema (aria-expanded); it is a focusable, labelled region that stays left to right
FailuresA failed switch is an alert beside the tool and the switch goes back
Risk and failure rateWritten as words ('High risk', 'fails often'), never colour alone

Use with AI

tools is [{ id, name, description, enabled, risk?: low | medium | high, calls?, errorRate?: 0..1, latencyMs?, schema?: JSON text }]. onToggle(tool, enabled) may return a promise; reject and the switch goes back with the message. Filters: All, On, Off, Needs attention (error rate of 5% or more, or a high-risk tool that is on). Exports needsAttention. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Tool Catalog (@ballmac/tool-catalog) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Letting people turn an agent's tools on and off and see how each behaves
  • A settings page for an MCP server's tools

Not for

  • Allow, ask or deny per tool; use permission-grid
  • One level of freedom; use autonomy-dial

Registry JSON: https://ui.ballmac.com/r/tool-catalog.json

Credits

Free to use in personal and commercial projects.

Ballmac UI Pro

Need the whole screen, not one piece?

150 premium blocks (dashboards, settings, calendars, mail, shops, onboarding), a private shadcn registry and Figma tokens. Blocks that show data come with loading, empty and error states built in.

Not ready? Try three Pro blocks free

Leave your email and the blocks appear right here, ready to copy. Yours to use in any project.