Optimike Obsidian MCP
Provides tools for interacting with an Obsidian vault, including reading/writing notes, managing frontmatter and tags, searching, semantic search via Smart Connections, querying Tasks, and managing Obsidian Bases.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Optimike Obsidian MCPsemantic search for 'quarterly goals'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Optimike Obsidian MCP
French version: README.fr.md · Documentation hub · Operations · Security
Optimike Obsidian MCP gives MCP clients a governed operational surface over an Obsidian vault: live Desktop operations, resilient headless modes, Tasks and Operon, Bases and Canvas, semantic search, runtime observability, and bounded access to configured external documents.
Capability map
Area | What the MCP provides | Main dependency |
Notes | Read/search/direct edits plus governed note and Frontmatter operations | Vault; Local REST API + Atomic Write Bridge |
Bases and Canvas | Queries, bounded writes, governed formulas and Canvas graph plans | Bases Bridge; Atomic Write Bridge |
Tasks | Tasks-compatible Markdown plus 23 governed Operon tools | Operon Developer API V1 through the Bridge |
Semantic search | Smart Connections index search |
|
Runtime | Shared SQLite cache, health, maintenance and degraded modes | Local filesystem |
External documents | Default-deny reads/handoff plus opt-in local move | Explicit root allowlist |
Headless administration | Guarded metadata and filesystem operations | Copied or dedicated vault |
The canonical tool registry is documented in Tool Surface.
Related MCP server: obsidian-local-mcp
Runtime and transport
Need | Recommended runtime / transport |
Local agent | stdio proxy |
Obsidian Desktop automation |
|
CI/server/synchronized copy |
|
Bounded writes on copied/dedicated vault |
|
Same-machine HTTP | authenticated loopback HTTP |
Remote HTTP | reviewed TLS reverse proxy + private network; pilot only |
Runtime answers what the backend can execute. It does not decide how many tools the model should see.
Tool surface profiles
Need | Profile | Full live/hybrid size |
General vault work |
| 19 |
Notes, tags, Bases and Canvas authoring |
| 30 |
Tasks / Operon workflows |
| 31 |
Explicit complete, admin and specialized surfaces |
| 70 |
In 3.0, an unspecified profile defaults to standard. smart_semantic_search is the only registered semantic-search name; the former smart_search and smart-search aliases have been removed. full remains an explicit opt-in for the complete active-runtime surface. bases_upsert_config is a full-only whole-Base compatibility path; legacy whole-file config writes are default-off, while normal authoring uses bounded Base creation/row writes plus the governed formula family.
Select the profile before tools/list:
node dist/stdio-proxy.js --tool-profile standardHTTP profile routes:
/mcp/standard
/mcp/authoring
/mcp/tasks
/mcp/fullUnqualified /mcp now uses standard; /mcp/full remains the explicit complete route. See Tool Surface Profiles.
Quick start
Requirements:
Node.js
>=22.7.5;Obsidian Desktop only for live features;
capability-specific plugins listed below.
git clone https://github.com/optimikelabs/optimike-obsidian-mcp.git
cd optimike-obsidian-mcp
npm install
npm run build
node dist/stdio-proxy.js --tool-profile standardPackage binaries:
optimike-obsidian-mcp
optimike-obsidian-mcp-proxyMinimal Codex configuration:
[mcp_servers.optimike-obsidian-mcp-stdio]
command = "node"
args = [
"/path/to/optimike-obsidian-mcp/dist/stdio-proxy.js",
"--tool-profile",
"standard"
]
[mcp_servers.optimike-obsidian-mcp-stdio.env]
OBSIDIAN_VAULT = "/path/to/vault"
OBSIDIAN_RUNTIME_MODE = "live"
OBSIDIAN_BASE_URL = "http://127.0.0.1:27123"
OBSIDIAN_API_KEY = "<local-rest-api-key>"Keep real paths, API keys, journals and external-root configuration outside the repository and distributable vault content.
Optional Obsidian integrations
Enable only the surfaces you use:
Local REST API for live note, metadata and tag operations;
bundled Bases Bridge for live Bases and governed formula CAS;
bundled Optimike Atomic Write Bridge for governed Note, Frontmatter and Canvas
plan → apply → status → recover;Smart Connections for the local semantic index;
Operon Developer API V1 and bundled Optimike Operon Bridge for governed task operations;
Obsidian Tasks for Tasks-compatible Markdown parsing.
Operon mutations require the Bridge mutation setting plus:
OPERON_MUTATIONS_ENABLED=trueStale Operon snapshots remain read-only. No Operon route falls back to raw Markdown or private APIs. Full compatibility, certified/provisional versions, recovery semantics and current API gaps live in the Operon MCP contract and CLI / Developer API audit.
Governed operations
Governed Note, Frontmatter, Base formula and Canvas families are exposed atomically:
plan → apply → status → recoverAfter timeout or transport loss, call status before recover; never create a blind replacement mutation. Durable plans are not bound to the profile that created them.
External document roots
External roots are disabled by default. They are an authorization broker, not an index, sync engine or backup system.
external_handoff is transport-aware:
local stdio returns a verified short-lived
local_path;authenticated direct HTTP may return an opt-in, identity-bound, single-use
http_ticket;neither delivery mode authorizes mutation or reveals the physical source path.
A separate local-stdio transaction can move one regular file within the same configured root and repair exact ÉLYSIA references. It requires inventory, a durable plan, explicit write gates, hash/CAS preconditions, journaling and rollback. It is not exposed over direct HTTP and does not add generic create, replace, delete, upload or sync.
The MCP core does not embed PDF, Office or OCR engines. The caller owns binary extraction and verifies size and SHA-256.
See External Roots Setup.
Semantic search
smart_semantic_search is the canonical semantic-search tool. It searches the local Smart Connections index. Query embedding can remain local through Ollama or use an OpenAI-compatible provider.
See Operations for providers and cache behavior.
Verification
npm run build
npm run test:runtime
npm run test:governed-note-replace-mcp
npm run check:operon
npm run test:external-roots
npm run test:docs
npm run test:package
npm run audit:productionRuntime suites use disposable vaults and run in Linux/Windows CI.
Documentation
Credits
Created by Optimike — Mickaël Ahouansou.
License
See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides an MCP server that allows AI assistants to interact with Obsidian vaults, enabling reading/writing notes, managing metadata, searching content, and working with daily notes.36MIT
- FlicenseNot gradedqualityDmaintenanceA local MCP server that wraps the Obsidian CLI to give AI assistants direct access to read, edit, and manage notes within an Obsidian vault. It enables advanced operations such as frontmatter property management, context-aware searching, and the execution of internal Obsidian commands.2
- AlicenseBqualityDmaintenanceLocal-first MCP server for Obsidian vaults with 66 tools for reading, writing, searching, and managing notes, tasks, graphs, and more. Works without Obsidian running and requires no plugins.66MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for interacting with Obsidian via the Local REST API, enabling file operations, search, and content editing in your vault.MIT
Related MCP Connectors
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/optimikelabs/optimike-obsidian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server