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

Obsidian TS MCP

MCP Server

一个为AI代理提供Obsidian笔记库读写、搜索和管理功能的Model Context Protocol (MCP)服务器。

工具数

38

提示词数

0

GitHub Stars

9

资源数

0
知识管理开发工具TypeScriptClaudeAI代理集成Claude DesktopClaudeVS Code

安装说明

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

作者 / 组织

dickiedyce

提供方

dickiedyce

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

黑曜岩ts-mcp

封装官方黑曜石CLI的模型上下文协议(MCP)服务器, 让VS Code中的AI代理(以及任何其他MCP客户端)读取、写入、搜索、, 并管理黑曜石金库内的笔记。

先决条件

要求最低版本
Node.js18
黑曜石桌面应用程序1.12(启用CLI)
Obsidian Catalyst许可证CLI访问需要

MCP服务器使用时,Obsidian桌面应用程序必须正在运行。 这 obsidian 二进制文件必须在您的 PATH.

安装

git clone https://github.com/dickiedyce/obsidian-ts-mcp.git
cd obsidian-ts-mcp
npm install
npm run build

配置

VS代码(用户级MCP)

将以下内容添加到VS Code MCP配置中:

操作系统路径
macOS~/Library/Application Support/Code/User/mcp.json
Linux~/.config/Code/User/mcp.json
窗户%APPDATA%\Code\User\mcp.json
{
  "servers": {
    "obsidian": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/obsidian-ts-mcp/dist/server.js"],
      "env": {
        "OBSIDIAN_VAULT": "My Vault"
      }
    }
  }
}

克劳德桌面版

添加 claude_desktop_config.json (~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上, %APPDATA%\Claude\claude_desktop_config.json 在Windows上):

{
  "mcpServers": {
    "obsidian": {
      "command": "node",
      "args": ["/absolute/path/to/obsidian-ts-mcp/dist/server.js"],
      "env": {
        "OBSIDIAN_VAULT": "My Vault"
      }
    }
  }
}

OBSIDIAN_VAULT 指向您要定位的保险库的名称。名称 必须与黑曜石在跳马切换器中显示的完全匹配。

环境变量

变量描述
OBSIDIAN_VAULT默认vault名称附加到每个CLI调用。
OBSIDIAN_VAULT_PATHvault根目录的绝对文件系统路径。用于直接文件系统操作;如果未设置,则通过CLI解析路径。

可用工具

服务器公开了39个工具,分为11组。

核心--笔记管理

工具说明
create_note创建一个新笔记,可以选择从模板中创建。支持a path 用于在子目录中精确放置的参数。
read_note阅读笔记的完整标记内容。
append_to_note将内容附加到注释末尾。
prepend_to_note在便条的封面后面写上内容。
search_vault使用黑曜石查询语法进行全文搜索。
daily_note获取或创建今天的每日笔记。
daily_append将内容添加到今天的每日笔记中。

发现和背景

工具说明
get_vault_infoVault名称、路径、文件/文件夹计数、大小。
list_files列出文件,可选择按文件夹或扩展名进行筛选。
get_tags列出所有带有出现次数的标签。
get_backlinks查找链接到给定笔记的笔记。
get_outline注释的标题结构。

属性和元数据

工具说明
set_property在笔记上设置frontmatter属性。
read_property读取frontmatter属性值。

任务

工具说明
list_tasks列出任务,并使用状态、文件或每日笔记过滤器。
toggle_task打开或关闭任务复选框

每日笔记(扩展)

工具说明
daily_read阅读今天的每日笔记内容。
daily_prepend在每日笔记的封面之后预先写下内容。

模板

工具说明
list_templates列出vault中的所有可用模板。
read_template读取模板的内容,可以选择解析。

链接

工具说明
get_links列出笔记中的所有传出链接。

属性(扩展)

工具说明
list_properties列出整个vault中使用的所有前体属性。
remove_property从笔记中删除frontmatter属性。

标签(扩展)

工具说明
get_tag_info获取特定标签及其文件的详细信息。

文件管理

工具说明
move_file移动或重命名文件;黑曜石更新内部链接。

基础

工具说明
query_base查询黑曜石基并返回结构化结果。

项目管理

