obsidian-agent
A conversational AI agent for your Obsidian vault. Ask it to find notes, summarize what you wrote last week, fix broken links, tag things, or edit a note — it figures out which vault operations to run and does it, chaining multiple steps together when needed.
Built on MCP (the same protocol Claude Desktop uses for tool access) and OpenRouter for the LLM, so you can point it at whichever model you like.
Requirements
- Python 3.11+
- An OpenRouter API key (free tier available)
- An Obsidian vault on your local filesystem
Install
pip install obsidian-agent-cli-app
or
pipx install obsidian-agent-cli-app
This pulls in obsidian-mcp (the vault-access server) automatically —
no separate install step needed.
First run
obsidian-agent
You'll be asked three things once, and never again:
- your OpenRouter API key
- the absolute path to your vault
- which model to use (defaults to a free-tier model if you're not sure)
This gets saved to ~/.config/obsidian-agent/config.toml. Change it later
with obsidian-agent config --reset, or override any single value with an
environment variable: OPENROUTER_API_KEY, OBSIDIAN_VAULT_PATH, AGENT_MODEL.
Usage
obsidian-agent # start chatting with your vault
obsidian-agent doctor # troubleshooting: checks obsidian-mcp is installed
# and can actually reach your vault
obsidian-agent config # view current config
Inside a chat session:
| Command | Does |
|---|---|
/help |
list commands |
/tools |
list every vault operation the agent can call |
/clear |
wipe conversation history, start fresh |
/exit |
quit (also: exit, quit, Ctrl+D) |
What it can actually do
Anything the underlying obsidian-mcp server exposes — reading, creating,
editing, and deleting notes; searching by text, tag, date, or regex;
managing tags; finding backlinks and broken links; listing orphaned notes.
Run /tools inside a session to see the live list for your installed version.
The agent always reads a note before editing it, so it won't blindly overwrite content — this is a system-level instruction, not something you need to ask for each time.
Troubleshooting
obsidian-mcp was not found on your PATH
Run obsidian-agent doctor — it'll tell you exactly what's missing and how
to fix it.
Something else broke
This project pins a few dependency versions deliberately
(fastmcp==2.8.1, pydantic<2.12) because of real breaking changes
upstream. If you're hacking on the source directly rather than using
pip install, don't loosen those pins without checking obsidian-agent doctor
still passes afterward.
Contributing
Issues and PRs welcome. This is a young project — expect rough edges.
License
MIT — see LICENSE.
Metadata
Release files for obsidian-agent-cli-app 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| obsidian_agent_cli_app-0.2.0.tar.gz | 11.3 kB | Without provenance | Details for obsidian_agent_cli_app-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| obsidian_agent_cli_app-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for obsidian_agent_cli_app-0.2.0-py3-none-any.whl |
Total release size: 25.5 kB
Release files / obsidian_agent_cli_app-0.2.0.tar.gz
| Download URL | obsidian_agent_cli_app-0.2.0.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed6e2ea5e7837c054763761e3a2b2e73dacb0deadf6b380dab31679ffd6286ba
|
|
BLAKE2b-256 checksum How to use checksums |
84041ee0e46df67551bae0758f54dc54b46f1b55f847f0eecb172c9c058ee711
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / obsidian_agent_cli_app-0.2.0-py3-none-any.whl
| Download URL | obsidian_agent_cli_app-0.2.0-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3241c1d992a028c3abdf5830f4e70854f631d1f1f646cc795e937e98216335e6
|
|
BLAKE2b-256 checksum How to use checksums |
6f60e4aeded300ba81574b3dccc2d6159e1f95bbe415bd2c439e6e5a3743f92d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for obsidian-agent-cli-app 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.