loading…
Search for a command to run...
loading…
Local-first MCP server for working with an Obsidian vault. No API key required
Local-first MCP server for working with an Obsidian vault. No API key required
CI Python MCP Obsidian Codex Local first License: MIT
Local-first MCP server for working with an Obsidian vault.
This is for people who want MCP clients to work directly with markdown files on disk.
Independent open-source project. Not affiliated with Obsidian, Anthropic, OpenAI, or any MCP client.
It lets MCP clients work with your vault to:
All directly against your local markdown files.
There are already a handful of Obsidian MCP servers. Many depend on the Obsidian Local REST API plugin or run as an Obsidian plugin. This project is intentionally simpler:
| Need | This project |
|---|---|
| Use Obsidian with Codex | Yes, with ~/.codex/config.toml examples |
| Use Obsidian with Claude Desktop | Yes, with JSON config examples |
| Require an Obsidian plugin | No |
| Require an API key | No |
| Require Obsidian to be open | No |
| Read/write markdown files directly | Yes |
| Work over a remote HTTP API | No, local stdio MCP only |
Designed to be useful without being reckless:
configure_vault - set or change the vault pathget_note - read one markdown note by vault-relative pathcreate_note - create a new markdown note with optional metadataupdate_note - update note content and/or frontmatterdelete_note - delete a markdown notelist_notes - list notes in the vault or a foldersearch_notes - search note title, content, and tagsget_all_tags - list unique tags from frontmatter and inline tagsget_backlinks - find notes that link to a noteget_note_links - extract wikilinks from a notecreate_folder - create a folder inside the vaultget_folder_structure - return the vault folder treeShort launch clip:
Useful follow-up demos to record:
Requirements:
git clone https://github.com/dot-RealityTest/obsidian-codex-mcp.git
cd obsidian-codex-mcp
python3 -m venv .venv
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install -r requirements.txt
Verify against your vault:
OBSIDIAN_VAULT_PATH="/absolute/path/to/your/vault" .venv/bin/python test_server.py
Add this to ~/.codex/config.toml and restart Codex:
[mcp_servers.obsidian]
command = "/absolute/path/to/obsidian-codex-mcp/.venv/bin/python"
args = ["/absolute/path/to/obsidian-codex-mcp/server.py"]
enabled = true
[mcp_servers.obsidian.env]
OBSIDIAN_VAULT_PATH = "/absolute/path/to/your/obsidian-vault"
OBSIDIAN_READ_ONLY = "false"
OBSIDIAN_BACKUP_ON_WRITE = "true"
For a safer read/search-only setup:
OBSIDIAN_READ_ONLY = "true"
Add this to claude_desktop_config.json:
{
"mcpServers": {
"obsidian": {
"command": "/absolute/path/to/obsidian-codex-mcp/.venv/bin/python",
"args": ["/absolute/path/to/obsidian-codex-mcp/server.py"],
"env": {
"OBSIDIAN_VAULT_PATH": "/absolute/path/to/your/obsidian-vault",
"OBSIDIAN_READ_ONLY": "false",
"OBSIDIAN_BACKUP_ON_WRITE": "true"
}
}
}
}
| Variable | Required | Default | Description |
|---|---|---|---|
OBSIDIAN_VAULT_PATH |
yes | none | Absolute path to the vault folder. |
OBSIDIAN_READ_ONLY |
no | false |
When true, create/update/delete/folder creation tools refuse writes. |
OBSIDIAN_BACKUP_ON_WRITE |
no | false |
When true, copies existing notes into .obsidian-mcp-backups/ before update/delete. |
OBSIDIAN_VAULT_PATH.../ path traversal are rejected.OBSIDIAN_READ_ONLY=true..obsidian-mcp-backups/ before update/delete with OBSIDIAN_BACKUP_ON_WRITE=true.Run the local test script:
OBSIDIAN_VAULT_PATH="/absolute/path/to/your/vault" .venv/bin/python test_server.py
Start the MCP server:
OBSIDIAN_VAULT_PATH="/absolute/path/to/your/vault" .venv/bin/python server.py
Generate a daily project status report from your vault:
OBSIDIAN_VAULT_PATH="/absolute/path/to/your/vault" .venv/bin/python scripts/daily_status_report.py --folder "Projects"
Write the report back into Obsidian:
OBSIDIAN_VAULT_PATH="/absolute/path/to/your/vault" .venv/bin/python scripts/daily_status_report.py \
--folder "Projects" \
--write "Codex/Daily Project Status.md"
The script reports recent notes, markdown checkbox tasks, and top tags. It uses backup-on-write when updating an existing report note.
See docs/common-workflows.md for practical examples:
Copyable Obsidian note templates live in docs/templates:
This repo includes lightweight agent workflow skills:
skills/obsidian-vault-workflow/SKILL.md
skills/release-note-captain/SKILL.md
Use them as guidance for agents that work with this MCP server. They cover safe vault exploration, editing discipline, daily status reports, vault triage, project catch-up prompts, and release-note capture after a project ships.
Yes. It is a local MCP server for Obsidian vaults. It exposes tools for notes, tags, backlinks, wikilinks, folders, search, and optional writes.
Yes. The main setup path is Codex-first and uses ~/.codex/config.toml.
No. It reads and writes markdown files directly from the vault folder.
No. Because this server works on local files, Obsidian does not need to be open.
Yes. Set OBSIDIAN_READ_ONLY=true to allow search and inspection while refusing create, update, delete, and folder creation tools.
MIT
Выполни в терминале:
claude mcp add obsidian-codex-mcp -- npx PRs, issues, code search, CI status
автор: GitHubDatabase, auth and storage
автор: SupabaseSecure file operations with configurable access controls.
Reference / test server with prompts, resources, and tools.
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development