Skip to main content
Glama
GITHUB_ISSUE_MCP_ENHANCEMENTS.mdโ€ข10.8 kB
# GitHub Issue: Implement Additional MCP Protocol Features **Issue Type:** Enhancement **Priority:** High **Milestone:** v2.0.0 --- ## Summary Implement missing Model Context Protocol (MCP) features to enhance the Cisco Support MCP Server with Resources, Sampling, Progress Notifications, Logging, Roots, and Cancellation support. See full proposal: [MCP Enhancement Proposal](./MCP_ENHANCEMENT_PROPOSAL.md) --- ## Background The Cisco Support MCP Server currently implements: - โœ… Tools (30+ tools) - โœ… Prompts (11 workflow prompts) - โœ… ElicitationRequest Missing features from the full MCP specification: - โŒ Resources - โŒ Sampling - โŒ Roots - โŒ Progress Notifications - โŒ MCP-compliant Logging - โŒ Cancellation --- ## Proposed Implementation ### Phase 1: High-Impact Features (Weeks 1-2) ๐Ÿš€ #### 1. Resources Feature **Priority:** HIGH | **Effort:** Medium (2-3 days) | **Impact:** High Implement MCP Resources to expose: - Bug reports: `cisco://bugs/{bug_id}` - Product info: `cisco://products/{product_id}/specifications` - Security advisories: `cisco://security/advisories/{advisory_id}` - Cached searches: `cisco://cache/search/{search_id}` **Benefits:** - 50% reduction in repeated API calls - Direct access to bug reports without tool calls - Real-time data subscriptions - Improved user experience **Tasks:** - [ ] Add resource handlers to mcp-server.ts - [ ] Implement resource URI routing - [ ] Add caching layer for resources - [ ] Create resource templates for dynamic URIs - [ ] Write unit tests for resource handlers - [ ] Update documentation with resource URIs - [ ] Test with MCP Inspector **Files to modify:** - `src/mcp-server.ts` - Add resource handlers - `src/types.ts` - Define resource types - `src/utils/cache.ts` - New caching utility - `tests/resources.test.ts` - New test file - `CLAUDE.md` - Documentation updates --- #### 2. Progress Notifications **Priority:** HIGH | **Effort:** Low-Medium (1-2 days) | **Impact:** High Add real-time progress updates for: - Multi-severity searches - Bulk product analysis - Comprehensive analysis workflows **Benefits:** - Better UX for long-running operations - User visibility into operation status - Improved perceived performance **Tasks:** - [ ] Add progress notification support to server - [ ] Update multi_severity_search with progress - [ ] Update comprehensive_analysis with progress - [ ] Add progress to bulk operations - [ ] Test progress with MCP Inspector - [ ] Document progress usage patterns **Files to modify:** - `src/mcp-server.ts` - Progress notification support - `src/apis/enhanced-analysis-api.ts` - Add progress calls - `src/apis/bug-api.ts` - Add progress to multi-step ops - `tests/progress.test.ts` - New test file --- ### Phase 2: AI Enhancement (Week 3) ๐Ÿค– #### 3. Sampling Support **Priority:** MEDIUM | **Effort:** Medium (2-3 days) | **Impact:** Medium-High Enable server-initiated LLM requests for: - Intelligent bug categorization - Smart product name resolution - Upgrade risk analysis - Natural language query translation **Benefits:** - No server API keys required - Intelligent server-side processing - Advanced query understanding - Better user experience **Tasks:** - [ ] Add sampling request handlers - [ ] Implement intelligent product resolution - [ ] Add bug categorization with sampling - [ ] Create upgrade risk analyzer - [ ] Add query translation helper - [ ] Write sampling tests with mocks - [ ] Document sampling use cases **Files to modify:** - `src/mcp-server.ts` - Sampling support - `src/utils/sampling.ts` - New sampling utilities - `src/apis/enhanced-analysis-api.ts` - Use sampling - `tests/sampling.test.ts` - New test file --- ### Phase 3: Developer Experience (Week 4) ๐Ÿ› ๏ธ #### 4. MCP Logging **Priority:** MEDIUM | **Effort:** Low (1 day) | **Impact:** Medium Implement structured MCP-compliant logging: - API call logging - Search strategy logging - Performance monitoring - Error tracking **Tasks:** - [ ] Add MCP logging notification support - [ ] Update logger.ts with MCP logging - [ ] Add log levels (debug, info, warning, error) - [ ] Integrate logging throughout codebase - [ ] Test log filtering and display - [ ] Document logging categories **Files to modify:** - `src/utils/logger.ts` - Add MCP logging - `src/mcp-server.ts` - Logging support - All API files - Add logging calls --- #### 5. Roots Support **Priority:** LOW | **Effort:** Low (1 day) | **Impact:** Low Declare workspace contexts: - Configuration directories - Report output directories - Cache directories **Tasks:** - [ ] Add roots handler to server - [ ] Define default root locations - [ ] Make roots configurable via env vars - [ ] Test roots with MCP Inspector - [ ] Document roots usage **Files to modify:** - `src/mcp-server.ts` - Roots handler - `.env.example` - Root path configuration --- #### 6. Cancellation Support **Priority:** LOW | **Effort:** Medium (2 days) | **Impact:** Low Add operation cancellation: - Multi-API search cancellation - Bulk operation abort - Graceful cleanup **Tasks:** - [ ] Add cancellation token support - [ ] Update long-running operations - [ ] Implement graceful cleanup - [ ] Test cancellation scenarios - [ ] Document cancellation patterns **Files to modify:** - `src/mcp-server.ts` - Cancellation support - `src/apis/enhanced-analysis-api.ts` - Cancellable ops - `tests/cancellation.test.ts` - New test file --- ## Testing Requirements ### Unit Tests - [ ] Resources: URI parsing, data retrieval, caching - [ ] Progress: Notification timing, progress tokens - [ ] Sampling: Request handling, mock responses - [ ] Logging: Message formatting, level filtering - [ ] Roots: Path validation, configuration - [ ] Cancellation: Token propagation, cleanup ### Integration Tests - [ ] Test all features with MCP Inspector - [ ] Test with Claude Desktop - [ ] Test resource subscriptions - [ ] Test progress in slow networks - [ ] Test sampling with real LLM - [ ] Test cancellation edge cases ### Performance Tests - [ ] Resource caching effectiveness - [ ] Progress overhead measurement - [ ] Sampling latency impact - [ ] Logging performance impact --- ## Documentation Updates - [ ] Update CLAUDE.md with all new features - [ ] Add resource URI reference - [ ] Document sampling patterns - [ ] Add progress examples - [ ] Update MCP Inspector guide - [ ] Create migration guide - [ ] Update API reference --- ## Success Criteria 1. **Resources**: 50% reduction in duplicate API calls 2. **Progress**: All long operations (>3s) show progress 3. **Sampling**: Enable 3+ new intelligent features 4. **Logging**: Complete operation visibility 5. **Coverage**: 100% backward compatibility 6. **Tests**: 90%+ code coverage for new features --- ## Technical Design ### Architecture Changes ``` Current: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ MCP Client โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ Tools, Prompts, ElicitationRequest โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ MCP Server โ”‚ โ”‚ - Tools (30+) โ”‚ โ”‚ - Prompts (11) โ”‚ โ”‚ - Elicitation โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Cisco APIs โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ Proposed: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ MCP Client โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ Full MCP Protocol โ”‚ โ”œโ”€ Tools โ”‚ โ”œโ”€ Prompts โ”‚ โ”œโ”€ Resources โญ NEW โ”‚ โ”œโ”€ Sampling โญ NEW โ”‚ โ”œโ”€ Progress โญ NEW โ”‚ โ”œโ”€ Logging โญ NEW โ”‚ โ”œโ”€ Roots โญ NEW โ”‚ โ””โ”€ Cancellation โญ NEW โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ MCP Server โ”‚ โ”‚ - Resources Layer โ”‚ โ”‚ - Caching Layer โ”‚ โ”‚ - Sampling Engine โ”‚ โ”‚ - Progress Manager โ”‚ โ”‚ - Log Aggregator โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Cisco APIs โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` --- ## Dependencies **New npm packages required:** - None (all features in @modelcontextprotocol/sdk v1.12.1+) **SDK Version:** - Current: `@modelcontextprotocol/sdk@1.12.1` - Required: Same (no upgrade needed) --- ## Risks and Mitigation | Risk | Impact | Mitigation | |------|--------|------------| | Breaking changes | High | Maintain backward compatibility | | Performance degradation | Medium | Add performance benchmarks | | Increased complexity | Medium | Comprehensive documentation | | Cache invalidation bugs | Low | Thorough testing | | Sampling quota limits | Low | Rate limiting, fallbacks | --- ## Timeline - **Week 1:** Resources implementation - **Week 2:** Progress notifications - **Week 3:** Sampling support - **Week 4:** Logging, Roots, Cancellation - **Week 5:** Testing, documentation, release **Target Release:** v2.0.0 in 5 weeks --- ## Implementation Checklist ### Phase 1 (High Priority) - [ ] Resources - [ ] Bug report resources - [ ] Product info resources - [ ] Security advisory resources - [ ] Cache resources - [ ] Progress Notifications - [ ] Multi-severity search progress - [ ] Bulk operations progress - [ ] Comprehensive analysis progress ### Phase 2 (Medium Priority) - [ ] Sampling - [ ] Product resolution - [ ] Bug categorization - [ ] Risk analysis - [ ] Query translation ### Phase 3 (Lower Priority) - [ ] MCP Logging - [ ] Roots Support - [ ] Cancellation ### Testing & Documentation - [ ] All unit tests pass - [ ] All integration tests pass - [ ] Performance benchmarks meet targets - [ ] Documentation complete - [ ] Migration guide published --- ## Related Issues - None yet (this is the first proposal) ## Related PRs - Will be created as implementation progresses --- ## Questions for Discussion 1. Should resources be cached permanently or with TTL? 2. What sampling use cases are highest priority? 3. Should logging be opt-in or always enabled? 4. Are there specific root directories users need? 5. Should cancellation auto-rollback partial operations? --- ## Additional Context This enhancement aligns with: - MCP Specification 2025-03-26 - Industry best practices (OpenAI, Google DeepMind adoption) - VS Code full MCP spec support - MCP Inspector v0.14.0+ features **Reference Implementation:** This will make Cisco Support MCP Server one of the most complete MCP server implementations, suitable as a reference for other MCP server developers. --- ## Labels `enhancement` `mcp` `high-priority` `v2.0` `breaking-change` `documentation`

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