SP 

基于Rust的模型上下文协议(MCP)服务器,将LLM与本地Obsidian保险库集成。
概览
- [x] 将保险库目录和文件暴露为MCP资源 - [x] 阅读笔记工具 - [x] 创建新笔记的工具 - [x] 将文本附加到现有笔记的工具 - [x] 搜索和替换笔记内文本的工具(取代细分列表/任务编辑) - [x] 删除笔记工具 - [ ] 移动/重命名文件的工具(不自动更新引用) - [ ] 按文件名搜索保险库的工具 - [ ] 按文本内容搜索保险库的工具 - [ ] 基础Markdown解析 / Rust中的AST - [ ] Rust中的YAML/前置内容解析 - [ ] 防止写入配置后的保险库根 - [ ] 原子文件写入 - [ ] 可配置的排除路径 - [ ] 结构化MCP工具输出 - [ ] 一致的MCP错误处理 - [ ] P0中每个新增功能的基础单元测试 - [ ] 解析并解析 Obsidian 内部链接([[]]) - [ ] 支持链接别名([[note|alias]])- [ ] 支持标题链接([[note#标题]])- [ ] 支持块引用 ([[note#^block]]) - [ ] 解析 Obsidian 嵌入 (![[...
概述(AI 翻译)
P0 — 核心 / 必不可少
- [x] 将保险库目录和文件公开为MCP资源
- [x] 阅读笔记的工具
- [x] 创建新笔记的工具
- [x] 将文本添加到现有笔记的工具
- [x] 用于在笔记中搜索和替换文本的工具(替代细粒列表/任务编辑)
- [x] 删除笔记的工具
- [ ] 文件移动/重命名工具(不自动更新引用)
- [ ] 通过文件名搜索保险库的工具
- [ ] 按文本内容搜索保险库的工具
- [ ] 基础 Markdown 解析 / Rust 中的 AST
- [ ] Rust 中的 YAML/前置物解析
- [ ] 防止配置后的仓库根写入
- [ ] 原子文件写入
- [ ] 可配置的排除路径
- [ ] 结构化MCP工具输出
- [ ] 一致的MCP错误处理
- [ ] P0 中每个新增功能的基础单元测试
P1 — 黑曜石语义与属性
- [ ] 解析并解析 Obsidian 内部链接 (
[[]]) - [ ] 支持链接别名 (
[[note|alias]]) - [ ] 支持标题链接 (
[[note#heading]]) - [ ] 支持块引用 (
[[note#^block]]) - [ ] 解析黑曜石嵌入(
![[...]]) - [ ] 查找指向笔记的反向链接
- [ ] 从一张备忘录中查找外出链接
- [ ] 查找未解决/损坏的内部链接
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Obsidian MCP Server TODO
P0 — Core / Essential
- [x] Expose vault directories and files as MCP Resources
- [x] Tool to read notes
- [x] Tool to create new notes
- [x] Tool to append text to existing notes
- [x] Tool to search & replace text within a note (replaces granular list/task editing)
- [x] Tool to delete notes
- [ ] Tool to move/rename files (without auto-updating references)
- [x] Tool to search vault by filename
- [ ] Tool to search vault by text content
- [ ] Basic Markdown parsing / AST in Rust
- [ ] YAML/frontmatter parsing in Rust
- [ ] Prevent writes outside the configured vault root
- [ ] Atomic file writes
- [ ] Configurable excluded paths
- [ ] Structured MCP tool outputs
- [ ] Consistent MCP error handling
- [ ] Basic unit tests for every added feature in P0
P1 — Obsidian Semantics & Properties
- [ ] Parse and resolve Obsidian internal links (
[[]]) - [ ] Support link aliases (
[[note|alias]]) - [ ] Support heading links (
[[note#heading]]) - [ ] Support block references (
[[note#^block]]) - [ ] Parse Obsidian embeds (
![[...]]) - [ ] Find backlinks to a note
- [ ] Find outgoing links from a note
- [ ] Find unresolved/broken internal links
- [ ] Read note properties / frontmatter
- [ ] Update note properties
- [ ] Query notes by property
- [ ] Validate frontmatter against a schema
- [ ] List all tags and usage counts
- [ ] Find notes by tag
- [ ] Correctly distinguish tags in Markdown, YAML, and code blocks
P1 — Safe Mutations
- [ ] Add dry-run mode for mutations
- [ ] Return before/after diffs for edits
- [ ] Add atomic multi-file operations
- [ ] Maximum file-size limits
- [ ] Require explicit confirmation for destructive operations
P2 — Search & Context (LLM Power Tools)
- [ ] Regex search
- [ ] Search within a directory/subtree
- [ ] Search excluding configured directories
- [ ] Tag & Property search
- [ ] Link/backlink search
- [ ] Search surrounding context around matches (return relevant sections)
- [ ]
get_note_contexttool (Mega-tool returning note contents + frontmatter + backlinks + outgoing links + tags in one payload) - [ ] Tool to summarize a note’s connections
- [ ] Vault health/diagnostics tool (Find broken links, orphans, empty notes, malformed YAML)
P2 — MCP Resources
- [ ]
obsidian://vault - [ ]
obsidian://note/ - [ ]
obsidian://backlinks/ - [ ]
obsidian://tags/ - [ ]
obsidian://recent - [ ]
obsidian://orphans - [ ]
obsidian://broken-links - [ ]
obsidian://daily/today
P3 — Architecture & Infrastructure
- [ ] Build reusable Rust vault engine independent of MCP
- [ ] Keep MCP layer thin over vault primitives
- [ ] Create reusable
resolve_link()primitive - [ ] Create reusable
backlinks()primitive - [ ] Create reusable
search()abstraction - [ ] Create reusable mutation/diff abstraction
- [ ] Add comprehensive unit tests
- [ ] Add integration tests against real Obsidian vaults
- [ ] Add fixture vault containing common Obsidian syntax
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →