feat(worker): batch MCP tools for the external endpoint
Add seven best-effort batch variants of the single-entity external MCP tools: batch_get_tasks, batch_add_tasks, batch_update_task_status, batch_cancel_tasks, batch_delete_tasks, batch_set_my_day, and batch_cleanup_task_worktrees. Each loops the existing ExternalMcpService methods sequentially (scoped DbContext is not thread-safe), returns a per-item result array so a failing item never aborts the rest, and rejects empty or over-100-item batches. Merge/review stay single-task.
This commit is contained in:
@@ -264,6 +264,7 @@ if (cfg.ExternalMcpPort > 0)
|
||||
externalBuilder.Services.AddSingleton(app.Services.GetRequiredService<WorktreeMaintenanceService>());
|
||||
externalBuilder.Services.AddSingleton(app.Services.GetRequiredService<TaskMergeService>());
|
||||
externalBuilder.Services.AddScoped<ExternalMcpService>();
|
||||
externalBuilder.Services.AddScoped<BatchMcpTools>();
|
||||
externalBuilder.Services.AddScoped<ListMcpTools>();
|
||||
externalBuilder.Services.AddScoped<ConfigMcpTools>();
|
||||
externalBuilder.Services.AddScoped<RunHistoryMcpTools>();
|
||||
@@ -276,6 +277,7 @@ if (cfg.ExternalMcpPort > 0)
|
||||
externalBuilder.Services.AddMcpServer()
|
||||
.WithHttpTransport()
|
||||
.WithTools<ExternalMcpService>()
|
||||
.WithTools<BatchMcpTools>()
|
||||
.WithTools<ListMcpTools>()
|
||||
.WithTools<ConfigMcpTools>()
|
||||
.WithTools<RunHistoryMcpTools>()
|
||||
|
||||
Reference in New Issue
Block a user