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

MCP Apple Obsidian

MCP Server

一个为macOS上的Obsidian提供全面交互工具的MCP服务器,支持通过AppleScript、URI方案和文件系统访问管理笔记库、笔记内容和应用状态。

工具数

42

提示词数

0

GitHub Stars

1

资源数

0
知识管理PythonClaude全文搜索Claude DesktopClaude

安装说明

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

作者 / 组织

rex

提供方

rex

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

uvx mcp-apple-obsidian

详细介绍

MCP苹果黑曜石

macOS上用于黑曜石的全面模型上下文协议(MCP)服务器。此服务器提供了广泛的工具,用于通过AppleScript、URI方案和直接文件系统访问与黑曜石保管库、笔记和应用程序状态进行交互。

特性

保险库管理

  • 列出保管库:在Mac上发现所有黑曜石保险库
  • 获取保险库信息:有关保险库内容和结构的详细信息
  • 保险库统计信息:全面的分析,包括标签计数、链接统计等

注释操作

  • 阅读笔记:以markdown格式访问任何笔记的全部内容
  • 写笔记:创建新笔记或更新现有笔记
  • 删除笔记:使用可选备份删除笔记
  • 移动笔记:重命名或重新定位vault中的笔记
  • 列出注释:按文件夹和文件类型筛选浏览笔记
  • 注释元数据:提取标签、链接、封面和字数

前台/物业

  • 读取属性:从笔记中获取所有frontmatter属性
  • 设置属性:添加或更新单个属性
  • 设置多个属性:批量更新frontmatter
  • 删除属性:从frontmatter中删除属性
  • 按房产搜索:查找与属性值匹配的注释(等于、包含、gt、lt、存在)

标签管理

  • 获取笔记标签:在注释中列出所有标签(内联+frontmatter)
  • 添加标记:在笔记中添加标签
  • 移除标签:从笔记中删除标签
  • 重命名标签:重命名注释内或整个vault中的标记
  • 获取所有标签:列出所有具有出现次数的唯一标签

任务管理

  • 获取任务:使用元数据(截止日期、优先级、标签)列出注释中的所有任务
  • 添加任务:创建具有可选截止日期、优先级和标签的新任务
  • 完成任务:将任务标记为已完成
  • 任务未完成:将已完成的任务标记为未完成
  • 更新任务:修改任务描述、截止日期或优先级
  • 删除任务:从笔记中删除任务
  • 搜索任务:按状态、截止日期、标记或描述在vault中查找任务

搜索与发现

  • 全文搜索:使用正则表达式支持搜索笔记内容
  • 标签搜索:按特定标签查找笔记
  • 反向链接发现:查找链接到特定笔记的所有笔记
  • 房产搜索:按frontmatter属性查找注释
  • 文件夹浏览:浏览vault结构

黑曜石应用程序控制

  • 发射黑曜石:使用可选的保险库选项启动应用程序
  • 打开笔记:将特定笔记置于前台
  • 通过URI创建笔记:使用黑曜石的原生音符创作
  • 每日笔记:打开或创建每日笔记
  • 搜索集成:触发黑曜石的搜索界面
  • 聚焦控制:把黑曜石带到前线
  • 主动纸币检测:获取当前打开的笔记的信息

安装

快速安装(推荐)

# Install via uvx (no permanent installation)
uvx mcp-apple-obsidian

# Or install via pip
pip install mcp-apple-obsidian

先决条件

  • 安装了Obsidian的macOS
  • Python 3.11或更高版本
  • uv 包管理器(推荐)

从源代码安装

# Clone the repository
git clone https://github.com/mcp-servers/mcp-apple-obsidian.git
cd mcp-apple-obsidian

# Quick setup with Makefile
make setup

# Or manually
uv sync
uv pip install -e .

配置

环境变量

变量描述默认值
OBSIDIAN_DEFAULT_VAULT要使用的默认vault名称
OBSIDIAN_APP_PATH黑曜石之路.app/Applications/Obsidian.app
OBSIDIAN_APPLESCRIPT_TIMEOUTAppleScript超时(秒)30
OBSIDIAN_URI_TIMEOUTURI执行超时(秒)10
OBSIDIAN_MAX_FILE_SIZE可读取的最大钞票大小(字节)10MB
OBSIDIAN_CREATE_BACKUPS修改前创建备份true
OBSIDIAN_BACKUP_DIR备份目录~/.obsidian-mcp-backups

