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 git+https://github.com/ZedoMak/obsidian-agent.git

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.1.0.tar.gz (8.9 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.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: obsidian_agent_cli_app-0.1.0.tar.gz
  • Upload date:
  • Size: 8.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 fa178a1260749a88be1b512884e87bfd9f4165f904908beb35ff003cedf6fdab
MD5 22944ec2b63030a91febbb73411929e3
BLAKE2b-256 27b214da182cd4c6f74c3d3ac2810834d1e4b83640131c785320792c2b3f3132

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for obsidian_agent_cli_app-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d6ebd768259bec6824afd4ed7a860d7dc1682338554e16276aacdcd20223fbf8
MD5 d477a1c1ff1024d3dfce032f31eb2fa3
BLAKE2b-256 0a855562d98871d86d8100039cdc3b611f142fe22289cbf61b04ce869f0950bf

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