# MCP Taskfile Server

A Go-based MCP server that dynamically exposes the tasks defined in a project's Taskfile.yml as individual MCP tools, letting an AI assistant discover and run build, lint and other project tasks the same way a human developer would.

MCP Taskfile Server reads a project's Taskfile.yml and exposes each defined task as its own MCP tool with an automatically generated schema for that task's variables, using the go-task library to run tasks natively rather than shelling out to a subprocess. The intent is parity between what a human runs locally, what CI runs, and what an AI assistant runs, on the reasoning that build, lint and test conventions already live in the Taskfile and should not need to be duplicated for an agent.

It discovers which directories to load Taskfiles from through the MCP Roots capability when a client supports it, falling back to the current working directory otherwise, and only checks the exact root directory rather than walking parent directories. A file watcher tracks each root's resolved Taskfile graph and automatically re-exposes updated tools to connected clients when a Taskfile changes, and equivalent local file:// URIs are canonicalized so different forms of the same path share one internal identity.

It is built on the official Go MCP SDK and installs with go install; it communicates over stdin/stdout.

Website: https://github.com/rsclarke/mcp-taskfile-server
