Skip to main content

Tool catalog

A structured, machine-readable catalog of every tool kind an agent can be bound to — config schema, per-tool input/output schemas, and whether each tool mutates state. This is a read-only reference surface: it doesn't bind tools to an agent (that's part of the agent definition itself, see Agents) — it tells you what's available and what shape each one expects, so an MCP client or a builder UI can wire a tool binding against a real schema instead of guessing.

Full catalog

curl https://convostack.ai/api/tools/catalog \
-H "Authorization: Bearer cak_live_..."
{
"kinds": [
{
"kind": "business_knowledge",
"label": "Business knowledge",
"description": "Exact answers about the business: services, prices, durations, what each treats, prep/contraindication basics, plus hours, location, contact and policies.",
"status": "available",
"configSchema": {
"type": "object",
"required": ["services"],
"properties": {
"business": { "type": "object", "description": "Company profile: name, description, phone, email, website, hours, locations, policies, faqs." },
"services": { "type": "array", "description": "The service catalog." }
}
},
"tools": [
{ "name": "service_catalog_lookup", "title": "..." }
]
}
]
}

Other registered kinds include scheduling, legal_intake, receptionist_routing, and medical_scheduling — the exact set reflects what's currently registered on the running instance, so treat this endpoint as the source of truth rather than a fixed list.

One kind's descriptor

curl https://convostack.ai/api/tools/catalog/business_knowledge \
-H "Authorization: Bearer cak_live_..."

Returns the same shape as one entry above, or 404 if kind isn't registered. configSchema is the JSON Schema for the per-binding config object that kind expects on an agent — validate against it client-side before saving a tool binding to catch a malformed config early.