经 AI Skill Hub 精选评估,MCP任务文件服务器 获评「推荐使用」。这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
MCP任务文件服务器 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
MCP任务文件服务器 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/rsclarke/mcp-taskfile-server
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"mcp-------": {
"command": "npx",
"args": ["-y", "mcp-taskfile-server"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 MCP任务文件服务器 执行以下任务... Claude: [自动调用 MCP任务文件服务器 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"mcp_______": {
"command": "npx",
"args": ["-y", "mcp-taskfile-server"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
A Model Context Protocol (MCP) server that dynamically exposes Taskfile.yml tasks as individual MCP tools, allowing AI assistants to discover and execute any task defined in your Taskfile.
Built using the official Go MCP SDK for MCP protocol implementation and the go-task library for native Taskfile.yml parsing and execution.
The server uses the go-task library's native API for both parsing and execution, ensuring maximum compatibility with Taskfile.yml features.
go install github.com/rsclarke/mcp-taskfile-server@latest
This places the mcp-taskfile-server binary in $GOBIN (or $GOPATH/bin).
This server implements the Model Context Protocol and can be used with any MCP-compatible client or AI assistant. The server:
The server is split into small, single-purpose packages under internal/:
internal/server — Orchestrator. Owns the *Server value, the root map, the registered-tool map, the generation counter, and the lifecycle handlers wired into the MCP SDK (HandleInitialized, HandleRootsChanged).internal/roots — Loads and represents Taskfile roots. Owns the Root value type, URI canonicalisation, and Taskfile graph resolution. Does not depend on the MCP SDK.internal/tools — Pure planning. Translates root snapshots into MCP-shaped tools, handles name sanitisation, collision detection, multi-root prefixing, wildcard MATCH schemas, and the plan/diff that the orchestrator applies.internal/exec — Per-call task execution handlers, including stdout/stderr capture and the status/stream TextContent blocks returned to clients.internal/watch — Per-root fsnotify watcher lifecycle. A watch.Manager spawns at most one goroutine per root URI and exposes Apply / Reconcile / Shutdown.internal/logging — Structured logging primitives: stderr handler construction, the MCP logging arm, and a FanoutHandler that mirrors records to both sinks.internal/serverNew(): Constructs an empty orchestrator with a discard logger and a fresh watch.Manager. Roots are loaded after the client handshake.SetLogger() / SetToolRegistry(): Wire the structured logger and the MCP server (used as the tool registry) into the orchestrator.HandleInitialized(): Installs the MCP logging arm onto the active logger, then calls initializeRootsFromSession().HandleRootsChanged(): Lists roots from the session, calls replaceRoots(), syncs tools, and applies the per-root watcher diff.initializeRoots() / replaceRoots(): Reconcile the root map against a desired set of MCP roots. Both return a reconcileResult with the added/removed canonical URIs so callers can drive syncTools() and watch.Manager.Apply() outside the lock.ReloadRoot(): Rebuilds a single root via roots.Build() and re-syncs tools. On failure the root is replaced with a placeholder via disableRootToolsLocked() so its tools are withdrawn until the Taskfile is restored.syncTools(): Orchestrates the snapshot/plan/apply cycle with generation validation to safely update registered tools.snapshotToolStateLocked(): Captures the current root map and generation under lock for use by tools.BuildPlan.RootWatchState() / Shutdown(): Implement the watch.StateProvider contract; Shutdown cancels every per-root watcher and waits for them to exit.internal/rootsBuild() / Load(): Resolve a workdir's Taskfile graph, set up a task.Executor, and return a populated *Root.NewUnloaded(): Returns a placeholder *Root for a directory whose Taskfile cannot currently be loaded; the directory is still watched for the standard Taskfile filenames.CanonicalRootURI() / DirToURI(): Canonicalise local file:// URIs so equivalent aliases share one identity.loadTaskfileWatchSet(): Resolves the local Taskfile graph and derives the parent directories and exact Taskfile paths to watch.internal/toolsBuildPlan(): Computes the desired MCP tool set and handlers from a StateSnapshot without mutating the orchestrator; logs and excludes colliding tool names.CreateToolForTask(): Generates the MCP tool definition, schema, and description for a single task.Diff(): Compares old registered tools against desired tools by serialized schema bytes and returns stale/added name lists.RootPrefix() and the sanitisation helpers implement the rules in Tool Name Mapping.internal/execNewHandler(): Returns an mcp.ToolHandler bound to a root workdir and task name. The handler resolves wildcard MATCH arguments, runs the task with captured streams, and produces the status/stdout/stderr TextContent blocks.internal/watchManager: Spawns and tracks per-root watcher goroutines. Apply() performs an additive/removal diff; Reconcile() converges to a desired URI set; Shutdown() cancels every watcher and waits for them to drain.Watch(): Per-root fsnotify loop. Calls StateProvider.RootWatchState() for the directories to subscribe to and the Taskfile paths whose modification triggers a debounced reload via StateProvider.ReloadRoot().internal/loggingNewLogger(): Stderr JSON *slog.Logger gated by MCP_TASKFILE_LOG_LEVEL and tagged with service / version.InstallMCP(): Wraps an existing logger so each record is also forwarded as an MCP notifications/message on the active session.FanoutHandler: Dispatches a single record to multiple slog.Handlers (stderr + MCP) without coupling their lifecycles.高质量的MCP工具,开发者必备
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:MCP任务文件服务器 的核心功能完整,质量良好。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | mcp-taskfile-server |
| 原始描述 | 开源MCP工具:Expose Taskfile tasks as MCP tools.。⭐13 · Go |
| Topics | mcptaskfilego |
| GitHub | https://github.com/rsclarke/mcp-taskfile-server |
| License | MIT |
| 语言 | Go |
收录时间:2026-05-29 · 更新时间:2026-05-30 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端