article
README
🚀 Obsidian 任务 MCP 服务器
一个用于从 Markdown 文件中提取和查询 Obsidian 任务的 Model Context Protocol (MCP) 服务器。该服务器专为与 Claude 配合使用而设计,通过 MCP 协议实现各项功能。
🚀 快速开始
安装方式
- 使用 npm 包管理器安装:
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 包管理器安装:
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
构建镜像
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
Claude Desktop 配置示例
{
"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,共同完善此工具。
联系方式
如需反馈或讨论,请联系:
- 邮箱:contact@jfim.com
- GitHub:https://github.com/jfim/obsidian-tasks-mcp
⚠️ 重要提示
本项目仍处于开发阶段,部分功能可能尚未完善。请在使用前仔细阅读文档,并备份重要数据。
扫码联系在线客服