
apaulineoliveira/obsidian-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
MCP Server connecting Obsidian to Claude and Cursor. Manage your to-dos without retyping tasks.
Обзор
An MCP server that connects your Obsidian vault to Claude Desktop and Cursor, so the AI can search your notes, read and update their metadata, and manage your to-dos without you copying and pasting anything. - "Find notes mentioning OAuth in Projects" · "Search for TODO(\w+) as a regex" - "Which notes are tagged #project and have status: draft?" - "Set status: done in the frontmatter of Projects/oloroke.md" - "Show my high-priority #backend tasks" · "Mark line 5 of Projects/x.md as done" - - [ ] Fix login #urgent #backend. Nested tags work like in Obsidian: filtering by project also matches #project/api. Tags inside code blocks, URLs (page#anchor) and links ([[Note#Heading]]) are ignored. - 🔴 high · 🟡 medium · 🟢 low · ⚫ blocked - projeto/project, prioridade/priority, tags (list or "a, b") and any custom field you want to search on Priority keywords work in . To add another language, add its keywords to PRIORITY_KEYWORDS in src/core/priorities.
README
Показан фрагмент оригинального README. Открыть оригинал.
Obsidian MCP Server
Article on Medium: https://paulineoliveira.medium.com/por-que-eu-fiz-o-claude-e-o-cursor-lerem-meus-to-dos-no-obsidian-4f0ab55eed84?postPublishedType=initial
An MCP server that connects your Obsidian vault to Claude Desktop and Cursor, so the AI can search your notes, read and update their metadata, and manage your to-dos without you copying and pasting anything.
What it can do
| Tool | Description |
|---|---|
search_notes |
Searches notes by text or regex, by tags and by frontmatter fields (all combinable), returning matching lines with their line numbers |
list_tags |
Lists every tag in the vault (inline and frontmatter) with how many notes use it |
get_frontmatter |
Returns a note’s YAML frontmatter as JSON |
update_frontmatter |
Creates, changes or removes frontmatter keys, keeping comments, key order and the note body intact |
get_todos |
Lists to-dos (- [ ] / - [x]), filterable by folder, tag, priority, completed and language |
update_todo |
Marks a to-do as done/undone (by note path and line number) |
get_note_content |
Returns the full content of a note |
create_note |
Creates a new note (and any missing folders), never overwriting an existing note |
list_projects |
Lists projects found in notes’ frontmatter |
get_supported_languages |
Lists languages accepted for priority keywords |
Example prompts:
- “Find notes mentioning OAuth in Projects” · “Search for
TODO\(\w+\)as a regex” - “Which notes are tagged #project and have
status: draft?” - “Set
status: donein the frontmatter of Projects/oloroke.md” - “Show my high-priority #backend tasks” · “Mark line 5 of Projects/x.md as done”
- “Save this summary as a note in Study/mcp.md”
Organizing your notes (all optional, can be combined)
- Inline tags:
- [ ] Fix login #urgent #backend. Nested tags work like in Obsidian: filtering byprojectalso matches#project/api. Tags inside code blocks, URLs (page#anchor) and links ([[Note#Heading]]) are ignored. - Priority emoji: 🔴 high · 🟡 medium · 🟢 low · ⚫ blocked
- YAML frontmatter:
projeto/project,prioridade/priority,tags(list or"a, b") and any custom field you want to search on
---
project: oloroke
priority: high
status: draft
tags: [backend]
---
- [ ] 🔴 Implement OAuth #urgent
Priority keywords work in pt, en, es, fr, de, it. To add another language, add its keywords to PRIORITY_KEYWORDS in src/core/priorities.py; src/examples/add_custom_language.py shows ready-made keywords for ja, zh, ru, el and ko.
Safety
The server only touches files inside OBSIDIAN_VAULT_PATH:
- Absolute paths,
..that leave the vault, and symlinks pointing outside it are rejected.
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →Конфигурация
{
"mcpServers": {
"obsidian-mcp": {
"command": "/abs/path/to/obsidian-mcp/venv/bin/python3",
"args": ["/abs/path/to/obsidian-mcp/src/obsidian_mcp.py"],
"env": { "OBSIDIAN_VAULT_PATH": "/abs/path/to/your/vault" }
}
}
}