dew/packages/cli/bin/dew.dart
Chris Hendrickson a74bd94547 Implement MCP tool registry and kanban tool provider
- Add McpTool + McpToolProvider interface to core
- Add McpToolRegistry to mcp package (aggregates providers)
- Add DewMcpServer (MCPServer + ToolsSupport via dart_mcp 0.5.0)
- Add 'mcp serve' subcommand — starts a real stdio MCP server
- Implement KanbanToolProvider with 5 tools:
  kanban_create_ticket, kanban_list_tickets, kanban_get_ticket,
  kanban_update_ticket, kanban_delete_ticket
- Wire McpToolRegistry + KanbanToolProvider in CLI
- 26 tests passing, dart analyze clean

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-23 15:29:46 -04:00

22 lines
671 B
Dart

import 'package:args/command_runner.dart';
import 'package:dew_core/dew_core.dart';
import 'package:dew_kanban/dew_kanban.dart' as kanban;
import 'package:dew_mcp/dew_mcp.dart' as mcp;
Future<void> main(List<String> args) async {
final commandRegistry = CommandRegistry();
final toolRegistry = mcp.McpToolRegistry();
toolRegistry.register(kanban.KanbanToolProvider());
kanban.registerCommands(commandRegistry);
mcp.registerCommands(commandRegistry, toolRegistry);
final runner = CommandRunner<void>('dew', 'A project management tool.');
for (final command in commandRegistry.commands) {
runner.addCommand(command);
}
await runner.run(args);
}