feat(m8): MCP client, tool replaceability, and plugin system
Complete the remaining M8 extensibility deliverables:
- MCP client with JSON-RPC 2.0 over stdio transport, protocol
lifecycle (initialize/tools-list/tools-call), and process group
management for clean shutdown
- MCP tool adapter implementing tool.Tool with mcp__{server}__{tool}
naming convention and replace_default for swapping built-in tools
- MCP manager for multi-server orchestration with parallel startup,
tool discovery, and registry integration
- Plugin system with plugin.json manifest (name/version/capabilities),
directory-based discovery (global + project scopes with precedence),
loader that merges skills/hooks/MCP configs into existing registries,
and install/uninstall/list lifecycle manager
- Config additions: MCPServerConfig, PluginsSection with opt-in/opt-out
enabled/disabled resolution
- TUI /plugins command for listing installed plugins
- 54 tests across internal/mcp and internal/plugin packages
This commit is contained in:
@@ -175,10 +175,10 @@ depends_on: [vision]
|
||||
- [x] Hook command types: command (shell), prompt (LLM), agent (spawn elf)
|
||||
- [x] Skill loading from .gnoma/skills/, ~/.config/gnoma/skills/, bundled, plugins
|
||||
- [x] Skill frontmatter: YAML (name, description, whenToUse, allowedTools, paths)
|
||||
- [ ] MCP client: JSON-RPC over stdio, tool discovery
|
||||
- [ ] MCP tool naming: `mcp__{server}__{tool}`
|
||||
- [ ] MCP tool replaceability: `replace_default` config swaps built-in tools
|
||||
- [ ] Plugin system: plugin.json manifest, install/enable/disable lifecycle
|
||||
- [x] MCP client: JSON-RPC over stdio, tool discovery
|
||||
- [x] MCP tool naming: `mcp__{server}__{tool}`
|
||||
- [x] MCP tool replaceability: `replace_default` config swaps built-in tools
|
||||
- [x] Plugin system: plugin.json manifest, install/enable/disable lifecycle
|
||||
- [x] `/batch` skill: decompose work into N units, spawn all via `spawn_elfs`, track progress (CC-inspired)
|
||||
- [x] Coordinator mode prompt: fan-out guidance for parallel elf dispatch, concurrency rules (read vs write)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user