- 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>
22 lines
671 B
Dart
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);
|
|
}
|