Obsidian Tasks Mcp

Obsidian Tasks Mcp

🚀 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

⚠️ 重要提示

本项目仍处于开发阶段,部分功能可能尚未完善。请在使用前仔细阅读文档,并备份重要数据。

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-20 15:42

相似服务问题