Skip to main content
Glama
MCP_FEATURES_COMPARISON.mdβ€’11.7 kB
# MCP Features Comparison - Cisco Support Server **Last Updated:** 2025-10-23 | **Version:** 1.11.3 --- ## Quick Reference | Feature | Status | Priority | Benefit | Effort | |---------|--------|----------|---------|--------| | **Tools** | βœ… Implemented | - | Core functionality | Complete | | **Prompts** | βœ… Implemented | - | Workflow templates | Complete | | **ElicitationRequest** | βœ… Implemented | - | User interaction | Complete | | **Ping** | βœ… Implemented | - | Connectivity test | Complete | | **Resources** | βœ… Implemented ✨ NEW | - | 50% fewer API calls | Complete | | **Progress Notifications** | ❌ Missing | πŸ”΄ HIGH | Better UX | 1-2 days | | **Sampling** | ❌ Missing | 🟑 MEDIUM | AI-powered features | 2-3 days | | **Logging** | ❌ Missing | 🟑 MEDIUM | Better debugging | 1 day | | **Roots** | ❌ Missing | 🟒 LOW | Workspace context | 1 day | | **Cancellation** | ❌ Missing | 🟒 LOW | Operation control | 2 days | --- ## Feature Details ### βœ… Currently Implemented #### 1. Tools (30+ tools) **What it does:** Expose callable functions to MCP clients **Our Implementation:** - 8 Bug API tools - 3 Product API tools - 6 Software API tools - 3 Serial API tools - 3 RMA API tools - 8 PSIRT API tools **Example:** ```json { "name": "search_bugs_by_keyword", "description": "Search for bugs using keywords", "inputSchema": { ... } } ``` --- #### 2. Prompts (11 prompts) **What it does:** Pre-built workflow templates for common tasks **Our Implementation:** - cisco-high-severity-search - cisco-incident-investigation - cisco-upgrade-planning - cisco-maintenance-prep - cisco-security-advisory - cisco-known-issues - cisco-case-investigation - cisco-lifecycle-planning - cisco-eox-research - cisco-smart-search - cisco-interactive-search **Example:** ```json { "name": "cisco-upgrade-planning", "description": "Research known issues before upgrading", "arguments": [...] } ``` --- #### 3. ElicitationRequest **What it does:** Request missing parameters from users interactively **Our Implementation:** - apiCredentials schema - searchRefinement schema - userConfirmation schema - productSelection schema **Example:** ```typescript createElicitationRequest( 'Please refine search parameters', ElicitationSchemas.searchRefinement ); ``` --- #### 4. Ping **What it does:** Test connectivity and responsiveness **Our Implementation:** - Stdio ping support - HTTP `/ping` endpoint - MCP JSON-RPC ping method --- #### 5. Resources ✨ NEW **What it does:** Expose structured data as readable MCP resources **Our Implementation:** **Static Resources:** - `cisco://bugs/recent/critical` - Critical bugs (severity 1-2) from last 7 days - `cisco://bugs/recent/high` - High-severity bugs (severity 1-3) from last 30 days - `cisco://products/catalog` - Product catalog overview - `cisco://security/advisories/recent` - Latest 20 security advisories - `cisco://security/advisories/critical` - Critical severity advisories **Resource Templates (Dynamic URIs):** - `cisco://bugs/{bug_id}` - Any bug by ID (e.g., CSCvi12345) - `cisco://products/{product_id}` - Any product by ID (e.g., C9300-24P) - `cisco://security/advisories/{advisory_id}` - Any advisory by ID - `cisco://security/cve/{cve_id}` - Advisory by CVE identifier **Example:** ```typescript // List resources const { resources, resourceTemplates } = await mcpServer.request({ method: 'resources/list' }); // Read using template pattern const bugData = await mcpServer.request({ method: 'resources/read', params: { uri: 'cisco://bugs/CSCvi12345' } }); ``` **Benefits:** - Direct data access without tool calls - Real-time information from Cisco APIs - Resource templates for dynamic URIs - Reduced API overhead **ROI:** πŸš€ **50% reduction in duplicate API calls** --- ### ❌ Missing Features (To Be Implemented) #### 1. Progress Notifications πŸ“Š HIGH PRIORITY **What it does:** Real-time updates for long-running operations **Proposed Implementation:** ```typescript // Multi-severity search sendProgress({ progress: 0, total: 3, message: "Searching severity 1..." }); sendProgress({ progress: 1, total: 3, message: "Searching severity 2..." }); sendProgress({ progress: 2, total: 3, message: "Searching severity 3..." }); // Comprehensive analysis sendProgress({ progress: 1, total: 5, message: "1/5: Searching bugs..." }); sendProgress({ progress: 2, total: 5, message: "2/5: Checking advisories..." }); ``` **Use Cases:** - Multi-severity bug searches - Bulk product analysis (100+ products) - Comprehensive analysis workflows - Long API call chains **ROI:** 🎯 **Much better UX for operations >3 seconds** --- #### 3. Sampling πŸ€– MEDIUM PRIORITY **What it does:** Server requests LLM completions from client **Proposed Implementation:** ```typescript // Intelligent product resolution const productId = await requestSampling({ messages: [{ role: "user", content: 'What is the product ID for "Catalyst 9200 24-port switch"?' }] }); // Bug categorization const category = await requestSampling({ messages: [{ role: "user", content: `Categorize this bug: ${bugDescription}` }] }); // Upgrade risk analysis const risk = await requestSampling({ messages: [{ role: "user", content: `Analyze upgrade risk: ${current} -> ${target}` }] }); ``` **Use Cases:** - Smart product name resolution - Automatic bug categorization - Upgrade risk assessment - Natural language query translation **ROI:** 🧠 **Enable 3+ new intelligent features** --- #### 4. Logging πŸ“ MEDIUM PRIORITY **What it does:** Structured MCP-compliant logging notifications **Proposed Implementation:** ```typescript logDebug("Calling Cisco Bug API: /bugs/keyword/memory+leak"); logInfo("Retrieved 45 bugs in 1.2s"); logWarning("Rate limit: 90% of quota used"); logError("API authentication failed, retrying..."); ``` **Use Cases:** - API call tracing - Performance monitoring - Error tracking - Search strategy visibility **ROI:** πŸ” **Better debugging and monitoring** --- #### 5. Roots πŸ“ LOW PRIORITY **What it does:** Declare workspace and file system contexts **Proposed Implementation:** ```typescript roots: [ { uri: "file:///etc/cisco", name: "Cisco Configs" }, { uri: "file:///var/log/cisco", name: "Cisco Logs" }, { uri: "file://~/cisco-reports", name: "Bug Reports" }, { uri: "file://~/.cache/cisco-mcp", name: "API Cache" } ] ``` **Use Cases:** - Configuration directory context - Log file locations - Report output paths - Cache directories **ROI:** πŸ“‚ **Nice to have, but low priority** --- #### 6. Cancellation β›” LOW PRIORITY **What it does:** Abort long-running operations **Proposed Implementation:** ```typescript async function comprehensiveAnalysis(params, cancellationToken) { const steps = [searchBugs, checkAdvisories, analyzeCVEs]; for (const step of steps) { if (cancellationToken.isCancelled()) { return { cancelled: true, partial: results }; } results.push(await step()); } } ``` **Use Cases:** - Cancel bulk operations - Stop multi-step analysis - User navigation away **ROI:** β›” **Rare use case, but good for completeness** --- ## Implementation Priority Matrix ``` High Impact, Low Effort High Impact, High Effort β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ PROGRESS (1-2 days) β”‚ β”‚ RESOURCES (2-3 days)β”‚ β”‚ ⭐ DO FIRST β”‚ β”‚ ⭐ DO SECOND β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Low Impact, Low Effort Low Impact, High Effort β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ LOGGING (1 day) β”‚ β”‚ CANCELLATION (2 days)β”‚ β”‚ ROOTS (1 day) β”‚ β”‚ ⏸️ DEFER β”‚ β”‚ βœ… NICE TO HAVE β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Medium Impact, Medium Effort β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ SAMPLING (2-3 days) β”‚ β”‚ πŸ’‘ INNOVATIVE β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## Recommended Implementation Order ### Phase 1: Quick Wins (Week 1-2) 1. ⚑ **Progress Notifications** (1-2 days) - Immediate UX improvement 2. πŸš€ **Resources** (2-3 days) - Major performance boost **Why First?** - Lowest effort for highest impact - Visible improvements users will notice immediately - Foundation for other features --- ### Phase 2: Innovation (Week 3) 3. πŸ€– **Sampling** (2-3 days) - Unique AI capabilities **Why Second?** - Differentiator from other MCP servers - Enables intelligent features not possible before - Medium effort, high innovation value --- ### Phase 3: Polish (Week 4) 4. πŸ“ **Logging** (1 day) - Developer experience 5. πŸ“ **Roots** (1 day) - Completeness 6. β›” **Cancellation** (2 days, optional) - Edge cases **Why Last?** - Lower priority improvements - Nice to have but not critical - Can be deferred if time constrained --- ## Feature Comparison with Other MCP Servers | Feature | Cisco Support | Typical MCP Server | Best-in-Class | |---------|---------------|-------------------|---------------| | Tools | βœ… 30+ | βœ… 5-10 | βœ… 20+ | | Prompts | βœ… 11 | ⚠️ 0-2 | βœ… 10+ | | ElicitationRequest | βœ… Yes | ❌ No | βœ… Yes | | Resources | ❌ No | ⚠️ Sometimes | βœ… Yes | | Sampling | ❌ No | ❌ Rare | βœ… Yes | | Progress | ❌ No | ❌ Rare | βœ… Yes | | Logging | ❌ No | ⚠️ Sometimes | βœ… Yes | | Roots | ❌ No | ⚠️ Sometimes | βœ… Yes | | Cancellation | ❌ No | ❌ Rare | βœ… Yes | **Current Position:** Above Average (4/9 features) **After Implementation:** Best-in-Class (9/9 features) --- ## Technical Implementation Snippets ### Resources ```typescript mcpServer.setRequestHandler(ListResourcesRequestSchema, async () => ({ resources: [ { uri: "cisco://bugs/recent", name: "Recent Bugs", mimeType: "application/json" } ] })); ``` ### Progress ```typescript mcpServer.notification({ method: "notifications/progress", params: { progress: 1, total: 3, progressToken: token } }); ``` ### Sampling ```typescript const result = await mcpServer.request({ method: "sampling/createMessage", params: { messages: [...], maxTokens: 100 } }, CreateMessageRequestSchema); ``` ### Logging ```typescript mcpServer.notification({ method: "notifications/message", params: { level: "info", data: "API call completed" } }); ``` --- ## Success Metrics | Feature | Success Metric | Target | |---------|---------------|--------| | Resources | API call reduction | 50% fewer duplicates | | Progress | User satisfaction | 90%+ positive feedback | | Sampling | New features enabled | 3+ intelligent features | | Logging | Debug time reduction | 30% faster issue resolution | | Overall | Test coverage | 90%+ | | Overall | Backward compatibility | 100% | --- ## Next Steps 1. βœ… Review this comparison and proposal 2. πŸ“‹ Create GitHub issue from template 3. πŸ—οΈ Start Phase 1 implementation 4. πŸ§ͺ Test with MCP Inspector 5. πŸ“š Update documentation 6. πŸš€ Release v2.0.0 --- ## Questions? See full details in: - [MCP Enhancement Proposal](./MCP_ENHANCEMENT_PROPOSAL.md) - [GitHub Issue Template](./GITHUB_ISSUE_MCP_ENHANCEMENTS.md) - [MCP Specification](https://modelcontextprotocol.io/specification/2025-03-26/)

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