noteriv-mcp
v1.0.1
Published
MCP server for Noteriv — lets AI assistants read, write, and search your notes
Maintainers
Readme
Noteriv MCP Server
MCP (Model Context Protocol) server that gives AI assistants full access to your Noteriv vault — read, write, search, organize, and manage notes.
Auto-discovers your vaults from the Noteriv app config. Works with Claude Code, Cursor, or any MCP-compatible AI.
Setup
Install
cd mcp && npm installClaude Code
Add to ~/.claude/settings.json:
{
"mcpServers": {
"noteriv": {
"command": "node",
"args": ["/path/to/Noteriv/mcp/index.js"]
}
}
}It auto-detects your active vault from the Noteriv config. Or specify one:
{
"mcpServers": {
"noteriv": {
"command": "node",
"args": ["/path/to/Noteriv/mcp/index.js", "/path/to/vault"]
}
}
}Tools (22)
Vault Management
| Tool | Description |
|------|-------------|
| list_vaults | List all vaults with names, paths, IDs |
| get_active_vault | Show the current vault |
| switch_vault | Switch to a vault by name or ID |
| set_vault_path | Use a custom vault path |
Note CRUD
| Tool | Description |
|------|-------------|
| read_note | Read a note by relative path |
| write_note | Create or overwrite a note |
| append_to_note | Append text to a note |
| delete_note | Soft delete (moves to trash) |
| rename_note | Rename or move a note |
Browsing & Search
| Tool | Description |
|------|-------------|
| list_notes | List markdown notes (optionally by folder) |
| list_folders | List all folders |
| list_all_files | List all files (images, PDFs, etc.) |
| search_notes | Full-text search with line numbers |
Folder Management
| Tool | Description |
|------|-------------|
| create_folder | Create a folder |
| delete_folder | Delete a folder and contents |
Knowledge Graph
| Tool | Description |
|------|-------------|
| get_tags | All #tags and their notes |
| get_backlinks | Notes linking to a given note |
| get_outgoing_links | Wiki-links in a note |
Stats & Metadata
| Tool | Description |
|------|-------------|
| get_vault_stats | Note count, words, characters |
| get_note_info | Frontmatter, tags, links, word count |
Daily Notes
| Tool | Description |
|------|-------------|
| create_daily_note | Create or get today's note |
| get_recent_daily_notes | Last N daily notes |
Resources
All notes are exposed as MCP resources (note:///path.md) for direct browsing.
Noteriv Feature Reference
Everything Noteriv supports — useful context when writing or editing notes via MCP.
Markdown Syntax
Text Formatting
**bold** Bold text
*italic* Italic text
***bold italic*** Bold and italic
~~strikethrough~~ Strikethrough
==highlight== Highlighted text
`inline code` Inline code
$x^2$ Inline math (KaTeX)
$$x^2 = y$$ Block math (KaTeX)
H~2~O Subscript
E=mc^2^ SuperscriptHeadings & Structure
# H1
## H2
### H3
#### H4
##### H5
###### H6
--- Horizontal ruleLists & Tasks
- Item Unordered list
1. Item Ordered list
- [ ] Todo Task (unchecked)
- [x] Done Task (checked)Links & Embeds
[text](url) External link
[[Note Name]] Wiki link to another note
[[Note Name|Display]] Wiki link with custom display text
![[note]] Embed another note inline
 Image
 Image with fixed width
 Image with fixed width and heightWiki links — the primary way to connect notes in Noteriv. Type
[[in the editor to trigger autocomplete across all notes in your vault. Clicking a wiki link navigates to that note. Useget_outgoing_linksandget_backlinksMCP tools to traverse the link graph.
Tables
| Column 1 | Column 2 |
|----------|----------|
| Cell | Cell |Blockquotes & Callouts
> Regular blockquote
> [!note] Title
> Callout body textSupported callout types: note tip info warning danger bug example quote success question abstract todo failure important
Code Blocks
```javascript
const x = 1;
```Supported languages with syntax highlighting: javascript typescript python rust go html css json bash java c++ c#
Special Blocks
Table of Contents
[TOC]Drop [TOC] anywhere in a note and Noteriv auto-generates a clickable table of contents from all headings. Updates live as you edit.
Mermaid Diagrams
```mermaid
graph TD
A --> B
```Dataview Queries
```dataview
TABLE field1, field2 FROM #tag WHERE condition SORT BY field DESC LIMIT 10
LIST FROM "folder" WHERE condition
TASK FROM #tag WHERE !completed
```Query your vault like a database. Filter by tag, folder, or frontmatter field. Renders live in the editor.
Flashcards
Q: What is the capital of France?
A: Paris
The {{Eiffel Tower}} is in Paris. ← cloze deletionFlashcard blocks are picked up by the Flashcard Review feature (SM-2 spaced repetition algorithm).
Definition Lists
Term
: DefinitionFootnotes
Here is a note.[^1]
[^1]: Footnote content.Tags
Use #tag anywhere in a note body to tag it. Tags are searchable across the vault via get_tags.
Frontmatter
YAML frontmatter at the top of a note:
---
title: My Note
tags: [project, work]
due: 2026-04-01
status: active
---Frontmatter fields are queryable via Dataview and visible via get_note_info.
Views
| View | Description |
|------|-------------|
| Editor | Live markdown editor with inline rendering |
| Read-only | Clean rendered preview |
| Graph | Force-directed link graph across the vault |
| Calendar | Monthly calendar with daily notes and task due dates |
| Board | Board — drag-and-drop cards between columns |
| Canvas | Freeform whiteboard with nodes, connections, and drawings |
| Slides | Present notes as a slideshow (split slides with ---) |
| PDF Viewer | Open and annotate PDFs inline |
Board View
Create a kanban board by adding board: true to frontmatter. Cards are parsed from the note as tasks grouped under ## Column Name headings.
---
board: true
---
## To Do
- [ ] Write tests
- [ ] Fix login bug @due(2026-04-01) #backend
## In Progress
- [ ] Redesign dashboard
## Done
- [x] Set up CICards support: tags (#tag), due dates (@due(YYYY-MM-DD)), drag-and-drop between columns, and completion toggle.
Canvas / Whiteboard
.canvas files open in the visual whiteboard. Node types:
| Type | Description | |------|-------------| | Text | Editable text box | | Sticky Note | Colored sticky (7 colors) | | File | Embed a vault note as a node | | Image | Image from vault or filesystem | | Drawing | Freehand drawing (pencil, shapes, eraser) | | Group | Group multiple nodes together |
Nodes can be connected with arrows. Full z-ordering (layer) control. Zoom range: 0.15x–3x.
Drawing Editor
Embedded drawing canvas inside notes. Tools: pencil, rectangle, ellipse, line, arrow, text, eraser. Drawings saved as .drawing files in the vault.
Audio Recorder
Record audio directly from the editor. Waveform visualization during recording. Saves as audio file in vault with auto-inserted markdown link.
PDF Annotations
Open any PDF in the viewer and annotate with: highlight (yellow/green/blue/pink), underline, and text notes. Export annotations to markdown with page references.
Focus Mode
Dims all lines except the one being typed on. Vertically centers the active line. Toggled via command palette or hotkey.
Vim Mode
Full vim keybindings via @replit/codemirror-vim. Toggle in settings.
Note History
Every note's change history tracked via git snapshots. View diffs and restore any previous version from the history timeline panel.
File Recovery
Snapshot-based recovery separate from git history. Useful for recovering from accidental overwrites.
Trash / Soft Delete
Deleted notes move to .trash/ in the vault root — never permanently lost. Restore from the Trash panel.
Sync
| Provider | Description | |----------|-------------| | Git | Full git sync with stash/pop for unsaved changes | | Folder | Mirror vault to a local folder | | WebDAV | Sync to any WebDAV server |
Plugins
Community plugin registry. Install, enable, disable plugins. Plugin API exposes editor state, status bar, and commands.
Publish / Export
- HTML Export — standalone HTML page with all theme colors preserved
- Multi-note Export — combine multiple notes into one HTML file
- PDF Export — export note as PDF
- Slides — present any note as a fullscreen slideshow
