Skip to content

Conversation

@paulbreuler
Copy link
Owner

@paulbreuler paulbreuler commented Jan 27, 2026

Summary

This PR adds extension support and improves the safety of MCP client configuration syncing.

Extension System

  • Extension loading: Load npm packages as extensions via config.extensions array
  • Extension types: Extensions can register custom MCP tools and resources
  • Per-extension config: Extension-specific configuration stored under package name keys (e.g., "@sudosandwich/limps-radix": {...})
  • Lifecycle hooks: onInit and onShutdown callbacks for extensions
  • Collision guards: Core tool/resource names are protected - extensions cannot override them

Safer Config Sync (sync-mcp)

  • JSON Patch diff preview: Shows exactly what will change before writing to MCP client configs
  • Confirmation prompt: User must confirm changes (default: no)
  • Force flag: Skip confirmation with -f when scripting
  • Existing config preservation: Merges changes without destroying unrelated config

Other Changes

  • Fix verify-tools script to work with current exports
  • Improve test temp directory usage for reliability
  • Add watcher close stability improvements
  • Update README with extension documentation

Test Plan

  • npm run validate passes
  • Extension config keys are preserved through load/save
  • sync-mcp shows diff and prompts for confirmation
  • sync-mcp -f skips confirmation
  • Core tool/resource collision detection works

🤖 Generated with Claude Code

@paulbreuler paulbreuler changed the title Extension support + safe config sync feat: extension support and safer config sync Jan 27, 2026
@paulbreuler paulbreuler merged commit c1d393a into main Jan 27, 2026
2 checks passed
@paulbreuler paulbreuler deleted the feat/extension-support branch January 27, 2026 21:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants