Skip to main content
Glama

Business Frameworks: catalogue

bf_catalogue
Read-onlyIdempotent

Lists every Business Frameworks node: handle, title, layer, token count, price, whether it is free, and whether its decision rule can be run on numbers. Business Frameworks is operating judgement for running a business from launch to about $50M in revenue: value, cash flow, risk (the cost of capital) and growth, down to ten decision rules. Call this first, once, to choose which node answers the question; pass branch to see one branch only. Free. Do not use it for businesses above about $50M in revenue, for tax, legal or accounting treatment, or for market data: it holds judgement and rules, not figures about any company.

Input Schema

NameRequiredDescriptionDefault
branchNoOne of: equation, value, cash-flow, risk, growth, decision, market, ethics, worker, quality. Omit for the whole catalogue.

Output Schema

NameRequiredDescriptionDefault
nodesNo
scopeNo
accessNo
bundlesNo
cite_asNo
paymentNo
productNo
versionNo
license_urlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / branch / description
      Previous value: -"One of: equation, value, cash-flow, risk, growth, decision, market, ethics. Omit for the whole catalogue."New value: +"One of: equation, value, cash-flow, risk, growth, decision, market, ethics, worker, quality. Omit for the whole catalogue."
  2. Changed1 schema field changed
    • changedInput schema / properties / branch / description
      Previous value: -"One of: equation, value, cash-flow, risk, growth, decision, market. Omit for the whole catalogue."New value: +"One of: equation, value, cash-flow, risk, growth, decision, market, ethics. Omit for the whole catalogue."
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "description": "The catalogue: every node as a row (path, handle, title, layer, tokens, free, price_usd; decision and apply_price_usd on the fifteen decisions), the payment line, the access sentence and the cite_as pattern; the bundles section when no branch is named.",
      +  "properties": {
      +    "access": {
      +      "type": "string"
      +    },
      +    "bundles": {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "cite_as": {
      +      "type": "string"
      +    },
      +    "license_url": {
      +      "type": "string"
      +    },
      +    "nodes": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "apply_price_usd": {
      +            "type": [
      +              "string",
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "decision": {
      +            "type": "boolean"
      +          },
      +          "description": {
      +            "type": "string"
      +          },
      +          "free": {
      +            "type": "boolean"
      +          },
      +          "handle": {
      +            "type": "string"
      +          },
      +          "layer": {
      +            "type": "number"
      +          },
      +          "path": {
      +            "type": "string"
      +          },
      +          "price_usd": {
      +            "type": [
      +              "string",
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "tokens": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "handle"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "payment": {
      +      "type": "string"
      +    },
      +    "product": {
      +      "type": "string"
      +    },
      +    "scope": {
      +      "type": "string"
      +    },
      +    "version": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnly, idempotent, non-destructive and closed-world, so the description correctly doesn't repeat safety semantics; instead it adds cost ('Free'), a call-once discipline, and domain boundaries that the annotations can't express. It stops short of describing result shape or catalogue size, though an output schema exists so that gap is small.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the resource and returned fields, then moves to routing advice and exclusions in a logical order. Slightly padded — the domain-value framing ('value, cash flow, risk (the cost of capital) and growth') and the one-word 'Free.' sentence could be trimmed without losing routing signal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-param, read-only catalogue call with rich annotations and an output schema, nothing an agent needs is missing: it knows to call it first, what it returns, and which questions it must route elsewhere. The negative scope statements are the key addition and they are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the `branch` enum plus 'Omit for the whole catalogue' is already documented in the schema. The description only restates the branch behavior ('pass `branch` to see one branch only') without adding syntax, defaults, or examples beyond it, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource — 'Lists every Business Frameworks node' — and enumerates the returned fields (handle, title, layer, token count, price, free flag, runnable-on-numbers flag). The scope statement ('operating judgement for running a business from launch to about $50M in revenue') separates it cleanly from bf_read_node and bf_resolve, which fetch one node rather than the catalogue.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit positive guidance — 'Call this first, once, to choose which node answers the question' — plus an alternative path (pass `branch` for one branch only) and hard exclusions (businesses above ~$50M revenue, tax/legal/accounting, market data). When to use, when not to, and what to do instead are all present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.