Skip to main content
Glama

C4C: Mortgage Industry Regulations

List playbooks

list_playbooks
Read-onlyIdempotent

Lists the guided compliance playbooks this server provides: the Fannie Mae AI lender letter (LL-2026-04) P&P review (AI inventory, AI governance policy, risk assessment, P&P updates, change log) and FHA, VA and USDA loan-file QC against the verbatim handbooks. Returns each playbook's id, what it does, when it applies and what the user provides. Playbook tools accept only ids and reference names, no document text; the user's P&Ps and loan files stay in their own chat.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hintNoOn an error: the server's explanation.
nextNoThe server's note on the next step.
noteNoA note on this result.
errorNoPresent only on an error or refusal: not_found, ambiguous, unparsed, empty_terms, unknown_playbook, unknown_reference, offset_out_of_range, daily_capacity_reached.
noticeNoTerms notice: research use only, not legal advice.
resetsNoOn daily_capacity_reached: when capacity resets (00:00 UTC).
privacyNoHow user material is handled.
fallbackNoOn daily_capacity_reached: where the full corpus can be downloaded.
guidanceNoOn a refusal or empty search: the server's explanation.
playbooksNoThe available playbooks.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "description": "list_playbooks result.",
      +  "properties": {
      +    "error": {
      +      "description": "Present only on an error or refusal: not_found, ambiguous, unparsed, empty_terms, unknown_playbook, unknown_reference, offset_out_of_range, daily_capacity_reached.",
      +      "type": "string"
      +    },
      +    "fallback": {
      +      "description": "On daily_capacity_reached: where the full corpus can be downloaded.",
      +      "type": "string"
      +    },
      +    "guidance": {
      +      "description": "On a refusal or empty search: the server's explanation.",
      +      "type": "string"
      +    },
      +    "hint": {
      +      "description": "On an error: the server's explanation.",
      +      "type": "string"
      +    },
      +    "next": {
      +      "description": "The server's note on the next step.",
      +      "type": "string"
      +    },
      +    "note": {
      +      "description": "A note on this result.",
      +      "type": "string"
      +    },
      +    "notice": {
      +      "description": "Terms notice: research use only, not legal advice.",
      +      "type": "string"
      +    },
      +    "playbooks": {
      +      "description": "The available playbooks.",
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "id": {
      +            "description": "The playbook id.",
      +            "type": "string"
      +          },
      +          "prompt": {
      +            "description": "The matching MCP prompt name.",
      +            "type": "string"
      +          },
      +          "title": {
      +            "description": "The playbook's name.",
      +            "type": "string"
      +          },
      +          "user_provides": {
      +            "description": "What the user supplies."
      +          },
      +          "version": {
      +            "description": "The playbook's version."
      +          },
      +          "what": {
      +            "description": "What it does.",
      +            "type": "string"
      +          },
      +          "when": {
      +            "description": "When it applies.",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "privacy": {
      +      "description": "How user material is handled."
      +    },
      +    "resets": {
      +      "description": "On daily_capacity_reached: when capacity resets (00:00 UTC).",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds useful behavioral context beyond that: the constraint that playbook tools take only ids/reference names and that the user's P&Ps and loan files remain in their own chat, a data-handling guarantee not captured anywhere in the structured fields.

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-loaded with the core action, and the long parenthetical inventory of playbook topics is informative but heavier than strictly needed. Every sentence contributes, though the enumeration could be trimmed in a leaner definition.

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-argument, read-only listing tool with full annotation coverage and an output schema, nothing an agent needs is missing: it knows what will be listed, what each entry contains, and the id-only constraint on downstream playbook calls. Return-value details are backed by the output schema.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. The description instead clarifies the shape of each returned entry (id, what it does, when it applies, what the user provides), which is helpful but is about the return payload rather than argument semantics.

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?

States a specific verb ('Lists') and resource ('guided compliance playbooks this server provides') and then enumerates what those playbooks cover, so the agent can tell this catalogue tool apart from start_playbook, get_playbook_kit, and get_playbook_reference without opening a schema. The scope is concrete rather than a restatement of the title.

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

Usage Guidelines4/5

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

The closing sentence about playbook tools accepting only ids and reference names implies this list is the discovery step for obtaining those ids, which is clear context for when to call it. It stops short of explicitly naming alternatives or stating when-not to use it, so it is clear but not fully prescriptive.

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.