Skip to main content
Glama

get_firmware_versions

Retrieve firmware version information for CIMC, BIOS, storage controllers, and network adapters to manage Cisco C-Series server components.

Instructions

List all component firmware versions: CIMC, BIOS, storage controllers, network adapters, etc.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The main handler function that retrieves firmware versions by querying the 'firmwareRunning' class and returns formatted JSON with firmware details including dn, type, version, deployment, and packageVersion.
    export async function getFirmwareVersions(): Promise<string> {
      const firmware = await resolveClass("firmwareRunning");
    
      return JSON.stringify(
        {
          total: firmware.length,
          firmware: firmware.map((f) => ({
            dn: f.dn,
            type: f.type,
            version: f.version,
            deployment: f.deployment,
            packageVersion: f.packageVersion,
          })),
        },
        null,
        2,
      );
    }
  • Tool definition with name 'get_firmware_versions', description, and empty input schema (no parameters required).
    export const getFirmwareVersionsDef = {
      name: "get_firmware_versions",
      description:
        "List all component firmware versions: CIMC, BIOS, storage controllers, network adapters, etc.",
      inputSchema: z.object({}),
    };
  • src/index.ts:138-143 (registration)
    Registration of the tool with the MCP server, wiring together the definition and handler function with error handling wrapper.
    server.tool(
      getFirmwareVersionsDef.name,
      getFirmwareVersionsDef.description,
      getFirmwareVersionsDef.inputSchema.shape,
      wrapHandler(getFirmwareVersions),
    );
  • Helper utility function used by the handler to query all objects of a specific class (firmwareRunning) from the CIMC API via XML request.
    export async function resolveClass(
      classId: string,
      hierarchical = false,
    ): Promise<Record<string, string>[]> {
      const xml = `<configResolveClass cookie="{cookie}" inHierarchical="${hierarchical}" classId="${classId}"/>`;
      const result = await authenticatedRequest(xml);
      return extractOutConfigs(result, "configResolveClass");
    }

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/schwarztim/cimc-mcp'

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