Skip to main content

A conversational AI agent for your Obsidian vault, connected via MCP.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

obsidian_agent_cli_app-0.2.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

obsidian_agent_cli_app-0.2.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file obsidian_agent_cli_app-0.2.0.tar.gz.

File metadata

  • Download URL: obsidian_agent_cli_app-0.2.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for obsidian_agent_cli_app-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ed6e2ea5e7837c054763761e3a2b2e73dacb0deadf6b380dab31679ffd6286ba
MD5 535d25d384fd3bb51c1a2638e934712b
BLAKE2b-256 84041ee0e46df67551bae0758f54dc54b46f1b55f847f0eecb172c9c058ee711

See more details on using hashes here.

File details

Details for the file obsidian_agent_cli_app-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for obsidian_agent_cli_app-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3241c1d992a028c3abdf5830f4e70854f631d1f1f646cc795e937e98216335e6
MD5 1f4fdd0c94d7a6f73de54fbe6aac540f
BLAKE2b-256 6f60e4aeded300ba81574b3dccc2d6159e1f95bbe415bd2c439e6e5a3743f92d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page