Skip to main content
Glama

get_all_details

Retrieve comprehensive lifecycle details for all versions of a software product to check end-of-life dates, support status, and upgrade recommendations.

Instructions

Get comprehensive lifecycle details for all versions of a product

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
productYesSoftware product name (e.g., python, nodejs)

Implementation Reference

  • Executes the get_all_details tool: fetches all cycles for the product from EOL API, validates each against current date, and returns detailed JSON with validation status.
    private async handleGetAllDetails(args: GetAllDetailsArgs) {
      const { product } = args;
    
      if (!this.availableProducts.includes(product)) {
        return {
          content: [{
            type: "text",
            text: `Invalid product: ${product}. Use list_products tool to see available products.`
          }],
          isError: true
        };
      }
    
      try {
        const cycles = await this.getProductDetails(product);
        const currentDate = new Date();
    
        // Add validation results for each cycle
        const detailedCycles = cycles.map(cycle => {
          const validation = this.validateVersion(cycle, currentDate);
          return {
            ...cycle,
            validation: {
              is_valid: validation.isValid,
              days_to_eol: validation.daysToEol,
              is_supported: validation.isSupported,
              message: validation.validationMessage
            }
          };
        });
    
        return {
          content: [{
            type: "text",
            text: JSON.stringify({
              product,
              current_date: currentDate.toISOString(),
              cycles: detailedCycles
            }, null, 2)
          }]
        };
      } catch (error) {
        if (axios.isAxiosError(error)) {
          return {
            content: [{
              type: "text",
              text: `API error: ${error.response?.data?.message ?? error.message}`
            }],
            isError: true
          };
        }
        throw error;
      }
    }
  • src/index.ts:363-377 (registration)
    Registers the get_all_details tool in the ListToolsRequestSchema handler, defining its name, description, and input schema.
    {
      name: "get_all_details",
      description: "Get comprehensive lifecycle details for all versions of a product",
      inputSchema: {
        type: "object",
        properties: {
          product: {
            type: "string",
            description: "Software product name (e.g., python, nodejs)",
            examples: ["python", "nodejs"]
          }
        },
        required: ["product"]
      }
    }
  • TypeScript interface defining the input arguments for the get_all_details tool.
    export interface GetAllDetailsArgs {
      product: string;
    }
  • Type guard function to validate input arguments match GetAllDetailsArgs interface.
    export function isValidGetAllDetailsArgs(args: any): args is GetAllDetailsArgs {
      return (
        typeof args === "object" &&
        args !== null &&
        "product" in args &&
        typeof args.product === "string"
      );
    }
  • src/index.ts:427-435 (registration)
    Dispatcher case in CallToolRequestSchema handler that validates args and invokes the get_all_details handler.
    case "get_all_details": {
      if (!isValidGetAllDetailsArgs(args)) {
        throw new McpError(
          ErrorCode.InvalidParams,
          "Invalid get all details arguments"
        );
      }
      return this.handleGetAllDetails(args);
    }

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/ducthinh993/mcp-server-endoflife'

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