MCP Tools¶
ObsidianPalace exposes five tools via the Model Context Protocol. Any MCP-compatible client (Claude Desktop, Claude iOS, claude.ai) can invoke these tools after establishing an authenticated SSE connection.
Connection¶
Connect to the MCP server at:
All requests require a valid Google OAuth 2.0 Bearer token in the Authorization header.
search_vault¶
Semantic search across the Obsidian vault using MemPalace (ChromaDB). Returns relevant notes ranked by similarity score.
Input Schema¶
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query |
string |
Yes | -- | Natural language search query |
limit |
integer |
No | 10 |
Maximum number of results to return |
Example¶
{
"name": "search_vault",
"arguments": {
"query": "kubernetes deployment strategies",
"limit": 5
}
}
Response¶
Returns a formatted list of matching notes with their paths, similarity scores, and content previews (first 300 characters).
read_note¶
Read the full markdown content of a note from the vault by its relative path.
Input Schema¶
| Parameter | Type | Required | Description |
|---|---|---|---|
path |
string |
Yes | Relative path to the note within the vault |
Example¶
Response¶
Returns the full text content of the note.
Path traversal protection
All paths are resolved and validated to ensure they remain within the vault directory. Paths containing ../ or absolute paths that resolve outside the vault will be rejected.
write_note¶
Write or update a note in the vault. If no path is provided, AI-assisted placement determines the best location based on the vault structure and note content.
Input Schema¶
| Parameter | Type | Required | Description |
|---|---|---|---|
content |
string |
Yes | Markdown content of the note |
path |
string |
No | Relative path in the vault. If omitted, AI determines the location. |
title |
string |
No | Note title (used for AI placement context when path is omitted) |
Example (explicit path)¶
{
"name": "write_note",
"arguments": {
"path": "Daily/2026-04-11.md",
"content": "# April 11, 2026\n\nWorked on ObsidianPalace docs today."
}
}
Example (AI placement)¶
{
"name": "write_note",
"arguments": {
"title": "Terraform Best Practices",
"content": "# Terraform Best Practices\n\n## Directories over workspaces\n..."
}
}
AI Placement Behavior¶
When path is omitted:
- The server fetches the vault's current folder structure
- Sends the folder tree, title, and content preview to Claude
- Claude returns a recommended path (e.g.,
Engineering/Infrastructure/terraform-best-practices.md) - The note is written to that path, creating parent directories as needed
Fallback: If no Anthropic API key is configured or the API call fails, the note is written to Inbox/{title}.md.
list_folders¶
List the folder structure of the vault at a given path.
Input Schema¶
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
path |
string |
No | "" (root) |
Subfolder to list |
Example¶
Response¶
Returns a newline-separated list of subdirectories at the given path.
list_notes¶
List note files (.md files) in a vault folder.
Input Schema¶
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
path |
string |
No | "" (root) |
Subfolder to list |
Example¶
Response¶
Returns a newline-separated list of markdown files in the given folder.