Token导航 LogoToken导航TokenDH.com
Optimike Obsidian Tasks MCP logo
文档知识stdio官方级别未说明来源级核验

Optimike Obsidian Tasks MCP

MCP Server

optimike-obsidian-tasks-mcp

一个用于从Markdown文件中提取和查询Obsidian任务的模型上下文协议(MCP)服务器,支持AI辅助任务管理。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
文档处理TypeScriptClaudeObsidian插件Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

optimikelabs

提供方

optimikelabs

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx optimike-obsidian-tasks-mcp /path/to/obsidian/vault

详细介绍

优化黑曜石任务MCP

](https://badge.fury.io/js/optimike-obsidian-tasks-mcp)

用于从markdown文件中提取和查询黑曜石任务的模型上下文协议(MCP)服务器。旨在与MCP客户(Claude、Codex、IDE等)合作,实现人工智能辅助的任务管理。

法文版本: README.fr.md

先决条件

  • Node.js>=16
  • 黑曜石桌面
  • 在vault中配置的黑曜石任务插件:https://github.com/obsidian-tasks-group/obsidian-tasks
  • 任务配置文件位于: /.obsidian/plugins/obsidian-tasks/data.json

快速入门

npx optimike-obsidian-tasks-mcp /path/to/obsidian/vault

特性

  • 从兼容黑曜石任务设置的黑曜岩标记文件中提取任务
  • 由Tasks插件配置驱动的状态映射(核心+自定义状态)
  • 支持任务全局过滤器+预设(可选)
  • 具有相对范围(EN/FR)和比较的日期过滤器
  • 可选数据视图任务格式解析([due:: 2024-01-01]等等)
  • 可选的文件元数据+frontmatter元数据日期(可回退到文件系统)
  • 输出为JSON或Markdown

任务插件配置(事实来源)

此服务器依赖于Obsidian Tasks插件: https://github.com/obsidian-tasks-group/obsidian-tasks

此服务器从以下位置读取您的任务插件设置(状态、预设、全局过滤器):

/.obsidian/plugins/obsidian-tasks/data.json

确保该文件反映了您当前的任务配置。

工具

此MCP服务器提供以下工具:

list_all_任务

从目录中的markdown文件中提取所有任务,递归扫描子文件夹。

输入参数:

  • path (字符串,可选):要扫描的目录。默认为vault根目录。
  • includePaths (string\[\],可选):仅包含包含这些子字符串的路径。
  • excludePaths (string\[\],可选):排除包含这些子字符串的路径。
  • includeNonTasks (布尔值,可选):包括NON_TASK状态。
  • includeFileMetadata (布尔值,可选):包括文件创建/修改日期。
  • includeMetaDates (布尔值,可选):包括前台元数据日期(例如,变更/修改)。
  • metaFallbackToFile (布尔值,可选,默认为true):如果缺少元数据日期,则回退到文件日期。
  • applyGlobalFilter (布尔值,可选):应用任务 globalFilter.
  • responseFormat (“json”|“markdown”,可选):输出格式。
  • responseLimit (number,可选):限制返回的任务数。
  • useCache (boolean,可选,默认为true):缓存每个文件解析。

退货: 任务对象的JSON数组,每个对象包含:

{
  "id": "string",          // Unique identifier (filepath:linenumber)
  "description": "string", // Full text description of the task
  "status": "complete" | "incomplete" | "cancelled" | "in_progress" | "non_task",
  "statusName": "string", // Optional - status name from Tasks config
  "statusType": "string", // Optional - TODO | DONE | IN_PROGRESS | CANCELLED | NON_TASK
  "filePath": "string",    // Path to the file containing the task
  "lineNumber": "number",  // Line number in the file
  "tags": ["string"],      // Array of tags found in the task
  "dueDate": "string",     // Optional - YYYY-MM-DD format 
  "scheduledDate": "string", // Optional - YYYY-MM-DD format
  "startDate": "string",   // Optional - YYYY-MM-DD format
  "createdDate": "string", // Optional - YYYY-MM-DD format
  "doneDate": "string",    // Optional - YYYY-MM-DD format
  "cancelledDate": "string", // Optional - YYYY-MM-DD format
  "metaCreatedDate": "string", // Optional - from frontmatter
  "metaModifiedDate": "string", // Optional - from frontmatter
  "fileCreatedDate": "string", // Optional - filesystem
  "fileModifiedDate": "string", // Optional - filesystem
  "priority": "string",    // Optional - "high", "medium", or "low"
  "recurrence": "string"   // Optional - recurrence rule
}

查询任务

根据黑曜石任务查询语法搜索任务。应用多个筛选器来查找匹配的任务。

输入参数:

  • path (字符串,可选):要扫描的目录。默认为vault根目录。
  • query (字符串,必填):任务查询。每条线都被视为一个过滤器。
  • queryFilePath (字符串,可选):用于解析 {{query.file.*}} 占位符。
  • 所有其他参数来自 list_all_tasks (包括/排除、元数据日期、全局过滤器等)

退货: 与查询匹配的任务对象的JSON数组,其结构与 list_all_tasks.

支持的查询语法(子集+附加项):

  • 状态筛选器:

- done / not done (与任务语义一致) - status.type is TODO|DONE|IN_PROGRESS|CANCELLED|NON_TASK - status.name is "In Progress"

  • 日期筛选器:

- due|scheduled|start|created on|before|after YYYY-MM-DD - due|scheduled|start|created on or before|on or after - 相对EN/FR: today, tomorrow, yesterday, this week, next week, last week, aujourd'hui, demain, hier, cette semaine, semaine prochaine - 范围: due in next 7 days - 元/文件: meta created before 2026-01-01, file modified after 2025-12-31

  • 标签过滤器:

- no tags, has tags - tag include #tag / tag do not include #tag

  • 路径筛选器:

- path includes string, path does not include string - folder includes string, filename includes string

  • 描述过滤器:

- description includes string -描述包含“字符串”的任务 - description does not include string -描述不包含“字符串”的任务

  • 优先级筛选器:

- priority is high -具有高优先级的任务 - priority is medium -中等优先级的任务 - priority is low -低优先级任务 - priority is none -没有优先级的任务

示例查询:

not done
due before 2025-05-01
tag include #work

这将返回所有在2025年5月1日之前到期的、带有#work标签的未完成任务。

用法

安装

来自npm(推荐):

# Install globally
npm install -g optimike-obsidian-tasks-mcp

# Or use directly with npx without installing
npx optimike-obsidian-tasks-mcp /path/to/obsidian/vault

来源:

git clone https://github.com/optimikelabs/optimike-obsidian-tasks-mcp.git
cd optimike-obsidian-tasks-mcp
npm install
npm run build

运行服务器

使用npm包(推荐):

# If installed globally
optimike-obsidian-tasks-mcp /path/to/obsidian/vault

# Or with npx (no installation required)
npx optimike-obsidian-tasks-mcp /path/to/obsidian/vault

来源:

node dist/index.js /path/to/obsidian/vault

您可以指定多个目录:

npx optimike-obsidian-tasks-mcp /path/to/obsidian/vault /another/directory

HTTP传输(可选)

服务器还支持流式HTTP传输。

MCP_TRANSPORT_TYPE=http MCP_HTTP_HOST=127.0.0.1 MCP_HTTP_PORT=3011 \
  npx optimike-obsidian-tasks-mcp /path/to/obsidian/vault

会话模式(默认 stateful):

  • MCP_HTTP_SESSION_MODE=stateful (自动会话ID)
  • MCP_HTTP_SESSION_MODE=stateless (无会话)

性能和范围

为避免扫描过多,请使用 includePaths/excludePaths 在MCP呼叫中, 或通过env-vars设置默认值:

  • MCP_TASKS_INCLUDE_PATHS (CSV):vault相对路径,例如。 Efforts/Projets,Calendrier/NOTES PÉRIODIQUES
  • MCP_TASKS_EXCLUDE_PATHS (CSV)
  • MCP_TASKS_MAX_FILES (编号)
  • MCP_TASKS_CONCURRENCY (数字,默认为8)

测试

要运行测试套件,请执行以下操作:

npm test

测试.md 有关测试套件的详细信息。

检验(MCP检验员)

npm run inspect:stdio
# or
npm run inspect:http

与MCP客户端(Claude、Codex等)一起使用

将此配置添加到支持MCP的客户端:

{
  "mcpServers": {
    "optimike-obsidian-tasks": {
      "command": "npx",
      "args": [
        "optimike-obsidian-tasks-mcp",
        "/path/to/obsidian/vault"
      ]
    }
  }
}

如果从源代码安装:

{
  "mcpServers": {
    "optimike-obsidian-tasks": {
      "command": "node",
      "args": [
        "/path/to/optimike-obsidian-tasks-mcp/dist/index.js",
        "/path/to/obsidian/vault"
      ]
    }
  }
}

码头工人

构建Docker镜像:

docker build -t optimike-obsidian-tasks-mcp .

使用Docker运行:

docker run -i --rm --mount type=bind,src=/path/to/obsidian/vault,dst=/projects/vault optimike-obsidian-tasks-mcp /projects

Claude桌面配置:

{
  "mcpServers": {
    "optimike-obsidian-tasks": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--mount", "type=bind,src=/path/to/obsidian/vault,dst=/projects/vault",
        "optimike-obsidian-tasks-mcp",
        "/projects"
      ]
    }
  }
}

任务格式

服务器识别以下黑曜石任务格式:

  • 任务语法: - [ ] Task description
  • 已完成任务: - [x] Task description
  • 到期日:

- 🗓️ YYYY-MM-DD - 📅 YYYY-MM-DD

  • 计划日期: ⏳ YYYY-MM-DD
  • 开始日期: 🛫 YYYY-MM-DD
  • 创建日期: ➕ YYYY-MM-DD
  • 优先: (高), 🔼 (中等), 🔽 (低)
  • 复发: 🔁 every day/week/month/etc.
  • 标签: #tag1 #tag2

示例任务: - [ ] Complete project report 🗓️ 2025-05-01 ⏳ 2025-04-25 #work #report ⏫

许可证

MIT许可证

目录标签

目录标签

文档处理TypeScriptClaudeObsidian插件任务管理本地部署Markdown解析AI辅助任务查询

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

optimike-obsidian-tasks-mcp

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP