Obsidian Semantic MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLLAMA_URL | No | Ollama API endpoint. | http://localhost:11434 |
| POSTGRES_DB | No | Database name. | obsidian_brain |
| DATABASE_URL | No | Full connection string (overrides POSTGRES_* vars). | |
| RERANK_MODEL | No | Optional Ollama model for cross-encoder re-ranking. Disabled when empty. | |
| EMBED_WORKERS | No | Parallel threads for bulk indexing. | 4 |
| POSTGRES_HOST | No | PostgreSQL host. | localhost |
| POSTGRES_PORT | No | PostgreSQL port. | 5432 |
| POSTGRES_USER | No | Database user. | obsidian |
| OBSIDIAN_VAULT | No | Absolute path to your Obsidian vault. Required if OBSIDIAN_VAULTS is not set. | |
| EMBEDDING_MODEL | No | Ollama model for embeddings. | nomic-embed-text |
| OBSIDIAN_VAULTS | No | Comma-separated list of vault paths for multi-vault mode. Overrides OBSIDIAN_VAULT when set. | |
| POSTGRES_PASSWORD | No | PostgreSQL password (required for Docker mode). | |
| RERANK_CANDIDATES | No | Candidate pool size fetched before re-ranking. | 20 |
| OBSIDIAN_IGNORE_PATHS | No | Comma-separated vault-relative path segments to skip during indexing and watching. | archive |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_vaultA | Search across your Obsidian vault(s). Three modes: 'hybrid' (default) combines semantic meaning with keyword matching for best results; 'semantic' searches by meaning only; 'keyword' matches exact words using full-text search. Use this to retrieve context, past decisions, notes, or research from the vault. |
| list_indexed_notesA | List all notes that have been indexed, with their last indexed timestamp. |
| reindex_vaultA | Force a full re-index of all notes in the vault. Runs in the background — use list_indexed_notes to check progress. |
| list_filesB | List all files and directories in a vault directory. Defaults to vault root. |
| get_fileB | Read the full content of a file in the vault. |
| get_files_batchC | Read the contents of multiple files at once. |
| append_contentA | Append content to the end of a file. Creates the file if it doesn't exist. |
| write_fileA | Write or overwrite a file in the vault. Creates parent directories if needed. WARNING: overwrites existing content without confirmation — use append_content if you want to add to an existing file without replacing it. |
| simple_searchA | Text/keyword search across vault files. Use search_vault for semantic/meaning-based search, use this for exact text matching. |
| get_note_connectionsA | Return all notes connected to a given note via wikilinks — both notes it links to (outgoing) and notes that link back to it (incoming). Useful for exploring your knowledge graph and finding related notes. |
| recent_changesB | Get recently modified files in the vault. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/artificemachine/obsidian-semantic-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server