diff --git a/src/ClaudeDo.Worker/External/AgentMcpTools.cs b/src/ClaudeDo.Worker/External/AgentMcpTools.cs new file mode 100644 index 0000000..8050960 --- /dev/null +++ b/src/ClaudeDo.Worker/External/AgentMcpTools.cs @@ -0,0 +1,18 @@ +using System.ComponentModel; +using ClaudeDo.Data.Models; +using ClaudeDo.Worker.Agents; +using ModelContextProtocol.Server; + +namespace ClaudeDo.Worker.External; + +[McpServerToolType] +public sealed class AgentMcpTools +{ + private readonly AgentFileService _agents; + + public AgentMcpTools(AgentFileService agents) => _agents = agents; + + [McpServerTool, Description("List available agent definition files (name, description, path) for use as a task's agent path.")] + public async Task> ListAgents(CancellationToken cancellationToken) + => await _agents.ScanAsync(cancellationToken); +}