让智能体来打理你的待办清单
在找一个操作真实文件、而不是托管数据库的待办 MCP 服务器?taskforge 以子命令 taskforge mcp --stdio 的形式,为你的 Obsidian 仓库提供了这样一个服务器。把 Claude Desktop 或其他 MCP 客户端指向它,智能体就能通过一小组工具添加、搜索、编辑和完成任务。它运行在你自己的电脑上,编辑的是应用所使用的同一批 markdown 文件。没有托管服务器,也不需要 API 密钥。
MCP 还是 CLI?
如果你的智能体已经与 TaskForge 建立了 MCP 连接,优先使用 MCP 工具。它们是类型化的,返回结构化错误,方便智能体据此自我纠正,而且不需要在你的 PATH 里安装任何东西。如果是没有 MCP 连接的 shell 环境,比如脚本、cron、CI,或是在代码仓库检出目录里工作的编程智能体,改用 CLI。两者驱动的是同一个引擎,语义完全一致,选择你运行环境里已经接好的那一个就行。手动编辑仓库文件是最后的办法。
安装
推荐:npx
请先安装 Node.js(含 npm 和 npx),再把这段加入你 MCP 客户端的配置。npx 会在首次运行时获取 taskforge-md。
Claude Desktop:一键安装
更喜欢向导式安装?下载 taskforge 安装包(.mcpb 文件)并打开它。Claude Desktop 会引导你完成设置,并询问你的仓库文件夹位置。
{
"mcpServers": {
"taskforge": {
"command": "npx",
"args": ["-y", "taskforge-md", "mcp", "--stdio"],
"env": {
"TASKFORGE_VAULT": "/path/to/your/vault"
}
}
}
} 在 Windows 上,请在 npx 前加上 cmd /c。像 Claude Desktop 这样的桌面 MCP 客户端启动服务器时不经过 shell,而 npx 是 .cmd 脚本,Windows 只能通过 shell 运行它:
{
"mcpServers": {
"taskforge": {
"command": "cmd",
"args": ["/c", "npx", "-y", "taskforge-md", "mcp", "--stdio"],
"env": {
"TASKFORGE_VAULT": "C:\\path\\to\\your\\vault"
}
}
}
} 自己从源码编译了 taskforge,而不是用 npx?把配置直接指向该二进制文件:
"command": "taskforge",
"args": ["mcp", "--stdio"] 仅支持桌面端,因为 MCP 客户端都运行在桌面环境中。taskforge 以单一原生二进制文件的形式发布,支持 macOS 和 Windows,MCP 服务器是它的子命令之一。Linux 版即将推出。
完整工具集
共有 30 个工具,覆盖任务和笔记的完整生命周期:创建、读取、更新、完成、归档和删除,每个都有对应的批量版本;移动、更改上级任务,以及在内联行与任务文件之间转换;创建、重命名、删除和编辑笔记,且不会弄断链接;写入前的 lint 校验;检查仓库健康状况的 doctor 调用;以及任务语法和空间资源,让智能体在操作前先了解你的格式。下面这六个是最常用的。每次调用都会从磁盘重新读取仓库,因此智能体操作的始终是最新的文件。
| query_tasks | 搜索和筛选任务,或读取一个已保存的列表。只读。 | 只读 |
| get_task | 读取一个任务及其内容哈希。只读。 | 只读 |
| add_task | 在仓库的默认目标位置,按你的格式创建一个任务。 | 写入 |
| update_task | 修改任务的状态、优先级、截止日期、标题或标签。 | 写入 |
| complete_task | 完成一个任务;如果是重复任务,返回下一次的任务。 | 写入,非幂等 |
| delete_task | 删除一个任务。模型必须原样回传当前的准确标题,以防止对过期或臆造的 id 执行操作。 | 破坏性操作 |
每个工具都带有注解,客户端可以一眼看出哪些调用只读、哪些会写入、哪个会删除。其余工具还包括 bulk_add_tasks、bulk_update_tasks、bulk_complete_tasks、bulk_delete_tasks、get_tasks、archive_task、move_task、bulk_move_tasks、convert_task、bulk_convert_tasks、outdent_task、bulk_reparent_tasks、lint_task、doctor、list_spaces、get_dialect、create_note、read_note、update_note、patch_note_block、patch_note_frontmatter、normalize_references、delete_note 和 move_note。
三个资源
除了工具之外,服务器还暴露了一些只读上下文信息,让智能体在操作之前先了解你仓库的规则:
| taskforge://dialect | 机器可读的任务语法:状态符号、日期格式、自定义字段、写入目标。 |
| taskforge://agents-guide | 用大白话说明你仓库任务约定的指南。 |
| taskforge://spaces | 你保存的空间,以及如何向每个空间添加任务。 |
唯一的前提条件:仓库契约文件
服务器会读取 TaskForge 写入你仓库的契约文件 TaskForge/Settings/dialect.json 和 TaskForge/Settings/agents.md,从中了解你精确的任务格式。请至少用 TaskForge 3.0 或更高版本打开一次仓库,进入“设置”>“AI 与智能体”,并保持“生成智能体文件”开关为开启状态。如果该仓库从未在较新版本的应用中打开过,服务器会退回到通用默认值,并向客户端发出警告。这些路径使用默认的基础文件夹;如果你改过它的名字,请换成那个文件夹。
如果找不到你的仓库
服务器总会正常启动,哪怕它还不知道你的仓库在哪里,因此 Claude Desktop 不会显示一条含糊的“服务器启动失败”提示。当某次工具调用无法确定仓库位置时,它会返回一条清晰的错误信息供智能体转达:将 TASKFORGE_VAULT 环境变量设为你的仓库路径,或者重新安装安装包,并在提示时输入仓库目录。
仅在本地运行
TaskForge MCP 服务器在本地运行,读写你仓库中的 Markdown 文件。通过 npx 安装时会从 npm 下载软件包。你的 AI 客户端可能会把工具的输入和结果发送给它的提供方,它自己的隐私设置依然适用。你现有的仓库同步会在设备之间传递这些改动。
常见问题
什么是 taskforge MCP 服务器?
它是内置在 taskforge 二进制文件中的本地 Model Context Protocol 服务器。用 taskforge mcp --stdio 运行它,Claude Desktop 这样的 MCP 客户端就能通过 30 个类型化的工具(单个或批量),添加、查找、编辑、完成、移动和删除你 Obsidian 仓库里的任务和笔记。它不只是能读,而是一份智能体可以真正操作的待办清单。
它能配合哪些 MCP 客户端使用?
任何通过 stdio 支持 MCP 的客户端都可以。Claude Desktop 最常见,Claude Code、Cursor 以及 VS Code(用于 GitHub Copilot)也都使用相同的配置。每一个都能获得同样的 30 个工具和三个资源。
这是托管或远程的 MCP 服务器吗?
不是。它运行在你自己的电脑上,通过 stdin 和 stdout 通信,只会接触你指定的仓库文件夹。没有需要托管的 URL,没有 API 密钥,也没有 TaskForge 账号。这正是关键所在:你的待办清单留在你自己的硬盘上。
我需要提前安装什么吗?
用 npx 方式需要先装好含 npm 和 npx 的 Node.js,之后客户端就能运行 npx -y taskforge-md mcp --stdio 来获取并启动服务器。Claude Desktop 用户也可以直接打开原生的 .mcpb 安装包,不需要 Node.js。
客户端提示服务器找不到我的仓库,该怎么办?
服务器总会正常启动,所以客户端不会显示一条含糊的“启动失败”提示。当某次工具调用无法确定仓库位置时,它会返回一条清晰的消息:将 TASKFORGE_VAULT 环境变量设为你的仓库路径,或者重新安装安装包,并在提示时输入仓库目录。
它需要仓库契约文件吗?
需要,这样才能匹配你的格式。它会读取 TaskForge/Settings/dialect.json 和 TaskForge/Settings/agents.md,这两个文件在你用 TaskForge 3.0 或更高版本打开仓库并开启“生成智能体文件”时生成。没有它们服务器依然能运行,但会退回到通用默认值,并向客户端警告它在猜测。
智能体操作这份清单,应用负责保管它。
MCP 服务器会写入你的仓库;TaskForge 把这些文件变成你所有设备上的列表、小组件和提醒。可在 iPhone、iPad、Mac、安卓和 Windows 上免费下载。