List view
Strategic migration of both MCP test harness projects from custom MCP protocol implementations to the official RMCP SDK. This migration will eliminate 1,870+ lines of custom transport and protocol code across both projects while gaining authoritative MCP protocol compliance and improved reliability. ## Migration Scope ### Primary Target: crates/mcp-test-harness (Main Test Harness) - **Current**: 12,923 total lines with 1,170 lines of custom transport/protocol code - **Impact**: 90% code reduction in protocol layer (1,170 → ~100 lines) - **Files to Replace**: transport/*.rs (809 lines) + protocol/mod.rs (361 lines) ### Secondary Target: mcp-test-harness-standalone - **Current**: 3,467 total lines with custom MCP client implementation - **Impact**: 85% code reduction in client layer (~700 → ~100 lines) - **Focus**: Replace custom McpClient with RMCP wrapper ## Migration Strategy ### Phase 1: RMCP Integration Foundation - Add RMCP SDK dependency and evaluate compatibility - Create proof-of-concept RMCP client wrapper - Test stdio transport migration path ### Phase 2: Transport Layer Migration - Replace custom stdio transport with RMCP TokioStdio - Replace custom HTTP transport with RMCP StreamableHttp - Eliminate transport abstraction layer ### Phase 3: Protocol Layer Migration - Replace custom JSON-RPC implementation with RMCP client - Remove custom MCP protocol handling - Update test execution engine to use RMCP ### Phase 4: Cleanup and Optimization - Remove legacy transport/protocol code - Update documentation and examples - Performance validation and optimization ## Success Metrics - **Code Reduction**: 1,870+ lines eliminated across both projects - **Protocol Compliance**: Official RMCP implementation vs custom - **Maintenance**: Zero protocol code maintenance burden - **Reliability**: Battle-tested RMCP transports vs custom implementations - **Development Velocity**: Faster test harness feature development ## Technical Benefits - Authoritative MCP protocol compliance - Automatic protocol specification updates - Improved error handling and debugging - Better transport reliability and performance - Reduced technical debt and maintenance overhead This migration complements the main CodePrism MCP server migration, creating a fully RMCP-based ecosystem.
No due date•9/9 issues closed## Strategic Migration: From Custom MCP to Modular RMCP Architecture ### Problem Statement Our current MCP server maintains 4,000+ lines of custom protocol code with a monolithic ToolManager bridge pattern. This creates: - **Technical Debt**: Manual JSON-RPC 2.0 handling and protocol compliance - **Maintenance Burden**: Custom serialization, transport, and protocol management - **Scalability Issues**: Monolithic tool management prevents parallel development - **Testing Complexity**: Manual protocol testing instead of official SDK compliance ### Solution: Modular Router Architecture Migrate to official RMCP SDK with **category-based tool routers** that combine into a unified server. This enables: - **Parallel Development**: Teams work on independent tool categories - **Feature Flags**: Conditional compilation of tool categories - **Reusability**: Tool categories usable in other projects - **Official Compliance**: Authoritative MCP specification adherence ### Architecture Overview ```rust // Category routers combine via official RMCP patterns let combined_router = BasicToolsRouter::basic_tools_router() + AnalysisToolsRouter::analysis_tools_router() + QualityToolsRouter::quality_tools_router() + SearchToolsRouter::search_tools_router() + WorkflowToolsRouter::workflow_tools_router(); ``` ### Tool Categories - **BasicToolsRouter**: Repository stats, symbol search, file operations - **AnalysisToolsRouter**: Complexity analysis, pattern detection, dependencies - **QualityToolsRouter**: Security analysis, duplicate detection, unused code - **SearchToolsRouter**: Advanced search, references, symbol traces - **WorkflowToolsRouter**: Development workflow and optimization tools ### Migration Benefits - **Code Reduction**: 4,000+ lines → ~100 lines integration (97% reduction) - **Independent Testing**: Each category tested in isolation - **Flexible Deployment**: Feature flags enable selective tool categories - **Future Extensibility**: New categories added easily - **Maintenance**: Focus on CodePrism features, not protocol code ### Success Metrics - ✅ All 20+ tools working through category routers - ✅ Router combination working seamlessly - ✅ Feature flags enabling selective categories - ✅ 90%+ test coverage per category - ✅ Independent development workflow established This represents the highest-value architectural change: eliminating maintenance burden while enabling scalable, modular tool development through official RMCP patterns.
No due date•6/6 issues closedMCP Test Harness - Simple MCP Client for Server Validation **Core Purpose**: Test harness acts as an MCP client to validate MCP server functionality based on test specifications. **Focused Scope**: 1. **Test Suite Input**: Takes test suite with server spec (command, args, etc.) and expected tools/prompts/resources 2. **Server Launch**: Launches the MCP server as subprocess via stdio transport 3. **Schema Validation**: Validates all expected tools, prompts, resources are present with correct I/O schemas 4. **Protocol Testing**: Tests all built-in/protocol-specified API calls work as expected (initialize, list_tools, list_resources, etc.) 5. **Test Execution**: Runs all test suites and publishes a comprehensive report **Key Requirements**: - Acts as MCP client (not server) - Stdio transport support (primary MCP transport) - JSON-RPC 2.0 message handling per MCP spec - Schema validation for tool/prompt/resource definitions - Protocol compliance testing (initialize, capabilities, etc.) - Test report generation **Out of Scope** (for now): - Performance monitoring/benchmarking - Custom validation scripts - HTTP transport (can be added later) - Advanced metrics beyond basic pass/fail This milestone focuses strictly on MCP protocol compliance testing without scope creep.
No due date•40/40 issues closed- No due date•2/2 issues closed
Rust and Java parser implementation
No due date•27/27 issues closedEssential analysis tools and improved detection algorithms
No due date•6/6 issues closedCore stability, error handling, and essential infrastructure
No due date•6/6 issues closed