Skip to main content
Glama
sieteunoseis

mcp-cisco-support

search_bugs_by_product_id

Find Cisco product bugs using a specific product ID like C9200-24P. Filter results by status, severity, and modification date to identify relevant issues.

Instructions

Search bugs by specific base product ID (e.g., C9200-24P). Use when you have an exact Cisco product ID. For general product searches by name, consider using keyword search instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
base_pidYesBase product ID
page_indexNoPage number (10 results per page)
statusNoBug status filter. IMPORTANT: Only ONE status allowed per search. Values: O=Open, F=Fixed, T=Terminated. Do NOT use comma-separated values like "O,F".
severityNoBug severity filter. Returns bugs with ONLY the specified severity level. Values: 1=Severity 1 (highest), 2=Severity 2, 3=Severity 3, 4=Severity 4, 5=Severity 5, 6=Severity 6 (lowest). For "severity 3 or higher" bugs, use multi_severity_search tool which handles multiple separate API calls.
modified_dateNoLast modified date filter. Values: 1=Last Week, 2=Last 30 Days, 3=Last 6 Months, 4=Last Year, 5=All. Default: 5 (All)5
sort_byNoSort order for results. Default: modified_date (recent first)

Implementation Reference

  • Tool schema definition including inputSchema with base_pid required parameter and optional filters like status, severity, page_index
    {
      name: 'search_bugs_by_product_id',
      description: 'Search bugs by specific base product ID (e.g., C9200-24P). Use when you have an exact Cisco product ID. For general product searches by name, consider using keyword search instead.',
      inputSchema: {
        type: 'object',
        properties: {
          base_pid: {
            type: 'string',
            description: 'Base product ID'
          },
          page_index: {
            type: 'integer',
            default: 1,
            description: 'Page number (10 results per page)'
          },
          status: {
            type: 'string',
            description: 'Bug status filter. IMPORTANT: Only ONE status allowed per search. Values: O=Open, F=Fixed, T=Terminated. Do NOT use comma-separated values like "O,F".',
            enum: ['O', 'F', 'T']
          },
          severity: {
            type: 'string',
            description: 'Bug severity filter. Returns bugs with ONLY the specified severity level. Values: 1=Severity 1 (highest), 2=Severity 2, 3=Severity 3, 4=Severity 4, 5=Severity 5, 6=Severity 6 (lowest). For "severity 3 or higher" bugs, use multi_severity_search tool which handles multiple separate API calls.',
            enum: ['1', '2', '3', '4', '5', '6']
          },
          modified_date: {
            type: 'string',
            description: 'Last modified date filter. Values: 1=Last Week, 2=Last 30 Days, 3=Last 6 Months, 4=Last Year, 5=All. Default: 5 (All)',
            enum: ['1', '2', '3', '4', '5'],
            default: '5'
          },
          sort_by: {
            type: 'string',
            description: 'Sort order for results. Default: modified_date (recent first)',
            enum: ['status', 'modified_date', 'severity', 'support_case_count', 'modified_date_earliest']
          },
        },
        required: ['base_pid']
      }
  • Handler in executeTool method: encodes the base_pid parameter and constructs the Cisco Bug API endpoint `/bugs/products/product_id/{base_pid}`, then calls makeApiCall from base class
    case 'search_bugs_by_product_id':
      // Ensure forward slashes are properly encoded for product IDs like ISR4431-V/K9
      const encodedBasePid = encodeURIComponent(processedArgs.base_pid).replace(/\//g, '%2F');
      endpoint = `/bugs/products/product_id/${encodedBasePid}`;
      break;
  • Registration of BugApi instance in ApiRegistry's apis map, making its tools (including search_bugs_by_product_id) available via getAvailableTools()
      // Initialize implemented APIs
      this.apis.set('bug', new BugApi());
      this.apis.set('case', new CaseApi());
      this.apis.set('eox', new EoxApi());
      this.apis.set('psirt', new PsirtApi());
      this.apis.set('product', new ProductApi());
      this.apis.set('software', new SoftwareApi());
      this.apis.set('serial', new SerialApi());
      this.apis.set('rma', new RmaApi());
      this.apis.set('enhanced_analysis', new EnhancedAnalysisApi());
      this.apis.set('smart_bonding', new SmartBondingApi() as any); // Cast needed due to different base class
    }
  • Listed as internal tool in EnhancedAnalysisApi (extends BugApi), allowing internal use by enhanced analysis tools despite not being exposed publicly
      'search_bugs_by_keyword',
      'search_bugs_by_product_id',
      'search_bugs_by_product_and_release',
      'search_bugs_by_product_series_affected',
      'search_bugs_by_product_series_fixed',
      'search_bugs_by_product_name_affected',
      'search_bugs_by_product_name_fixed'
    ];
  • Helper in formatSearchContext function to include product ID in formatted search context for bug search results
    } else if (searchContext.toolName === 'search_bugs_by_product_id' && searchContext.args.base_pid) {
      formatted += `**Product ID:** ${searchContext.args.base_pid}\n\n`;

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/sieteunoseis/mcp-cisco-support'

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