Skip to main content
Glama

browse_classes

Browse D&D 5e SRD classes to list all options, view class features by level, or calculate multiclass combinations and spell slots.

Instructions

Browse D&D 5e SRD classes. List all classes, view a specific class's features at any level, or calculate multiclass feature combinations.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
class_nameNoName of a specific class to look up
levelNoFilter features to this level or below (1-20)
multiclassNoArray of class/level combos to calculate multiclass features and spell slots

Implementation Reference

  • Implementation and registration of the 'browse_classes' tool. It uses input parameters to determine whether to list all classes, show a single class's details, or calculate multiclass combinations.
    server.registerTool(
      'browse_classes',
      {
        description:
          'Browse D&D 5e SRD classes. List all classes, view a specific class\'s features at any level, or calculate multiclass feature combinations.',
        inputSchema: {
          class_name: z
            .string()
            .optional()
            .describe('Name of a specific class to look up'),
          level: z
            .number()
            .int()
            .min(1)
            .max(20)
            .optional()
            .describe('Filter features to this level or below (1-20)'),
          multiclass: z
            .array(
              z.object({
                class_name: z.string().describe('Class name'),
                level: z.number().int().min(1).max(20).describe('Level in this class'),
              }),
            )
            .optional()
            .describe(
              'Array of class/level combos to calculate multiclass features and spell slots',
            ),
        },
      },
      async ({ class_name, level, multiclass }) => {
        // Mode 3: Multiclass combination
        if (multiclass && multiclass.length > 0) {
          return handleMulticlass(db, multiclass);
        }
    
        // Mode 2: Specific class
        if (class_name) {
          return handleSingleClass(db, class_name, level);
        }
    
        // Mode 1: List all classes
        return handleListClasses(db);
      },
    );
  • Registration function exported for the 'browse_classes' tool.
    export function registerBrowseClasses(
      server: McpServer,
      db: Database.Database,
    ): void {

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/gregario/dnd-oracle'

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