工具说明
project_create使用概述和待办事项列表文件创建一个新项目。
project_list列出vault中的所有项目。
project_overview阅读项目的概述元数据。
project_context加载完整的项目上下文:概述、待办事项列表、最近的会话。
project_summary生成一个日期范围内的项目活动摘要。
project_dashboard带有状态、活动和积压计数的跨项目仪表板。
backlog_add将项目添加到项目的待办事项列表中。
backlog_read阅读项目的待办事项列表。
backlog_open列出未完成的积压项目,并回填缺失的未完成项目ID。
backlog_done用唯一的ID或文本标记一个待办事项,并加上时间戳。
backlog_prioritise将积压项目重新排序到特定位置。
backlog_reorder在一次通话中重新排序多个待办事项。

由创建的待办事项列表条目 backlog_add 现在包括一个稳定 [#] 标记。

项目结构

src/
  cli.ts          -- Low-level Obsidian CLI wrapper (exec, arg building, errors).
  fs-ops.ts       -- Direct filesystem operations (mkdir, read, write) for exact path control.
  tools.ts        -- MCP tool definitions (names, descriptions, JSON schemas).
  handlers.ts     -- Dispatches tool calls (39 tools) to CLI commands or filesystem ops.
  server.ts       -- MCP server entry-point (stdio transport, error handling).
  validation.ts   -- Input validation against tool schemas.
tests/
  cli.test.ts           -- Unit tests for argument building and error types.
  fs-ops.test.ts        -- Unit tests for filesystem operations.
  runObsidian.test.ts   -- Tests for CLI execution, timeouts, vault targeting.
  handlers.test.ts      -- Tests for all 37 tool handlers (CLI and fs-ops are mocked).
  tools.test.ts         -- Schema validation for every tool definition.
  validation.test.ts    -- Input validation tests (types, enums, required fields).
  server.test.ts        -- Server factory, error formatting, version checks.

发展

npm run dev           # Watch-mode TypeScript compilation
npm test              # Run the test suite once
npm run test:watch    # Run tests in watch mode
npm run test:coverage # Run tests with coverage report
npm run build         # One-shot compilation
npm run lint          # Run ESLint
npm run format:check  # Check Prettier formatting
npm start             # Start the MCP server on stdio

运作原理

  1. MCP客户端(VS Code、Claude Desktop等)通过以下方式启动服务器

停下来

  1. 客户来电 tools/list 并从接收37个工具定义

src/tools.ts.

  1. 当客户端调用工具时, src/server.ts 将呼叫路由到

handleTool()src/handlers.ts.

  1. handleTool() 根据工具模式验证输入,然后使用

buildArgs()runObsidian()src/cli.ts 执行 相应的 obsidian CLI命令,或使用直接文件系统 操作从 src/fs-ops.ts 当需要精确的路径控制时 (例如在子目录中创建注释、项目管理)。

  1. CLI输出作为文本内容块返回给客户端。

测试

测试使用Vitest并模拟CLI层,因此它们永远不会调用真正的 黑曜石双星。运行:

npm test

安全注意事项

  • 完全访问保险库。 服务器对中的每个笔记都有读/写权限

目标金库。限制 OBSIDIAN_VAULT 去保险库你会很舒服 暴露于AI代理。

  • 没有身份验证。 stdio传输没有内置身份验证。访问

控制完全取决于谁可以启动服务器进程。

  • 输入验证。 所有工具输入均根据其声明进行验证

执行前的模式。服务器使用 execFile (不是 exec)为了避免 shell注入,但请注意,文件/路径值直接传递给 黑曜石CLI。

  • 环境继承。 子进程继承父进程的

环境变量。避免将机密存储在对 服务器进程。

故障排除

症状 : obsidian: command not found\ 原因:CLI二进制文件不在PATH上\ 修复:确保安装了Obsidian 1.12+,并在“设置”>“常规”中启用了CLI

症状 : Command timed out after 15000ms\ 原因:黑曜石桌面应用程序未运行\ 修复:在使用MCP服务器之前启动Obsidian应用程序

症状 : vault not found\ 原因:保险库名称不匹配\ 修复:检查一下 OBSIDIAN_VAULT 与黑曜石金库切换器中的确切名称匹配

症状 : Catalyst licence required\ 原因:缺少许可证\ 修复:黑曜石CLI需要Catalyst许可证,请在Obsidian.md购买

症状 :服务器立即退出\ 原因:Node.js版本太旧\ 修复:确保Node.js>=18(node --version)

许可证

麻省理工学院

目录标签

目录标签

知识管理开发工具TypeScriptClaudeAI代理集成笔记管理本地部署Obsidian扩展MCP协议

支持客户端

Claude DesktopClaudeVS Code

接入字段

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

未说明

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

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

38

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明nonelocal-only

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP