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);
    }

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

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