Cisco Support MCP Server
About
Access Cisco Support APIs for bug searches and other support-related tasks.
Details
- Author
- sieteunoseis
- Categories
- Cloud Service, Infrastructure, Other
Jump to
Setup
Install Cisco Support MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/sieteunoseis/mcp-cisco-support
Follow the installation instructions in the repository README, then restart your MCP client.
A production-ready TypeScript MCP (Model Context Protocol) server for Cisco Support APIs with comprehensive security and dual transport support. This extensible server provides access to multiple Cisco Support APIs including Bug Search, Case Management, and End-of-Life information.
- Multi-API Support: 8 Cisco Support APIs fully implemented (46 total tools)
- OAuth 2.1 Server: ✨ Production-grade authentication with fine-grained scope-based access control
- ElicitationRequest Support: Dynamic user interaction for gathering missing parameters
- Triple Auth Modes: stdio (no auth), Bearer token (simple), OAuth 2.1 (production)
- Configurable API Access: Enable only the Cisco Support APIs you have access to
- Specialized Prompts: 9 workflow prompts for guided Cisco support scenarios
- Dual Transport: stdio (local MCP clients) and HTTP (remote server with auth)
- OAuth2 Authentication: Automatic token management with Cisco API
- Real-time Updates: Server-Sent Events for HTTP mode
- TypeScript: Full type safety and MCP SDK integration
- Production Security: Helmet, CORS, input validation, PKCE, scope validation
- Docker Support: Containerized deployment with OAuth config volume mounts
- Comprehensive Logging: Structured logging with timestamps
The server supports the following Cisco Support APIs (configurable viaSUPPORT_APIenvironment variable):
Implementation Status:8/8 Core APIs complete (100%) with 46 total tools + 1 experimental API (8 tools)
- SUPPORT_API=enhanced_analysis- Enhanced analysis tools only (6 tools)← RECOMMENDED for most users
- SUPPORT_API=bug- All Bug API tools including enhanced analysis (14 tools)
- SUPPORT_API=bug,case,eox,psirt- Core support APIs (28 tools)
- SUPPORT_API=bug,case,eox,psirt,product,software- All implemented APIs (39 tools)
- SUPPORT_API=all- All available APIs (includes 2 placeholder APIs)
npx mcp-cisco-support --http # Token displayed in console for authentication
-
Generate authentication token (for HTTP mode):
npx mcp-cisco-support --generate-token export MCP_BEARER_TOKEN=<generated_token>
export CISCO_CLIENT_ID=your_client_id_here export CISCO_CLIENT_SECRET=your_client_secret_here export SUPPORT_API=bug,case,eox,psirt,product,software # All implemented APIs (recommended)
# For Claude Desktop (stdio mode) npx mcp-cisco-support # For HTTP access (with authentication) npx mcp-cisco-support --http
git clone https://github.com/sieteunoseis/mcp-cisco-support.git cd mcp-cisco-support npm install npm run build npm start
- Download fromClaude.ai
- Make sure you're using a recent version that supports MCP
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "cisco-support": { "command": "npx", "args": ["-y", "mcp-cisco-support"], "env": { "CISCO_CLIENT_ID": "your_client_id_here", "CISCO_CLIENT_SECRET": "your_client_secret_here", "SUPPORT_API": "bug,product" } } } }
Note:The-yflag automatically accepts package installation, which is required for Claude Desktop since it runs in the background without user interaction.
Configure which APIs to enable withSUPPORT_API:
- "enhanced_analysis"- Enhanced analysis tools only (recommended for most users)
- "bug"- Bug API only (default)
- "bug,product"- Bug + Product APIs (enables product autocomplete)
- "all"- All available APIs
- "bug,case,eox"- Multiple specific APIs
Product Autocomplete(optional, requiresSUPPORT_APIto includeproduct):
See theProduct Autocompletesection for setup instructions.
- Replaceyour_client_id_herewith your actual Cisco Client ID
- Replaceyour_client_secret_herewith your actual Cisco Client Secret
- Close Claude Desktop completely
- Reopen the application
- The MCP server will be automatically loaded
"Search for bugs related to memory leaks in Cisco switches"
"Get details for Cisco bug CSCab12345"
"Find bugs affecting Cisco Catalyst 3560 switches"
Once configured, you can ask Claude questions like:
- "Search for recent bugs related to 'crash' in Cisco products"
- "Find open bugs with severity 1 or 2"
- "Show me bugs modified in the last 30 days"
- "Find bugs for product ID C9200-24P"
- "Search for bugs in Cisco Catalyst 9200 Series affecting release 17.5.1"
- "Show bugs fixed in software release 17.5.2"
- "Get full details for bug CSCab12345"
- "Show me information about bugs CSCab12345,CSCcd67890"
- "Find resolved bugs with severity 3 modified after 2023-01-01"
- "Search for bugs in 'Cisco ASR 9000 Series' sorted by severity"
- "Can you show me all the cisco bugs in the last 30 days for the product Cisco Unified Communications Manager (CallManager)?" (uses keyword search)
- "Find bugs for Cisco Unified Communications Manager affecting releases 14.0 and 15.0" (uses product series search)
Claude will use the appropriate MCP tools to fetch real-time data from Cisco's Bug API and provide comprehensive responses with the latest information.
The server includes10+ specialized promptsfor guided Cisco support workflows:
- 🔍 cisco-high-severity-search- Search high-severity bugs by product or serial number
- 🚨 cisco-incident-investigation- Investigate symptoms and errors
- 🔄 cisco-upgrade-planning- Research issues before upgrades
- 🔧 cisco-maintenance-prep- Prepare for maintenance windows
- 🔒 cisco-security-advisory- Research security vulnerabilities
- ⚠️ cisco-known-issues- Check for software release issues
- 📋 cisco-case-investigation- Investigate support cases
- ⏰ cisco-lifecycle-planning- End-of-life planning
- 🎯 cisco-smart-search- Intelligent search with automatic refinement
- ✨ cisco-interactive-search- Interactive search with elicitation
Serial Number Support:Most prompts now accept either aproduct nameOR aserial number. When you provide a serial number (e.g., "SAL09232Q0Z"), the server automatically looks up the product details and uses them for the search. This makes it easy to investigate issues when you have a device serial number but don't know the exact product model.
Each prompt provides structured investigation plans and expert recommendations.
Thecisco-interactive-searchprompt demonstrates MCP's elicitation feature, allowing the server to dynamically request additional information from users during tool execution. This makes searches more natural and helps gather missing parameters without restarting requests.
Use the "cisco-interactive-search" prompt with: - initial_query: "memory leak" - use_elicitation: true
Seeexamples/elicitation-example.mdfor detailed usage examples and⚡ MCP Promptsfor complete prompt documentation.
WhenSUPPORT_APIincludesproduct, the following resources are available:
- cisco://products/{product_id}- Get product details by ID (e.g., C9300-24P, ISR4431)
- cisco://products/autocomplete/{search_term}- ✨NEW: Search product catalog by name or model
- cisco://products/catalog- Product catalog overview
- cisco://products/autocomplete-help- ✨NEW: Setup instructions for product autocomplete
- Visithttps://bst.cloudapps.cisco.com/
- Log in with your Cisco account
cisco://products/autocomplete/4431 cisco://products/autocomplete/catalyst cisco://products/autocomplete/ASA
For detailed setup instructions, query the help resource:
Query:cisco://products/autocomplete/4431
{ "autoPopulateHMPProductDetails": [{ "parentMdfConceptId": 286281708, "parentMdfConceptName": "Cisco 4000 Series Integrated Services Routers", "mdfConceptId": 284358776, "mdfConceptName": "Cisco 4431 Integrated Services Router", "mdfMetaclass": "Model" }] }
- "Show me the help for product autocomplete"
- "Search for Cisco product 4431 using autocomplete"
- "What is the full name of product ISR4431?"
- "Find products matching 'catalyst switch'"
⚠️ Smart Bonding Customer API (EXPERIMENTAL/UNTESTED)
The server includesexperimental supportfor Cisco's Smart Bonding Customer API for ticket management and problem code classification.This feature is UNTESTEDand requires special credentials obtained through your Cisco Account Manager.
- get_smart_bonding_tsp_codes- Retrieve TSP (Technology, Sub-Technology, Problem Code) details for ticket classification
- pull_smart_bonding_tickets- Retrieve ticket updates from Cisco that haven't been pulled yet
- create_smart_bonding_ticket- Create a new support ticket (returns upload credentials in response)
- update_smart_bonding_ticket- Add work notes and update ticket status
- upload_file_to_smart_bonding_ticket- Upload files using credentials from ticket creation (HTTPS PUT to cxd.cisco.com)
- escalate_smart_bonding_ticket- Escalate critical issues to Cisco
- resolve_smart_bonding_ticket- Mark tickets as resolved with resolution notes
- close_smart_bonding_ticket- Close completed tickets with diagnosis and solution
Smart Bonding uses aseparate upload mechanismfrom the REST API:
- Create ticket→ Response includes upload credentials (Field80-82)
- Save credentials→ Cannot be retrieved later!
- Upload files→ Useupload_file_to_smart_bonding_tickettool or curl
- 72-day expiration→ Token expires 72 days after creation
Upload credentials provided in ticket creation response:
- Field80: Upload domain (e.g., cxd.cisco.com)
- Field81: Authentication token (password)
- Field82: Token expiration timestamp
Files cannot be modified after upload - submit new files for corrections.
Smart Bonding API uses adifferent authentication systemthan standard Cisco Support APIs:
-
Obtain Credentials- Contact your Cisco Account Manager to request Smart Bonding API access
export SMART_BONDING_CLIENT_ID=your_smart_bonding_client_id export SMART_BONDING_CLIENT_SECRET=your_smart_bonding_client_secret export SMART_BONDING_ENV=production # or 'staging' for test environment export SUPPORT_API=smart_bonding # Enable Smart Bonding API
- Get TSP codes for ticket classification
- Pull new ticket updates
- Create/update tickets with standardized problem categorization
- ⚠️EXPERIMENTAL/UNTESTED- This implementation has not been tested with live Smart Bonding credentials
- ⚠️Separate Credentials Required- Smart Bonding uses different OAuth2 credentials than standard Support APIs
- ⚠️Not Included inSUPPORT_API=all- Must be explicitly enabled withSUPPORT_API=smart_bonding
- ⚠️Special Access Required- Contact Cisco Account Manager for credential provisioning
- Base URLs differ for staging vs production environments
- Supports correlation IDs for end-to-end request traceability
# With Claude Desktop - add to claude_desktop_config.json { "mcpServers": { "cisco-smart-bonding": { "command": "npx", "args": ["-y", "mcp-cisco-support"], "env": { "SMART_BONDING_CLIENT_ID": "your_id", "SMART_BONDING_CLIENT_SECRET": "your_secret", "SMART_BONDING_ENV": "production", "SUPPORT_API": "smart_bonding" } } } }
For complete implementation details and API architecture, seeSMART_BONDING_IMPLEMENTATION.md.
Claude Desktop successfully connected to the Cisco Support MCP server, demonstrating the bug search functionality with real-time responses from Cisco's Bug API.
MCP Inspector v0.14.0+ showing the available tools and server connectivity testing capabilities.
If you prefer to install globally instead of using npx:
{ "mcpServers": { "cisco-support": { "command": "mcp-cisco-support", "env": { "CISCO_CLIENT_ID": "your_client_id_here", "CISCO_CLIENT_SECRET": "your_client_secret_here", "SUPPORT_API": "bug" } } } }
git clone https://github.com/sieteunoseis/mcp-cisco-support.git cd mcp-cisco-support npm install npm run build
{ "mcpServers": { "cisco-support": { "command": "node", "args": ["/path/to/mcp-cisco-support/dist/index.js"], "env": { "CISCO_CLIENT_ID": "your_client_id_here", "CISCO_CLIENT_SECRET": "your_client_secret_here", "SUPPORT_API": "bug" } } } }
- Ensure Node.js 18+ is installed
- Try global installation:npm install -g mcp-cisco-support
- Verify the path in your config file
- Double-check your Client ID and Secret
- Ensure your Cisco API app has Bug API access
- Check for typos in the config file
- Restart Claude Desktop completely
- Check the config file syntax with a JSON validator
- Look for Claude Desktop logs/error messages
- Ensure the config file is readable
- On macOS/Linux, check file permissions:chmod 644 claude_desktop_config.json
This should start the server in stdio mode without errors.
Validate your config: Use a JSON validator to ensure your config file is properly formatted.
- Look for MCP-related error messages in Claude Desktop
- The app usually shows connection status for MCP servers
# Follow logs in real-time tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
# Check logs directory %APPDATA%\Claude\logs\
- Issues:GitHub Issues
- Cisco API:Cisco Developer Documentation
- MCP Protocol:Model Context Protocol
# Use pre-built image docker pull ghcr.io/sieteunoseis/mcp-cisco-support:latest docker run -p 3000:3000 \ -e CISCO_CLIENT_ID=your_id \ -e CISCO_CLIENT_SECRET=your_secret \ -e SUPPORT_API=bug \ ghcr.io/sieteunoseis/mcp-cisco-support:latest --http # Or build locally docker-compose up -d
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




