Repository navigation
v1.5.5
🚀 MCP Session Architecture Implementation
✨ New Features
- Enhanced ClientInfo struct with Env and Roots fields for comprehensive session data
- ClientSession convenience methods: Env(), Roots(), Capabilities() for easy access
- Transport-aware session data extraction - environment from transport headers/process, not init params
- Automated workspace root fetching following complete MCP protocol flow
- Proper response handling with request tracking for roots/list requests
🔧 Implementation Details
- Server automatically detects client roots capability and sends roots/list requests
- Workspace roots extracted from both clientInfo during initialization AND via automated roots/list
- Environment data correctly sourced from transport layer per MCP specification
- Full MCP compliance across all three protocol versions (2024-11-05, 2025-03-26, draft)
🧪 Testing & Quality
- Added comprehensive MCP compliance tests for all three protocol specifications
- Added session integration tests with complete flow verification
- Enhanced workspace roots testing with URI-to-path conversion validation
- All 500+ tests passing across all packages and protocol versions
📚 Documentation
- Added MCP_Session_Architecture.md with detailed implementation notes
- Documented key discovery: roots are client capability given to server for file access awareness
✅ Compliance & Standards
- Maintains pure API contract - exactly one method per operation
- Follows Go development rules: minimal locks, test-first approach, idiomatic patterns
- Zero breaking changes - seamless integration with existing functionality
This release provides production-ready session management and automated root fetching while maintaining full backward compatibility.