任务查询服务

一个独立的Go语言MCP服务器,用于解析Obsidian中的Markdown文件任务并评估核心任务查询过滤器,无需依赖REST API。

  • by hairyhenderson
  • Go
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 hairyhenderson/obsidian-tasks-mcp

使用说明

黑曜石任务MCP服务器

一个独立的Go MCP服务器,可从vault中的markdown文件中解析Obsidian任务,并在不依赖REST API的情况下评估核心任务查询过滤器。

此服务器实现了来自 黑曜石任务插件。请参阅 任务插件文档 查看完整的查询语法和示例。

安装

go install github.com/hairyhenderson/obsidian-tasks-mcp@latest

或者从源代码安装:

git clone https://github.com/hairyhenderson/obsidian-tasks-mcp.git
cd obsidian-tasks-mcp
go install .

用法

服务器在stdin/stdout上运行,并使用MCP协议进行通信。它接受一个或多个根目录作为命令行参数:

obsidian-tasks-mcp -root /path/to/vault -root /path/to/other/vault

MCP工具: query_tasks

服务器提供单个MCP工具 query_tasks 接受:

  • query (string,可选):带过滤器的任务查询字符串(每行一个过滤器)。请参阅 任务插件查询文档 有关支持的筛选器和语法。
  • rootDirs (字符串数组,必填):用于扫描markdown文件的根目录

返回一个任务对象数组 id, description, status, filePath, lineNumber, tags,以及 dueDate 领域。

光标配置

将此添加到光标MCP设置中(通常 ~/.cursor/mcp.json 或类似):

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

您可以指定多个根目录:

{
  "mcpServers": {
    "obsidian-tasks": {
      "command": "obsidian-tasks-mcp",
      "args": [
        "-root",
        "/path/to/vault1",
        "-root",
        "/path/to/vault2"
      ]
    }
  }
}

发展

运行测试:

make test

棉绒:

make lint

许可证

该项目根据 MIT许可证。有关完整的许可证文本,请参阅LICENSE文件。

版权所有(c)2026戴夫·亨德森