v1.1.2 - Enhanced Smithery.ai Deployment Compatibility
🚀 Enhanced Smithery.ai Deployment Compatibility
This release provides significant improvements to Smithery.ai deployment compatibility with enhanced session configuration support and improved MCP protocol compliance.
✅ Key Enhancements
- Fixed FastMCP Usage: Removed deprecated
streamable_http_app()method - Critical CORS Fix: Added
Mcp-Session-Idheader exposure for browser clients - Session Configuration: Implemented proper session config handling with
_resolve_cfgfunction - Field Name Compatibility: Updated smithery.yaml to use correct field names (
musicbrainzUserAgent,rateLimit) - Backward Compatibility: Enhanced configuration parsing to support both old and new field names
- Docker Updates: Updated Docker Compose to use port 8081 and proper health checks
- Session-Specific Clients: Added
get_session_clientfunction for per-request configuration
🔧 Configuration Resolution Order
- Session Config (highest priority - passed by Smithery.ai during tool execution)
- Query Parameters (middleware-parsed configuration)
- Environment Variables (fallback for local development)
- Sensible Defaults (for scanning phase)
🧪 Testing Results
All MCP protocol compliance tests passing (4/4):
- ✅ Health check endpoint working
- ✅ MCP initialize handshake successful
- ✅ Tools list discovery working (10 tools found)
- ✅ Error handling for invalid requests working
📋 Files Changed
src/musicbrainz_mcp/server.py- Enhanced session config handling and MCP protocol compliancesmithery.yaml- Updated field names for proper Smithery.ai integrationdocker-compose.yml- Updated ports and health checks for consistency
🚀 Deployment
This version is ready for Smithery.ai deployment with enhanced compatibility. The server now properly handles:
- Smithery.ai's scanning phase (no configuration required)
- User configuration during actual tool usage
- Proper session management and configuration resolution
- Browser-based MCP clients with correct CORS headers
Deployment Steps:
- Deploy this release (v1.1.2) on Smithery.ai
- Verify scanning completes successfully
- Test tool discovery finds all 10 tools
- Configure with your MusicBrainz user agent for production use
The "Scan failed during server initialization" error should be completely resolved with these enhancements.