Skip to main content

obsidian-rest-api

Call the Obsidian Local REST API directly (over HTTP) for vault operations the mcp__obsidian__* tools do NOT expose — move/rename a note, overwrite a whole file atomically (PUT), act on the currently-open active file, run an Obsidian command, open a note in the UI, list all tags, or do date-specific periodic-note CRUD. Prefer the mcp__obsidian__* tools for plain read/append/patch/delete/search; fall back to this skill only when the required method is missing from MCP.

소스 정보

저장소
davepoon/buildwithclaude
최근 소스 활동
2026년 7월 3일 07:41
감지된 SKILL.md 언어
영어
스타
3,565
포크
539

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
obsidian-rest-api
category
development-code
license
MIT
description
Call the Obsidian Local REST API directly (over HTTP) for vault operations the mcp__obsidian__* tools do NOT expose — move/rename a note, overwrite a whole file atomically (PUT), act on the currently-open active file, run an Obsidian command, open a note in the UI, list all tags, or do date-specific periodic-note CRUD. Prefer the mcp__obsidian__* tools for plain read/append/patch/delete/search; fall back to this skill only when the required method is missing from MCP.
# Obsidian Local REST API The connected `obsidian` MCP server exposes only a subset of the Obsidian [Local REST API](https://coddingtonbear.github.io/obsidian-local-rest-api/) (plugin `obsidian-local-rest-api`). This skill provides the full API surface plus an authenticated request wrapper, so a missing MCP method is called over HTTP instead of being worked around with hacks (e.g. delete+recreate to rename a note). ## When to Use This Skill Use the `mcp__obsidian__*` tools first for read, append, patch, delete, and search. Fall back to this skill only for operations that have **no MCP tool**: - Move / rename a note (preserves history, updates internal links) - Overwrite a whole file atomically (PUT) instead of delete+recreate - Act on the currently-open "active" file in the Obsidian UI - Run an Obsidian command from the command palette - Open / focus a note in the UI - List all vault tags with counts - Create/update/delete date-specific periodic notes ## What This Skill Does 1. Resolves the API host, port, and key from the connected obsidian MCP server config (`~/.claude.json`) or `OBSIDIAN_*` env vars — no hardcoded secrets. 2. Handles the plugin's self-signed TLS certificate. 3. Exposes every endpoint of the Local REST API (see `references/api_reference.md`), with the header enums (Operation, Target-Type, Target-Scope), the custom `MOVE` contract, and the search (JsonLogic/Dataview) formats. ## How to Use Call the wrapper `scripts/olrapi.sh <METHOD> <path> [curl args...]`: ```bash S=scripts/olrapi.sh # adjust to the skill's install path # rename/move a note (the most common reason to reach for this skill) "$S" MOVE "/vault/Path/To/Old Name.md" -H 'Destination: Path/To/New Name.md' # move into a folder, keeping the filename (trailing slash on Destination) "$S" MOVE "/vault/Inbox/todo.md" -H 'Destination: Archive/' # atomically overwrite a whole note "$S" PUT "/vault/Path/Note.md" -H 'Content-Type: text/markdown' --data-binary @/tmp/body.md # read a note as structured JSON (frontmatter + tags + stat) "$S" GET "/vault/Path/Note.md" -H 'Accept: application/vnd.olrapi.note+json' # list tags, run a command, open a note in the UI "$S" GET /tags/ "$S" POST "/commands/editor:toggle-bold/" "$S" POST "/open/Path/Note.md?newLeaf=true" ``` The wrapper prints `<<HTTP nnn>>` after the body. Success: `200`/`204`. On `MOVE`, `409` means the destination exists — add `-H 'Allow-Overwrite: true'` to force. For non-trivial calls, load `references/api_reference.md`. ### Path & encoding rules - `{filename}` is vault-relative (no leading slash on the vault path). - Percent-encode non-ASCII in URL paths and in the `MOVE` `Destination` header (e.g. `r%C3%A9sum%C3%A9.md`). `Destination` rejects absolute (`/…`) paths. - Target a sub-part of a note with `Target-Type` (`heading`|`block`|`frontmatter`) + `Target` headers on GET/PATCH/POST. ## Example **User**: "Rename `3-Resources/Draft.md` to `3-Resources/Final.md` in my vault." **Output**: ```bash scripts/olrapi.sh MOVE "/vault/3-Resources/Draft.md" \ -H 'Destination: 3-Resources/Final.md' # <<HTTP 204>> — moved, history preserved, internal links updated ``` ## Tips - Regenerate the reference against the live plugin if it was updated: `scripts/olrapi.sh GET /openapi.yaml`. `GET /` shows the plugin version. - Prefer `PUT` over delete+recreate for whole-file overwrites — it is atomic and keeps the file's identity. - The API serves HTTPS on port 27124 (self-signed → `curl -k`) and HTTP on 27123.
GitHub에서 보기