一个用于从 Markdown 文件中提取和查询 Obsidian 任务的 Model Context Protocol (MCP) 服务器。该服务器专为与 Claude 配合使用而设计,通过 MCP 协议实现各项功能。
npm install -g @jfim/obsidian-tasks-mcp
git clone https://github.com/jfim/obsidian-tasks-mcp.git
cd obsidian-tasks-mcp
npm install
npm run build
obsidian-tasks-mcp /path/to/vault
node dist/index.js /path/to/vault
npm install -g @jfim/obsidian-tasks-mcp
git clone https://github.com/jfim/obsidian-tasks-mcp.git
cd obsidian-tasks-mcp
npm install
npm run build
obsidian-tasks
)用于从指定目录及其子目录中的所有 Markdown 文件中提取 Obsidian 格式任务信息。
obsidian-tasks /path/to/obsidian-vault
支持使用选项进行更灵活的操作:
--recursive
:递归遍历所有子目录。--filter
:指定过滤条件(如特定标签或日期范围)。--output-format
:设置输出格式(支持 JSON、CSV 等)。[
{
"id": "1",
"description": "完成项目报告",
"due-date": "2025-05-01",
"tags": ["work", "report"],
"priority": "high"
},
{
"id": "2",
"description": "回顾会议纪要",
"scheduled-date": "2025-04-30",
"start-date": "2025-04-28",
"recurrence": "每周一次"
}
]
query
)用于根据指定条件搜索和过滤提取的任务信息。
#tag
due:YYYY-MM-DD..YYYY-MM-DD
priority:high/medium/low
query --tag work --priority high /path/to/output.json
analyze
)用于对提取的任务数据进行统计和分析,生成报告。
analyze /path/to/output.json --output report.html
docker build -t @jfim/obsidian-tasks-mcp .
docker run -i --rm --mount type=bind,src=/path/to/vault,dst=/projects/vault @jfim/obsidian-tasks-mcp /projects
{
"mcpServers": {
"obsidian-tasks": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount", "type=bind,src=/path/to/vault,dst=/projects/vault",
"@jfim/obsidian-tasks-mcp",
"/projects"
]
}
}
}
支持以下 Obsidian 任务格式:
- [ ] 任务描述
- [x] 任务描述
🗓️ YYYY-MM-DD
⏳ YYYY-MM-DD
🛫 YYYY-MM-DD
➕ YYYY-MM-DD
⏫
(高), 🔼
(中), 🔽
(低)🔁 every day/week/month/etc.
#tag1 #tag2
示例:
- [ ] 完成项目报告 🗓️ 2025-05-01 ⏳ 2025-04-30 🔼
本项目采用 MIT 协议开源。
欢迎 fork 和提交 PR,共同完善此工具。
如需反馈或讨论,请联系:
⚠️ 重要提示
本项目仍处于开发阶段,部分功能可能尚未完善。请在使用前仔细阅读文档,并备份重要数据。