🔧 Fix registerDefaultHandlers to respect existing custom handlers #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🐛 Problem
The
registerDefaultHandlers()function was unconditionally overriding custom handlers that servers had already registered. This prevented servers from implementing customtools/list,prompts/list, andresources/listhandlers.Impact:
🔧 Solution
Modified
registerDefaultHandlers()to check if handlers already exist before registering defaults:✅ Benefits
Start()🧪 Testing
Before Fix:
After Fix:
📁 Files Changed
pkg/mcp/server.go: ModifiedregisterDefaultHandlers()to check for existing handlers🔗 Related Issues
This enables the mcp-server-devpod project to provide custom tools/list handlers that include both framework tools (echo) and DevPod-specific tools, fixing Claude Desktop compatibility issues.
✅ Verification