Skip to content

v1.1.2 - Enhanced Smithery.ai Deployment Compatibility

Choose a tag to compare

@usercourses63 usercourses63 released this 15 Sep 06:50
· 3 commits to main since this release

🚀 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-Id header exposure for browser clients
  • Session Configuration: Implemented proper session config handling with _resolve_cfg function
  • 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_client function for per-request configuration

🔧 Configuration Resolution Order

  1. Session Config (highest priority - passed by Smithery.ai during tool execution)
  2. Query Parameters (middleware-parsed configuration)
  3. Environment Variables (fallback for local development)
  4. 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 compliance
  • smithery.yaml - Updated field names for proper Smithery.ai integration
  • docker-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:

  1. Deploy this release (v1.1.2) on Smithery.ai
  2. Verify scanning completes successfully
  3. Test tool discovery finds all 10 tools
  4. Configure with your MusicBrainz user agent for production use

The "Scan failed during server initialization" error should be completely resolved with these enhancements.