SP

solaris5959/pentathlos

浏览器自动化

本页由 AI 翻译,技术细节请以原文为准。 查看原文

1 stars 0 forks 质量 51 趋势 22

基于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_context tool (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
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →