# Obsidian Turbocharged

An MCP server that lets an agent read and edit an Obsidian vault through one channel: retrieval, memory and a human check on risky writes.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 13
- Author: The-40-Thieves
- License: AGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/The-40-Thieves/obsidian-tc
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/obsidian-turbocharged

## What it does

Every tool call takes the same route: authentication, folder restrictions, a switch that forces read-only mode, and a person confirming anything destructive. Log entries record what was called. Alongside this, the server runs fused retrieval over note text, vectors and links, plus a memory layer of episodes that decay and get forgotten. That memory sits inside the vault and obeys the same folder limits as ordinary notes.

Try it with no install: `npx obsidian-tc /path/to/vault`. Note tools and word-level search come up straight away, while authentication and folder limits stay off — acceptable only on your own machine. Several vaults or real access control call for a config file: `npm install -g obsidian-tc`, then `obsidian-tc ./obsidian-tc.config.json`. Node 24 or newer is required, or Bun 1.1 and up.

Semantic search needs an embedding provider. The bundled `local` one is left out of a global install; add it at the matching version with `npm install -g @the-40-thieves/obsidian-tc-embedder-local@<same version>`. Ollama and hosted providers need nothing local. With no embedder the semantic half is off, and everything else keeps working.

The license is AGPL-3.0, so exposing the server over a network brings its copyleft terms into play for your service. One person reading one vault is better served by Obsidian's Local REST API plugin; this project brings access governance and memory, which is why setup is heavier than usual.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `OBSIDIAN_TC_CONFIG`, `OBSIDIAN_TC_DEFAULT_VAULT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.
- Works with: Obsidian

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env OBSIDIAN_TC_CONFIG=<OBSIDIAN_TC_CONFIG> --env OBSIDIAN_TC_DEFAULT_VAULT=<OBSIDIAN_TC_DEFAULT_VAULT> --transport stdio obsidian-turbocharged -- npx -y obsidian-tc
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add obsidian-turbocharged --env OBSIDIAN_TC_CONFIG=<OBSIDIAN_TC_CONFIG> --env OBSIDIAN_TC_DEFAULT_VAULT=<OBSIDIAN_TC_DEFAULT_VAULT> -- npx -y obsidian-tc
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "obsidian-turbocharged": {
            "command": "npx",
            "args": [
                "-y",
                "obsidian-tc"
            ],
            "env": {
                "OBSIDIAN_TC_CONFIG": "<OBSIDIAN_TC_CONFIG>",
                "OBSIDIAN_TC_DEFAULT_VAULT": "<OBSIDIAN_TC_DEFAULT_VAULT>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "obsidian-turbocharged": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "obsidian-tc"
            ],
            "env": {
                "OBSIDIAN_TC_CONFIG": "<OBSIDIAN_TC_CONFIG>",
                "OBSIDIAN_TC_DEFAULT_VAULT": "<OBSIDIAN_TC_DEFAULT_VAULT>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e OBSIDIAN_TC_CONFIG=<OBSIDIAN_TC_CONFIG> -e OBSIDIAN_TC_DEFAULT_VAULT=<OBSIDIAN_TC_DEFAULT_VAULT> obsidian-turbocharged npx -y obsidian-tc
```
Replace <…> with your own values

## When to use it
- point an agent at years of notes without handing it the whole disk
- retrieve a note by meaning instead of an exact word
- keep agent memory inside the vault under the same folder limits
- confirm a note deletion or overwrite before it happens
- restrict an agent to certain folders and log its calls

## Example prompts
- Connect the vault using `./obsidian-tc.config.json` and list the tools you can call.
- Find my notes about last quarter's budgeting in the vault.
- Save today's architecture discussion to memory, but leave the `archive` folder alone.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
