一个基于模型上下文协议(MCP)的服务器,动态地将Taskfile.yml中的任务暴露为独立的MCP工具,允许AI助手发现并执行Taskfile中定义的任何任务。
使用mcp-go库实现强大的MCP协议,并使用go-task库解析和执行Taskfile.yml。
go get github.com/rsclarke/mcp-taskfile-server
服务器通过stdin/stdout上的JSON-RPC通信,暴露当前工作目录下的Taskfile.yml:
mcp-taskfile-server
服务器自动发现Taskfile.yml中的所有任务,并将每个任务作为独立的MCP工具公开。
每个工具自动包括:
此服务器实现了模型上下文协议,可以与任何兼容MCP的客户端或AI助手一起使用。服务器:
服务器处理各种错误情况:
所有错误均按照MCP错误响应格式返回。
此服务器执行Taskfile中定义的任意命令。仅在受信任的环境中使用,并确保您的Taskfile不包含恶意命令。
要修改或扩展服务器:
server.NewMCPServer()创建MCP服务器taskfile.Tasks.All()发现任务createToolForTask()成为MCP工具createTaskHandler()获得自己的处理器executor.Run()执行任务NewTaskfileServer():设置go-task执行器并解析Taskfile.ymlregisterTasks():发现任务并将它们注册到MCP服务器createToolForTask():根据任务定义生成MCP工具模式createTaskHandler():为每个任务创建执行处理器服务器使用go-task库的原生API进行解析和执行,确保与Taskfile.yml功能的最大兼容性。