okc-mcp
Provides tools for reading, searching, creating, updating, and patching notes in a local Obsidian vault, including metadata and link auditing.
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., "@okc-mcpSearch my vault for notes on HTTP caching and draft a new note citing sources."
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.
okc-mcp
Status: Inception review pending. The feature and installation documentation below describes an unapproved implementation draft. Construction began before the requirements review; that process error has been recorded and further implementation is paused. Confirm the product scope and success criteria in the Inception review proposal first.
A local Obsidian Vault authoring MCP for building high-quality knowledge inputs for OKC.
Create Markdown notes without the Obsidian app, plugins, or API keys; read and search existing notes; and audit frontmatter, links, duplicates, and input quality. OKC remains responsible for actual integration, review, and compilation.
The current local implementation is 0.1.0-alpha.1 and has not been published to npm. It requires Node.js 22.13+. Actual validation environments and limitations will be recorded in a Construction validation log after that phase is authorized.
Install and connect
Build the package from this repository and install it locally.
npm ci
npm run check
npm pack
npm install -g ./okc-mcp-0.1.0-alpha.1.tgzGenerate a configuration using the absolute path of an existing Vault. Store the configuration outside the Vault.
okc-mcp config --vault /absolute/path/to/MyVault > /absolute/path/to/okc-mcp.json
okc-mcp doctor --config /absolute/path/to/okc-mcp.json
okc-mcp client-config --config /absolute/path/to/okc-mcp.jsonMerge the mcpServers entry printed by client-config into your MCP client's configuration. Preserve any other server settings. The generation command never edits another application's configuration automatically. Configuration screens and wrapper objects vary by client, but the connection uses standard stdio. The output includes absolute paths to the installed Node executable and server file to reduce PATH differences in GUI applications.
To run from the development tree without installing, use node dist/cli.js instead of okc-mcp in the commands above. To run the server directly, use the following command; stdin and stdout are reserved for the MCP protocol after startup.
okc-mcp serve --config /absolute/path/to/okc-mcp.jsonRelated MCP server: obsidian-mcp-complete
First use
Ask the connected AI client something like:
Read the authoring guidance and find notes about HTTP caching in my Vault. Draft a new note that distinguishes claims from the sources I provided, apply it, and then audit its quality as OKC input. Do not invent missing sources.
Authoring guidance is available through the okc://guide/authoring resource and the capture_knowledge prompt. The authoring tools default dryRun to true. A result with applied: false is only a preview; call the tool with dryRun: false to save the change. That argument does not prove separate human approval.
Tool | Purpose |
| Connection mode, file count, limits, and referenced OKC version |
| Sorted relative paths with pagination |
| A content range and the SHA-256 of the entire file |
| Literal search, including Korean text, with short excerpts |
| A new note with minimal frontmatter; never replaces an existing file |
| Replaces the full body after a hash check and external backup |
| Sets selected YAML keys while preserving the body, existing keys, and comments |
| Audits YAML, links, duplicates, operational noise, and unsupported formats |
The offset and length used for partial reads count JavaScript string characters, not bytes or line numbers. Lists, searches, and audits use offset and limit; continue with nextOffset. Read and review the entire range before editing a long note. Use the expectedHash returned by read_note.
What makes a good Vault for OKC
You do not need to reorganize an existing Vault. For a new Vault, a shallow structure such as inbox/, notes/, sources/, and maps/ is a reasonable starting point. What matters is one clear claim per paragraph, nearby sources, unambiguous links, and metadata that is not needlessly repetitive.
Fields such as source, status, and type, beyond title, aliases, and tags, are optional authoring conventions. Do not assume that OKC interprets them as approval, publication permission, or classification policy. Keep templates, MCP configuration, backups, and operational documents outside the Vault so they do not become input knowledge.
MyKnowledge/
├── AuthoringVault/ ← edited by Obsidian and this MCP
│ ├── inbox/
│ ├── notes/
│ ├── sources/
│ └── maps/
├── tooling/
│ └── okc-mcp.json
├── Knowledge.okc-project/ ← OKC work and review state
└── artifacts/ ← preserved OKC outputsBackups and locks live under the configured statePath. By default, this is .local/state/okc-mcp/<vault-id> under the user's home directory; neither a path inside the Vault nor a path containing the Vault is allowed. OKC registers the authoring Vault separately as a source and captures snapshots. Changes made after a snapshot become input to the next capture. Resulting artifacts and .okc-project directories are not editable targets for this MCP.
See the authoring guide and OKC Vault design for detailed examples.
Configuration and troubleshooting
Every path in the example configuration is absolute. With readOnly: true, the server does not register any of the three authoring tools. Diagnostics check paths and scan access; they do not guarantee write access or compiler compatibility.
Error or situation | Next action |
| Read the note again and review the change against its latest content. Do not blindly retry the previous request. |
Create path already exists | Read and update the existing note, or choose a new path. |
| Check duplicate YAML keys, syntax, and the types of |
Path or link rejected | Use a normal relative |
Response limit | Reduce |
Scan limit | Narrow the connected source or inspect its size before adjusting configured limits. Do not treat a partial result as a complete audit. |
Lock conflict | Wait for the other MCP write to finish, then inspect the latest state. Follow the operations guide for crash recovery. |
Current guarantees and limitations
All note-query results are sent to the MCP host. The server itself does not call AI services, remote search, or telemetry. If the host uses a remote model, the host's data-handling policy applies.
Input auditing uses selected OKC
0.3.0sources as authoring heuristics. It does not replace compiler validation, complete Obsidian link interpretation, sensitive-data detection, or factual verification.OKC still has release requirements around preserving attachments, Canvas, and Base files and fully rewriting links.
Hash checks and file replacement do not provide operating-system compare-and-swap with external Obsidian or Sync processes. Avoid editing the same note concurrently. Backups and observed stale-hash checks support recovery and conflict review.
Node path checks do not claim complete isolation from malicious concurrent replacement of ancestor directories. Environments where uncontrolled processes replace the filesystem are unsupported.
Delete, rename, automatic folder moves, snapshot export, OKC approval, compilation, and semantic search are not currently exposed as tools.
Design and development
The official AI-DLC 2.7.1 Codex workflow is installed in this project. In a new Codex conversation, run $aidlc --doctor and follow the setup and usage guide. The product is still awaiting Inception review; installing the workflow does not record approval to enter Construction.
Current status and follow-up units · Requirements traceability (to be created during Construction)
This product implements the protocol with the MCP SDK. User-facing semantics for Obsidian links and properties follow the official Obsidian Help documentation. Differences from actual OKC parser behavior are documented as audit limitations.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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 Connectors
Self-hosted AI-native knowledge workspace with hybrid search, GraphRAG, and MCP.
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Token-efficient MCP memory for Markdown vaults. Tiered search, GraphRAG, AI memories.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceTurns your Obsidian vault into an MCP-enabled workspace with tools for reading/writing notes, managing folders, running semantic searches, and maintaining long-term memory—all while keeping data local to your vault.220,898154MIT
- 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
- AlicenseAqualityDmaintenanceA standalone Node MCP server that provides semantic search, knowledge graph, and vault editing over an Obsidian vault. It runs locally as a single stdio process without requiring an Obsidian plugin for core functionality.188010Apache 2.0
- AlicenseNot gradedqualityBmaintenanceSelf-hosted MCP server for private Obsidian vaults on GitHub, exposing tools to search, read, write, and analyze Markdown notes and their link graph.MIT
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/dolgogae/OKC-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server