openotes provides 14 tools organized into 5 categories.
| Category | Tools |
|---|---|
| Discovery | list, search, search_files, get_structure |
| Reading | read, read_multiple |
| Writing | create, write, append, edit |
| Organization | create_directory, move, delete |
| Utility | health |
List markdown files in the vault.
{ "filter": "Projects/" }| Parameter | Type | Description |
|---|---|---|
filter |
string | Optional. Filter by path prefix |
Full-text content search with relevance scoring.
{ "query": "kubernetes deployment", "max_results": 20 }| Parameter | Type | Description |
|---|---|---|
query |
string | Search query |
max_results |
number | Optional. Max results (default: 50) |
Search by filename pattern.
{ "query": "meeting" }| Parameter | Type | Description |
|---|---|---|
query |
string | Filename search pattern |
Get directory tree of the vault.
{}No parameters.
Read a single file.
{ "filepath": "Projects/openotes.md" }| Parameter | Type | Description |
|---|---|---|
filepath |
string | Path to file (relative to vault) |
Read multiple files at once.
{ "filepaths": ["README.md", "Projects/ideas.md"] }| Parameter | Type | Description |
|---|---|---|
filepaths |
string[] | Array of file paths |
Create a new file. Fails if file already exists.
{ "filepath": "Notes/new-note.md", "content": "# New Note\n\nContent here" }| Parameter | Type | Description |
|---|---|---|
filepath |
string | Path for new file |
content |
string | File content |
Overwrite a file (creates if doesn't exist).
{ "filepath": "Notes/note.md", "content": "# Updated content" }| Parameter | Type | Description |
|---|---|---|
filepath |
string | Path to file |
content |
string | New content |
Append content to end of file.
{ "filepath": "Notes/log.md", "content": "\n- New entry" }| Parameter | Type | Description |
|---|---|---|
filepath |
string | Path to file |
content |
string | Content to append |
Find and replace text in a file.
{ "filepath": "Notes/note.md", "old_content": "old text", "new_content": "new text" }| Parameter | Type | Description |
|---|---|---|
filepath |
string | Path to file |
old_content |
string | Text to find |
new_content |
string | Replacement text |
Create a new folder.
{ "dirpath": "Projects/NewProject" }| Parameter | Type | Description |
|---|---|---|
dirpath |
string | Path for new directory |
Move or rename a file.
{ "source": "inbox/note.md", "destination": "Projects/note.md" }| Parameter | Type | Description |
|---|---|---|
source |
string | Current file path |
destination |
string | New file path |
Delete a file. Requires explicit confirmation.
{ "filepath": "trash/old-note.md", "confirm": true }| Parameter | Type | Description |
|---|---|---|
filepath |
string | Path to file |
confirm |
boolean | Must be true to delete |
Check server health and configuration.
{}No parameters. Returns server status and vault info.
All file operations are sandboxed to the configured vault path:
- Path traversal attempts (e.g.,
../) are blocked - Symlinks pointing outside the vault are rejected
- Null bytes in paths are rejected