Obsidian笔记服务器

一个为Obsidian笔记库设计的服务器,支持AI助手和工具读取、写入、搜索、组织和分析笔记。

  • by erinmikailstaples
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 erinmikailstaples/obsidian-mcp

使用说明

Obsidian MCP 服务器

全面的 模型上下文协议(MCP) 为Obsidian知识库提供服务的服务器,支持AI助手和工具,如 鹅 阅读、书写、搜索、整理和分析你的笔记。

特点/特性

🚀 表情符号“🚀”在中文中通常被翻译为“火箭”或直接用作表示火箭的符号,没有直接的中文文字对应,但根据上下文,它可能代表火箭发射、快速前进或某种高科技、创新的象征。在没有具体上下文的情况下,最通用的翻译是“火箭”。 通用兼容性

  • 与……配合使用 任何 黑曜石保险库结构
  • 可配置的文件夹约定和命名规则
  • 支持自定义前置元数据标准和标签层次结构

🔧 表示“扳手”或“修理工具”的符号,可翻译为“扳手”或“修理工具”。在中文语境中,这个符号常用于表示与修理、维护或工具相关的概念。 核心业务/核心运营

  • 阅读和编写单个笔记,并支持前言内容
  • 使用灵活过滤和通配符模式列出文件
  • 安全的文件操作,包含路径验证和原子写入
  • 通过资源访问 obsidian://{path} 统一资源标识符(URIs)

🛡️ 翻译为中文是:“护盾”或“防御”。 安全第一

  • 路径遍历保护
  • 对破坏性操作进行明确确认
  • 链接修复和批量操作的模拟运行模式
  • 系统垃圾文件整合,而非永久删除
  • 文件锁定以防止损坏

📊(表格) 丰富的工具集 (即将推出)

  • 支持正则表达式的全文搜索
  • 基于标签的搜索和元数据查询
  • 链接导航和断链检测
  • 保险库分析与健康指标
  • 组织工具(MOCs,批量操作)

安装

# Install from PyPI (coming soon)
pip install mcp-obsidian

# Or install from source
git clone https://github.com/erinmikailstaples/obsidian-mcp
cd obsidian-mcp
uv sync
uv pip install -e .

快速入门

基本用法

# Start with specific vault
mcp-obsidian --vault /path/to/your/vault

# Use environment variable
export OBSIDIAN_VAULT_PATH=/path/to/your/vault
mcp-obsidian

# Enable debug logging
mcp-obsidian --vault /path/to/vault --log-level DEBUG

和鹅一起

该服务器作为MCP(管理控制协议)扩展,与Goose无缝集成:

# Test your setup
goose session --with-extension "mcp-obsidian --vault /path/to/vault"

在Goose中,您可以:

  • 阅读笔记:“向我展示我每日笔记的内容”
  • 列出文件:“我的项目文件夹里有哪些Markdown文件?”
  • 获取保险库信息:“给我提供关于我的保险库的统计数据”

可用工具与资源

资源:

  • obsidian://{path} - 阅读任何笔记内容,包括前言部分

工具:

  • get_vault_info() - Vault(保险库)的统计信息和配置
  • list_files(folder, recursive, glob_pattern, include_folders) - 带过滤功能的文件列表

更多工具即将推出:搜索、创建/更新/删除文件、链接分析等。

配置

环境变量

  • OBSIDIAN_VAULT_PATH - 默认保险库路径
  • OBSIDIAN_MCP_CONFIG - 配置文件路径
  • OBSIDIAN_MCP_LOG_LEVEL - 日志级别(DEBUG,INFO,WARNING,ERROR)

每个Vault的配置 (即将推出)

创造 .obsidian-mcp.yaml 在您的保险库根目录中:

# Folder naming conventions
folder_rules:
  prefix_required: true
  prefix_pattern: "\\d{2}-\\d{2}"

# Tag hierarchy rules  
tag_hierarchy:
  separator: "/"
  case_sensitive: false
  
# Frontmatter standards
frontmatter_standards:
  required_fields: ["created", "updated"]
  date_format: "YYYY-MM-DD"

发展

设置

git clone https://github.com/erinmikailstaples/obsidian-mcp
cd obsidian-mcp
uv sync
uv pip install -e .

使用MCP Inspector进行测试

# Set your vault path
export OBSIDIAN_VAULT_PATH=/path/to/your/vault

# Start development server
uv run mcp dev dev_server.py

# Open http://localhost:5173 to test with MCP Inspector

项目结构

obsidian-mcp/
├── src/obsidian_mcp/
│   ├── __main__.py      # CLI entry point
│   ├── server.py        # MCP server implementation
│   ├── utils.py         # Path safety and file utilities
│   ├── logging_setup.py # Rich logging configuration
│   └── operations/      # Feature modules (coming soon)
├── tests/              # Test suite (coming soon)
└── tutorial.md        # Development log and tutorial

建筑学

建立在坚实的基础之上:

  • MCP协议用途 FastMCP 以确保完全符合协议规定
  • 安全路径验证、原子写入、文件锁定和明确确认
  • 演出对于大型存储库,可选地使用 ripgrep 和 rapidfuzz 进行加速搜索
  • 灵活性混合配置系统(CLI → 环境变量 → 每个vault配置 → 默认值)

路线图

第三阶段:基础组件 (进行中)

  • [ ] Markdown 解析(前置信息、维基链接、标签)
  • [ ] 隐藏索引构建与链接图构造
  • [ ] 核心文件操作(创建、更新、删除)

第四阶段:高级功能 (计划中的)

  • [ ] 搜索实现(文本、标签、元数据、日期)
  • [ ] 链接导航与解析
  • [ ] 组织工具(MOCs,批量操作,文件移动)
  • [ ] 地下室(或保险库)分析(统计信息、孤立文件、结构验证)

第五阶段:润色与整合 (计划中的)

  • [ ] 使用样本保险库进行全面测试
  • [ ] 性能优化和缓存
  • [ ] Goose 集成文档
  • [ ] PyPI 包发布

做出贡献

我们欢迎贡献!请参阅我们的开发教程,以了解架构和实现方法的详细信息。

许可证

MIT 许可证 - 详情请参见 LICENSE 文件。


状态早期开发阶段 - 基本功能已实现,高级功能即将推出。

为……而建造 鹅 生态系统以及更广泛的MCP(移动计算平台/多平台计算等,具体含义需根据上下文确定)社区