Skip to main content
Glama

list_all_models

Retrieve all 120 HUMMBL mental models with basic information to support problem-solving and decision-making. Filter by transformation type as needed.

Instructions

Retrieve complete list of all 120 HUMMBL mental models with basic information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
transformation_filterNoOptional filter by transformation type

Implementation Reference

  • MCP tool registration for 'list_all_models'. Includes Zod schemas for input (optional transformation_filter) and output (total and models array), and inline async handler that retrieves all models or filters by transformation, enriches each with transformation key, and returns JSON-formatted response.
    "list_all_models", { title: "List All Mental Models", description: "Retrieve complete list of all 120 HUMMBL mental models with basic information.", inputSchema: z.object({ transformation_filter: z .enum(["P", "IN", "CO", "DE", "RE", "SY"]) .optional() .describe("Optional filter by transformation type"), }), outputSchema: z.object({ total: z.number(), models: z.array( z.object({ code: z.string(), name: z.string(), definition: z.string(), priority: z.number(), transformation: z.string(), }) ), }), }, async ({ transformation_filter }) => { let models = getAllModels(); if (transformation_filter) { const result = getModelsByTransformation(transformation_filter); if (!isOk(result)) { return { content: [ { type: "text", text: `Unable to list models for transformation '${transformation_filter}'.`, }, ], isError: true, } as const; } models = result.value; } const enriched = models.map((m) => { const trans = Object.values(TRANSFORMATIONS).find((t) => t.models.some((model) => model.code === m.code) ); return { code: m.code, name: m.name, definition: m.definition, priority: m.priority, transformation: trans?.key ?? "UNKNOWN", }; }); const payload = { total: enriched.length, models: enriched, }; return { content: [ { type: "text", text: JSON.stringify(payload, null, 2), }, ], structuredContent: payload, } as const; } );
  • The core handler function for the list_all_models tool. Fetches all models using getAllModels(), applies optional transformation filter, enriches models with their transformation category by searching TRANSFORMATIONS, constructs payload with total count and model list, and returns structured content.
    async ({ transformation_filter }) => { let models = getAllModels(); if (transformation_filter) { const result = getModelsByTransformation(transformation_filter); if (!isOk(result)) { return { content: [ { type: "text", text: `Unable to list models for transformation '${transformation_filter}'.`, }, ], isError: true, } as const; } models = result.value; } const enriched = models.map((m) => { const trans = Object.values(TRANSFORMATIONS).find((t) => t.models.some((model) => model.code === m.code) ); return { code: m.code, name: m.name, definition: m.definition, priority: m.priority, transformation: trans?.key ?? "UNKNOWN", }; }); const payload = { total: enriched.length, models: enriched, }; return { content: [ { type: "text", text: JSON.stringify(payload, null, 2), }, ], structuredContent: payload, } as const; }
  • Helper function used by the tool handler to retrieve the complete flat list of all 120 mental models from the TRANSFORMATIONS object.
    export function getAllModels(): MentalModel[] { return Object.values(TRANSFORMATIONS).flatMap((t) => t.models); }
  • Helper function used for filtering models by transformation type (e.g., 'P', 'IN') when transformation_filter is provided.
    export function getModelsByTransformation( transformationKey: TransformationType ): Result<MentalModel[], DomainError> { const trans = TRANSFORMATIONS[transformationKey] ?? null; if (!trans) { return err({ type: "NotFound", entity: "Transformation", code: transformationKey }); } return ok(trans.models); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hummbl-dev/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server