MCP配置

将服务器添加到MCP配置文件中(~/.kimi/mcp.json 或Claude桌面配置):

{
  "mcpServers": {
    "apple-obsidian": {
      "command": "uvx",
      "args": ["--from", "/path/to/mcp-apple-obsidian", "mcp-apple-obsidian"],
      "env": {
        "OBSIDIAN_DEFAULT_VAULT": "My Vault"
      }
    }
  }
}

或者为了当地发展:

{
  "mcpServers": {
    "apple-obsidian": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-apple-obsidian", "mcp-apple-obsidian"],
      "env": {
        "OBSIDIAN_DEFAULT_VAULT": "My Vault"
      }
    }
  }
}

可用工具(共42个)

所有工具名称前面都有前缀 obsidian_ 为了清晰的上下文。

保险库工具(3)

工具说明
obsidian_list_vaults列出所有已知的黑曜石拱顶
obsidian_get_vault_info获取详细的保险库信息
obsidian_get_vault_stats获取全面的保险库统计数据

笔记阅读工具(3)

工具说明
obsidian_read_note阅读笔记内容
obsidian_list_notes列出vault/文件夹中的注释
obsidian_get_note_metadata获取标签、链接、封面、字数

笔记书写工具(6)

工具说明
obsidian_write_note创建或覆盖笔记
obsidian_create_note使用frontmatter创建结构化笔记
obsidian_delete_note使用备份删除笔记
obsidian_move_note移动/重命名笔记
obsidian_append_note将内容添加到注释中
obsidian_prepend_note将内容预先添加到笔记中

首页/属性工具(5)

工具说明
obsidian_get_properties获取所有frontmatter属性
obsidian_set_property设置单个属性
obsidian_set_properties批量更新属性(JSON)
obsidian_delete_property删除属性
obsidian_search_by_property按房产价值搜索笔记

属性搜索运算符:

  • equals -完全匹配
  • contains -子字符串匹配
  • gt -大于(数字)
  • lt -小于(数字)
  • exists -属性存在(不需要值)

标签管理工具(7)

工具说明
obsidian_get_tags从笔记中获取所有标签
obsidian_add_tag在笔记中添加标签
obsidian_remove_tag从笔记中删除标签
obsidian_rename_tag_in_note在一个注释中重命名标签
obsidian_rename_tag_vault在所有地方重命名标签
obsidian_list_all_tags列出所有带有计数的标签
obsidian_find_notes_by_tag查找带有特定标签的笔记

任务管理工具(7)

工具说明
obsidian_get_tasks从笔记中获取所有任务
obsidian_add_task添加新任务
obsidian_complete_task标记任务已完成
obsidian_uncomplete_task标记任务未完成
obsidian_delete_task删除任务
obsidian_update_task修改任务属性
obsidian_search_tasks跨vault搜索任务

任务特性:

  • 支持 - [ ]* [ ] 语法
  • 到期日: 📅 YYYY-MM-DD
  • 优先: 🔼 高, 🔽 低(默认值:正常)
  • 支持内联标签

搜索工具(2)

工具说明
obsidian_search_notes使用正则表达式进行全文搜索
obsidian_find_backlinks查找链接到笔记的笔记

黑曜石应用程序控制(9)

工具说明
obsidian_check_app_running检查应用程序是否正在运行
obsidian_launch_app启动应用程序
obsidian_open_note_in_app在UI中打开注释
obsidian_create_note_in_app通过URI创建笔记
obsidian_open_daily_note打开每日笔记
obsidian_open_search_in_app在应用程序中打开搜索
obsidian_focus_app将应用程序放在前面
obsidian_get_active_note_info获取当前笔记信息
obsidian_get_app_version获取黑曜石版本

用法示例

阅读和写作笔记

Read the content of my "Projects/Ideas" note from the "Personal" vault using obsidian_read_note.

与物业合作

Set the "status" property to "in-progress" in the note "Project Alpha" using obsidian_set_property.
Find all notes where the "priority" property equals "high" using obsidian_search_by_property.

标签管理

Add the tag "urgent" to all notes in the Work folder using obsidian_add_tag.
Rename tag "old-project" to "new-project" across the entire vault using obsidian_rename_tag_vault.
What are the most used tags in my vault? Use obsidian_list_all_tags.

