knowledgebase-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OBSIDIAN_API_KEY | Yes | Bearer token from the Local REST API plugin settings. | |
| OBSIDIAN_BASE_URL | No | REST base URL. | http://127.0.0.1:27123 |
| OBSIDIAN_TIMEOUT_MS | No | Per-request timeout in milliseconds. | 15000 |
| KNOWLEDGEBASE_READ_ONLY | No | Set to 1/true/yes/on to disable all writes. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_noteA | Read a note's full markdown content. Use get_metadata for tags and frontmatter, and get_links/get_backlinks about connections to other notes. |
| write_noteA | Create or overwrite a note, or append to it. Overwriting replaces the entire file, so read the note first unless you mean to replace it. Refused entirely when the server runs read-only. |
| searchA | Full-text search across the vault using Obsidian's own search. Returns matching notes with snippets and scores, best match first. |
| list_folderA | List the files and subfolders directly inside a folder. Omit the path or pass '/' for the vault root. Subfolders are reported separately from files. |
| get_metadataA | Get a note's tags, frontmatter, and file stats without its body. Cheaper than read_note when you only need how a note is classified. |
| get_linksA | Notes this note links to. Obsidian resolves the targets, so these paths are the files the app itself would navigate to. 'unresolved' lists links pointing at notes that do not exist — useful for finding gaps to fill. |
| get_backlinksA | Notes that link to this note. Comes from Obsidian's link index, so it matches the backlinks pane exactly — including links written as aliases. |
| get_active_noteA | The note currently open in Obsidian — what the user is looking at right now. Use this when the user says 'this note' without naming it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a clearly distinct role: reading, writing, searching, listing folders, retrieving metadata, and exploring forward/backward links. Even read_note and get_metadata are cleanly separated by body vs metadata.
Most tools follow a consistent verb_noun snake_case pattern like read_note, write_note, list_folder, get_metadata. The lone 'search' deviates slightly by omitting a noun, but the naming remains predictable and readable.
Eight tools is well-scoped for an Obsidian knowledge base server. Each tool covers a meaningful interaction without redundancy or bloat.
The core note lifecycle is covered: read, write/append, search, metadata access, and link navigation. Delete, move, and folder creation are absent, but these are reasonable omissions for a knowledge management tool focused on reading and writing notes.