* refactor(registry): move MCP server entries from code to JSON manifests
Move 8 hardcoded MCP server RegistryEntry structs from
builtin_entries() into data-driven JSON files under
registry/mcp-servers/, matching the existing pattern used by
tools and channels. Exclude the GitHub MCP entry which conflicts
with the WASM GitHub tool's OAuth flow.
Extend ManifestKind with McpServer, make version/source optional
on ExtensionManifest (MCP servers don't need them), and add
url/auth fields for MCP-specific config. Update build.rs,
embedded catalog, catalog loader, installer, and CLI display
to handle the new kind and optional fields.
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
* fix(registry): address PR review — add missing slack-mcp, remove .expect(), fix fmt
- Add missing slack-mcp.json (was dropped during migration)
- Remove production .expect() in get_strict(), replace with .ok_or_else()
- Clean up unwrap_or_default() in key_for() to use .next() directly
- Log warning for MCP manifests missing url field instead of silent empty
- Run cargo fmt to fix formatting diffs
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
* ci: re-trigger CI with correct base branch (staging)
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
* fix(ci): improve no-panics check to properly exclude test modules
The grep-based filter only excluded lines literally containing
#[cfg(test)], #[test], or 'mod tests' — not lines *inside* test
modules. Use awk to track hunk context from diff @@ headers and
skip all added lines within test module hunks.
[skip-regression-check]
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
* refactor(registry): remove slack-mcp MCP entry (conflicts with WASM slack tool)
Remove slack-mcp.json alongside the already-excluded github MCP
entry — both conflict with existing WASM tools of the same name.
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
* fix(registry): address re-review — skip invalid MCP entries, fix install order
- to_registry_entry() now returns Option<RegistryEntry>; MCP manifests
missing a url field are skipped with a warning instead of creating
broken entries with empty URLs
- Move McpServer early-return before require_source() in install paths
so the error message is clear ("cannot install MCP servers") rather
than the misleading "missing source spec"
- Add test for MCP manifest with missing URL returning None
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>