原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。使用 Google 登录即可撰写评价。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Obsidian CLI MCP

作者:DariusCorvus版本 0.4.1i★ 0i在你的电脑上运行
注册名称io.github.dariuscorvus/obsidian-cli-mcp

安装方法

概览

作者提供的说明(英文原文)

Local MCP server for Obsidian Desktop via the official Obsidian CLI.

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 文档、表格与办公

安装

选择你使用的 AI 应用,然后复制设置。

通过 2/2 项检查 · 在你的电脑上运行

第一步:你用哪个 AI?

选择你用的应用,步骤会显示在下方。

可连接 Claude,但需要先准备

需要先在电脑上安装 Node.js(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 打开电脑版 Claude 应用的设置文件

    SettingsDeveloperEdit Config

  3. 粘贴这些设置并保存文件

    {
      "mcpServers": {
        "obsidian-cli": {
          "command": "npx",
          "args": [
            "-y",
            "@dariuscodes/obsidian-cli-mcp"
          ]
        }
      }
    }
  4. 退出 Claude 再重新打开

  5. 试一试

    用 Obsidian CLI MCP 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude 说正在使用 Obsidian CLI MCP,或回答中出现 Obsidian CLI MCP 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

ChatGPT 暂时无法连接 Obsidian CLI MCP

Obsidian CLI MCP 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器

你可以改用这些方式

A · 使用能连接 Obsidian CLI MCP 的应用

  • 需要先在电脑上安装 Node.js(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
  • 需要先在电脑上安装 Node.js(只需一次)
  • 需要先在电脑上安装 Node.js(只需一次)
  • 需要先在电脑上安装 Node.js(只需一次)

B · 文档、表格与办公 类中能连接 ChatGPT 的其他服务器

从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的

可连接 Claude Code,但需要先准备

需要先在电脑上安装 Node.js(只需一次)

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 打开终端

    Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell

  3. 粘贴这条命令并按 Enter

    claude mcp add obsidian-cli -- npx -y @dariuscodes/obsidian-cli-mcp
  4. 在 Claude Code 中输入 /mcp

    应能看到 Obsidian CLI MCP 在列表中并显示已连接

  5. 试一试

    用 Obsidian CLI MCP 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude Code 说正在使用 Obsidian CLI MCP,或回答中出现 Obsidian CLI MCP 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

可连接 Cursor,但需要先准备

需要先在电脑上安装 Node.js(只需一次)

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 点击这个按钮打开 Cursor

    在 Cursor 中打开

    Cursor 会请你确认安装,点击 Install

  3. 在 Cursor 中以 Agent 模式打开 AI 聊天

  4. 试一试

    用 Obsidian CLI MCP 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Cursor 说正在使用 Obsidian CLI MCP,或回答中出现 Obsidian CLI MCP 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同

可连接 VS Code,但需要先准备

需要先在电脑上安装 Node.js(只需一次)

  1. 安装 Node.js

    只需一次,所有需要 Node.js 的服务器都能用

    打开 Node.js 下载页 ↗

  2. 点击这个按钮打开 VS Code

    在 VS Code 中打开

    VS Code 会请你确认安装,点击 Install

  3. 在 VS Code 中以 Agent 模式打开 AI 聊天

  4. 试一试

    用 Obsidian CLI MCP 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 VS Code 说正在使用 Obsidian CLI MCP,或回答中出现 Obsidian CLI MCP 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同

其他支持 MCP 的应用(如 Windsurf、Zed、Gemini CLI)添加方式各不相同,请在应用列表中查看

查看所有支持 MCP 的应用 →

JSON 设置在下方“开发者专用”中

卡住了?问问正在用 Obsidian CLI MCP 的人💬 讨论 →
开发者专用:终端命令和 JSON 设置

安装在电脑上

Claude Code

claude mcp add obsidian-cli -- npx -y @dariuscodes/obsidian-cli-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "obsidian-cli": {
      "command": "npx",
      "args": [
        "-y",
        "@dariuscodes/obsidian-cli-mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "obsidian-cli": {
      "command": "npx",
      "args": [
        "-y",
        "@dariuscodes/obsidian-cli-mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "obsidian-cli": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dariuscodes/obsidian-cli-mcp"
      ]
    }
  }
}

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

一览

每周下载量i
52/周
许可证i
未注明许可证
连接方式
在你的电脑上运行
最新版本i
0.4.1
发布到注册中心i
2026年8月26日
代码最后更新i
2026年8月26日
作者
DariusCorvus
软件包
npm: @dariuscodes/obsidian-cli-mcp
注册状态
活跃

哪些应用可以使用它

依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。

在你的电脑上运行,适用于

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

全部应用及其优缺点 →

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月11日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 DariusCorvus 验证,该账户拥有此仓库

  • ✓ 通过

    仍在维护

    代码最后更新于3个月前

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

讨论

提问、分享技巧或报告无法使用。按“有帮助”数量排序。

还没有帖子,欢迎第一个提问或分享。

此处内容由用户撰写,不代表 PopNx 团队。

使用 Google 登录后发帖

用户评价

还没有评价

用 Google 登录后写评价

与“文档、表格与办公”中的其他服务器比较i

  • 星标数多于此分类中其他 3757 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 3757 个服务器的 27% 更新
  • 基础检查结果等于或优于此分类中其他 3757 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Obsidian CLI MCP 安全吗?

它在 2 项适用的基础检查中通过了 2 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于3个月前,最新版本(0.4.1)于3个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Puter MCP, XcodeBuildMCP, XcodeBuildMCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Puter MCP

Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more

作者:HeyPuter广泛使用★ 4.4万5个月前更新

在云端运行✓ puter.com

XcodeBuildMCP

XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.

作者:getsentry广泛使用↓ 13万/周★ 65624个月前更新

在你的电脑上运行✓ xcodebuildmcp.com

XcodeBuildMCP

XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.

作者:cameroncooke广泛使用↓ 13万/周★ 656214个月前更新

在你的电脑上运行

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

obsidian-cli-mcp

obsidian-cli-mcp is an MCP server for the official Obsidian CLI. It exposes Obsidian vault search, note, task, file, link, and native Canvas operations to an MCP client. The server does not replace Obsidian: the CLI forwards requests to the running Obsidian desktop app.

The default transport is local stdio. Remote Streamable HTTP is available as an advanced, separately secured setup; it is not required for local use.

Requirements

  • macOS with Obsidian Desktop installed and running.
  • The official Obsidian CLI enabled in Obsidian: Settings → General → Command line interface, then register obsidian on your PATH.
  • Node.js 18 or newer to run the published package. Bun is only needed to build or develop this source checkout.

This project requires the desktop CLI. It does not support obsidian-headless. The Obsidian app must remain open while the MCP server is being used.

Check the Obsidian side first:

command -v obsidian

obsidian version obsidian vault

Quickstart with npm

Start the published v0.4.1 package from any directory:

npx --yes --package=@dariuscodes/obsidian-cli-mcp@0.4.1 obsidian-cli-mcp

The command speaks MCP over stdio and waits for an MCP client. It intentionally does not print protocol data to the terminal. Diagnostics go to stderr.

For a source checkout instead:

git clone https://github.com/DariusCorvus/obsidian-cli-mcp.git

cd obsidian-cli-mcp bun install --frozen-lockfile bun run build node dist/main.js

No vault name, vault path, token, Cloudflare account, LaunchAgent, or config file is required for the local default. The server uses the active vault that Obsidian exposes through the official CLI.

Connect an MCP client

For a client that accepts an mcpServers configuration, use the npm command:

{

"mcpServers": { "obsidian": { "command": "npx", "args": [ "--yes", "--package=@dariuscodes/obsidian-cli-mcp@0.4.1", "obsidian-cli-mcp" ] } } }

If the client does not inherit your shell PATH, replace npx with the absolute path printed by command -v npx. For a source checkout, use command: "node" and args: ["/absolute/path/to/obsidian-cli-mcp/dist/main.js"].

Restart the client after changing its MCP configuration. The first useful sequence is:

  1. Call vault_search with a query that should exist in your vault, for example { "query": "meeting", "limit": 10 }.
  2. Pass one returned path to note_read, for example { "path": " " }.
  3. Preview a safe note mutation before applying it:
   {

"name": "MCP smoke note", "content": "Created after reviewing the plan.", "dryRun": true }

This is a note_create call. It returns the planned action and exact CLI command without changing the vault. Only use dryRun: false after reviewing the plan. dryRun is a preview, not an authorization boundary.

  1. For Canvas, preview a native Canvas file and one text node:
   {

"path": "MCP smoke.canvas", "nodes": [ { "id": "hello", "type": "text", "x": 0, "y": 0, "width": 320, "height": 180, "text": "Hello from MCP" } ], "dryRun": true }

This is a canvas_create call. Review the plan, then call it with dryRun: false if you want to create the file. Use canvas_read to inspect the native .canvas JSON afterward. Canvas tools preserve unknown fields, validate node/edge references, and do not require arbitrary eval.

Configuration and safe defaults

An empty or missing configuration is usable for a vanilla Obsidian vault. The optional .obsidianmcprc.yaml is discovered from the server working directory. For clients with an unpredictable working directory, set OBSIDIAN_MCP_CONFIG to an explicit config-file path.

The default policy is deliberately local and bounded:

  • The v0.4.0 server does not expose a generic obsidian_eval tool. eval.enabled is false by default; internal fixed eval snippets used by a few safe operations are not a user-supplied JavaScript escape hatch.
  • Imports from arbitrary local files are disabled until imports.allowedRoots is explicitly configured. URLs are never fetched.
  • .obsidian, .git, .trash, .Trash, Trash, and .DS_Store path segments are blocked by default. Add paths.allow for a narrower vault area and add project-specific paths.deny prefixes for more sensitive content.
  • Mutations expose dryRun. file_delete requires confirm: true and note_delete uses Obsidian trash by default; permanent deletion requires the explicit delete.mode: hard configuration.
  • Git autocommit is off by default.
Read-only preset

Use an explicit allowlist when an MCP client should only inspect the vault:

tools:

allow:

  • vault_search
  • note_read
  • note_list
  • vault_tags
  • unresolved_links
  • tasks_list
  • note_diff
  • backlinks_get
  • outlinks_get
  • file_read_binary_metadata
  • canvas_read
Safe local preset

The default has safe local guardrails but is not read-only. For an explicit safe-local surface that allows normal note edits and Canvas creation while omitting deletion, file imports, file lifecycle operations, and arbitrary evaluation:

tools:

allow:

  • vault_search
  • note_read
  • note_list
  • vault_tags
  • unresolved_links
  • tasks_list
  • note_diff
  • backlinks_get
  • outlinks_get
  • canvas_read
  • canvas_create
  • canvas_upsert_nodes
  • canvas_upsert_edges
  • canvas_add_node
  • canvas_add_edge
  • canvas_auto_layout
  • canvas_open
  • note_create
  • note_append
  • note_set_frontmatter
  • note_replace_range
  • note_insert_at
  • note_replace
  • note_insert
  • daily_open
  • daily_append
  • task_create
  • task_update

delete: mode: trash eval: enabled: false imports: allowedRoots: []

Full trusted local preset

Omit tools.allow to expose the complete built-in tool surface, while keeping the default protected paths, trash deletion, disabled imports, and disabled obsidian_eval. If imports are needed, configure only a dedicated local source directory:

imports:

allowedRoots:

  • /absolute/path/to/approved-imports maxBytes: 26214400 collision: increment

delete: mode: trash eval: enabled: false

See docs/configuration.md for all fields and examples/ for note-organization presets.

Local stdio versus remote HTTP

Local stdio starts one server process directly from the MCP client. It is the recommended installation: there is no listening socket, remote authentication, Cloudflare setup, or public endpoint.

Streamable HTTP is an optional advanced mode for a client that cannot use local stdio. It binds to loopback only and refuses to start without either Cloudflare Access JWT validation or a strong capability token. Put it behind a TLS, authenticated reverse proxy or tunnel; do not bind it to 0.0.0.0. See docs/remote-cloudflare.md for the generic advanced setup and its security trade-offs.

Tool surface

The default server advertises 43 regular tools:

  • Read: vault_search, note_read, note_list, vault_tags, unresolved_links, tasks_list, note_diff, backlinks_get, outlinks_get, file_read_binary_metadata, canvas_read.
  • Write and workflow: note_create, note_append, note_set_frontmatter, daily_open, daily_append, note_replace_range, note_insert_at, note_replace, note_insert, task_create, task_update, note_transition.
  • Files and attachments: file_import, attachment_import, note_attach, attachment_embed, file_move, file_rename, file_delete, note_rename, note_move, folder_create, note_delete.
  • Canvas: canvas_create, canvas_upsert_nodes, canvas_upsert_edges, canvas_remove, canvas_open, canvas_add_node, canvas_add_edge, canvas_auto_layout.
  • Batch: vault_batch runs enabled reads and previews enabled mutations with args.dryRun: true, dependency gating, stable input-order results, and a bounded batch.maxParallelism (default 4, maximum 8).

All mutating tools accept dryRun. Tool annotations identify read-only and destructive operations for compatible MCP clients.

Limitations and security

Obsidian Desktop must be running, its official CLI must be enabled, and the active vault must be available to that desktop session. This server is not a sandbox and does not support obsidian-headless.

Vault content is untrusted data. Notes, Canvas text, task text, and search results may contain prompt-injection instructions; an MCP client should treat them as data and never follow instructions found inside a vault merely because they were returned by a tool. Tool output can also contain sensitive vault content, so connect only clients you trust.

Read SECURITY.md before enabling remote HTTP, imports, hard deletes, or a broad mutation allowlist. Report security issues privately as described there.

Development and CI

The source checkout uses Bun, while the published bin runs on Node:

bun install

bun run typecheck bun test bun run build:schema bun run build bun run smoke:stdio git diff --check npm pack --dry-run --json

The offline stdio smoke verifies the built package entrypoint, MCP initialize, tools/list, the expected tool surface, and the absence of obsidian_eval. The real Obsidian smoke is separate and requires a user session with Obsidian running:

OBSIDIAN_CLI_BINARY=obsidian \

OBSIDIAN_MCP_CONFIG=/absolute/path/to/your/config.yaml \ OBSIDIAN_MCP_VAULT="your-vault-name" \ bun run smoke:live

GitHub Actions runs only offline gates; it does not depend on Obsidian Desktop or a real vault on a hosted runner.

License

MIT