任务管理

Add a task "Review quarterly report" due 2024-12-31 with high priority to my daily note using obsidian_add_task.
Find all incomplete tasks tagged with "work" using obsidian_search_tasks.
Mark the task "Email client" as complete in the Projects/Clients note using obsidian_complete_task.

搜索

Search for all notes containing "meeting" in the "Work" vault using obsidian_search_notes.
Find all notes with property "type" set to "project" and tag "active" using obsidian_search_by_property and obsidian_find_notes_by_tag.

与黑曜石合作

Open the daily note in Obsidian and bring it to the foreground using obsidian_open_daily_note and obsidian_focus_app.
Create a new note called "Meeting Notes 2024-01-15" in the Work/Meetings folder with tags: work, meeting, january using obsidian_create_note.

查找连接

Find all notes that link to "Project Alpha" and list their tags using obsidian_find_backlinks.

API文档

API毫米 以获取全面的API文档和详细的输入/输出模式。

API_SPEC.json公司 用于机器可读的JSON模式。

部署和分发

对于用户

使用此MCP服务器的最简单方法:

# Via uvx (no installation required)
uvx mcp-apple-obsidian

# Via pip
pip install mcp-apple-obsidian
mcp-apple-obsidian

对于开发者

部署.md 全面的部署选项包括:

  • PyPI出版物
  • GitHub发布
  • 自制配方
  • Docker镜像
  • 当地开发设置

快速部署

# Build and test
make build
make publish-test

# Release to PyPI
make release VERSION=0.1.0

建筑

服务器使用三种主要方法与黑曜石交互:

  1. 文件系统访问:直接读/写vault文件以实现最大控制
  2. AppleScript:应用程序控制和窗口管理
  3. URI方案:原生黑曜石集成,用于打开笔记和触发动作

这种多层方法即使在Obsidian未运行时也能确保强大的功能,同时在运行时提供丰富的集成。

发展

使用Makefile

该项目包括一个用于常见任务的全面Makefile:

# Setup development environment
make setup

# Run tests
make test              # All tests
make test-unit         # Unit tests only
make test-coverage     # With coverage report

# Code quality
make lint              # Run linters
make format            # Format code
make check             # Run all checks (lint + test)
make fix               # Fix auto-fixable issues

# MCP Server installation
make install-claude    # Configure for Claude Desktop
make install-kimi      # Configure for Kimi CLI
make install-local     # Install for local testing

# Release
make build             # Build distribution
make publish-test      # Publish to TestPyPI
make publish           # Publish to PyPI
make release VERSION=0.1.0  # Full release workflow

# See all available targets
make help

运行测试

# Using Makefile
make test

# Or directly
uv run pytest

代码格式化

make format
# Or: uv run ruff format .

本地运行

# With default vault
OBSIDIAN_DEFAULT_VAULT="My Vault" make run

# Or directly
OBSIDIAN_DEFAULT_VAULT="My Vault" uv run mcp-apple-obsidian

MCP检验员测试

make inspector
# Or: npx @modelcontextprotocol/inspector uv run mcp-apple-obsidian

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

欢迎投稿!请随时提交拉取请求。

故障排除

未找到保险库

如果服务器找不到您的保管库,您可以:

  1. 指定vault的完整路径
  2. OBSIDIAN_DEFAULT_VAULT 环境变量
  3. 确保金库在黑曜石中至少打开过一次

AppleScript权限

如果AppleScript命令失败,请确保:

  1. 黑曜石在 /Applications
  2. 终端/IDE在“系统首选项”>“安全与隐私”>“隐私”>可访问性中具有可访问性权限
  3. 黑曜石正在运行或应用程序路径正确

大文件

如果阅读大额钞票失败,请增加 OBSIDIAN_MAX_FILE_SIZE.

任务格式

此服务器支持标准的黑曜石任务语法:

- [ ] Incomplete task
- [x] Completed task
- [ ] Task with due date 📅 2024-12-25
- [ ] High priority task 🔼
- [ ] Low priority task 🔽
- [ ] Task with #tag

目录标签

目录标签

知识管理PythonClaude全文搜索笔记管理本地部署知识库工具任务管理标签系统元数据操作

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

42

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP