Skip to main content
Glama
sieteunoseis

mcp-cisco-support

search_bugs_by_product_series_affected

Search Cisco bug reports for specific product series and affected software releases to identify potential issues and fixes.

Instructions

Search bugs by product series and affected releases. This endpoint accepts full product series names like "Cisco 4000 Series Integrated Services Routers". IMPORTANT: Use Cisco API version format without leading zeros (17.9.6 not 17.09.06).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
product_seriesYesProduct series name (accepts full names like "Cisco 4000 Series Integrated Services Routers", "Cisco Catalyst 9200 Series", etc.)
affected_releasesYesComma-separated affected release versions in Cisco API format (e.g., "17.9.6,17.12.3" not "17.09.06" - no leading zeros). Can search up to 75 versions in one call.
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

  • Handler logic in BugApi.executeTool method that constructs the Cisco Bug Search API endpoint specifically for 'search_bugs_by_product_series_affected' tool, using product_series and affected_releases parameters.
    case 'search_bugs_by_product_series_affected':
      endpoint = `/bugs/product_series/${encodeURIComponent(processedArgs.product_series)}/affected_releases/${encodeURIComponent(processedArgs.affected_releases)}`;
      break;
  • Tool schema definition in BugApi.getTools(), including detailed input schema, description, required parameters (product_series, affected_releases), and optional filters.
      name: 'search_bugs_by_product_series_affected',
      description: 'Search bugs by product series and affected releases. This endpoint accepts full product series names like "Cisco 4000 Series Integrated Services Routers". IMPORTANT: Use Cisco API version format without leading zeros (17.9.6 not 17.09.06).',
      inputSchema: {
        type: 'object',
        properties: {
          product_series: {
            type: 'string',
            description: 'Product series name (accepts full names like "Cisco 4000 Series Integrated Services Routers", "Cisco Catalyst 9200 Series", etc.)'
          },
          affected_releases: {
            type: 'string',
            description: 'Comma-separated affected release versions in Cisco API format (e.g., "17.9.6,17.12.3" not "17.09.06" - no leading zeros). Can search up to 75 versions in one call.'
          },
          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: ['product_series', 'affected_releases']
      }
    },
  • Registration of BugApi instance in ApiRegistry.initializeApis(), making its tools (including search_bugs_by_product_series_affected) available to the MCP server.
    private initializeApis(): void {
      // 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
  • Helper in formatSearchContext that adds specific formatting for search_bugs_by_product_series_affected tool parameters in the response output.
    } else if (searchContext.toolName === 'search_bugs_by_product_series_affected') {
      formatted += `**Product Series:** ${searchContext.args.product_series}\n\n`;
      formatted += `**Affected Releases:** ${searchContext.args.affected_releases}\n\n`;
    } else if (searchContext.toolName === 'search_bugs_by_product_series_fixed') {
  • Test cases and mock input validation data for search_bugs_by_product_series_affected tool.
    search_bugs_by_product_series_affected: {
      valid: {
        product_series: 'Cisco Catalyst 9200 Series',
        affected_releases: '17.5.1'
      },
      invalid: {
        product_series: '',
        affected_releases: ''
      }
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context such as format constraints ('no leading zeros') and hints at API limitations, but does not fully describe behavioral traits like pagination details, rate limits, or error handling, leaving gaps for a tool with 7 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with two sentences that efficiently convey the tool's purpose and critical usage notes without any wasted words, making it easy for an AI agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no annotations, no output schema), the description is somewhat complete but has gaps. It covers purpose and key constraints, but lacks details on output format, error cases, or behavioral nuances, which could hinder an AI agent's ability to use the tool effectively without trial and error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema, primarily reinforcing format rules for 'affected_releases', but does not provide additional semantic context or usage examples for parameters beyond what's in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Search bugs') and resources ('by product series and affected releases'), distinguishing it from sibling tools like 'search_bugs_by_product_name_affected' or 'search_bugs_by_product_series_fixed' by focusing on affected releases rather than fixed ones or other parameters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool, including format requirements (e.g., 'Cisco API version format without leading zeros'), but does not explicitly state when not to use it or name alternatives, though it implies differentiation from siblings by its specific focus on product series and affected releases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

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