Skip to main content

Expose your Obsidian vault via REST API and streamable HTTP MCP server for AI tool access

Project description

obsidian-ai-miniserver

A complete Obsidian tool in ~1,776 tokens!

Makes your Obsidian vault accessible via REST API (OpenAPI) and a streamable HTTP MCP server. Enables AI to find, read, and edit text notes. Supports multiple users with token-based auth and path-level access control.

Browse the API on Redocly or Swagger.

Home page showing admin user

What's good about it

Access anywhere

  • WebUI for human to manage
  • MCP http streaming for agents to use
  • OpenAPI api for agents and web-app integrations

Control Access

  • Create multiple users with their own keys, different read/write permissions and folder access
  • Keep your personal vault, personal — while enabling agents access to specific subsets
Users list

Highly Flexible

  • Works for any form of text files in vault, json, etc
  • AI can do advanced regex searches

Run anywhere

  • Locally on PC w/ Obsidian app
  • Headless in container — With ob sync or just from folder

Ruthless minimalism

  • Single CLI command
  • Single tool interface for AI
  • AI able to perform all admin work, once AI connects it can take over setup for you
User detail with access rules

Maximum Token Efficiency = Faster and Cheaper

  • Maximally powerful requests to minimize request and param counts
  • The entire tool schema uses ~1,776 tokens thanks to minimized docstrings, zero duplication or boilerplate
  • Batch request enables multiple LLM actions in one iteration, massively improving token efficiency
  • Limits, Paging, Sort on all requests, AI can adjust snippet sizes on search results, etc — no more tokens than it needs

Quick start

pip install obsidian-ai-miniserver
obs_ai_ms start /path/to/vault --admin-token your_token

This starts both servers on their default ports. Connect your AI to the MCP endpoint or the REST API.

Login page

Options

Option Env Var Default Description
vault_path (required) Path to the Obsidian vault
--admin-token OBS_AI_MS_ADMIN_TOKEN (none) Auth token for the admin user
--port OBS_AI_MS_PORT 8747 Server port
--host OBS_AI_MS_HOST 127.0.0.1 Host to bind to. Use 0.0.0.0 to allow remote access
--fqdn OBS_AI_MS_FQDN (none) Public URL for self-linking
--base-path OBS_AI_MS_BASE_PATH (none) Base path when behind a reverse proxy
Config page

Persistence

Config is stored at .obsidian/obsidian_ai_miniserver.json inside the vault — user list with tokens and path access rules.

Add user page

Headless deployment

Run headless in a Docker container with Obsidian Headless — no desktop app needed. The docker-compose.yaml is fully self-contained: it installs everything from the internet at startup.

You can paste it directly into a container platform like Coolify — just set the environment variables:

Env Var Description
OBSIDIAN_USERNAME Your Obsidian account email
OBSIDIAN_PASSWORD Your Obsidian account password
OBSIDIAN_VAULTNAME Name of your remote vault
OBS_AI_MS_ADMIN_TOKEN Admin auth token
OBS_AI_MS_HOST Host to bind to (default 0.0.0.0)
OBS_AI_MS_PORT Server port (default 8747)
OBS_AI_MS_FQDN Public URL for self-linking
OBS_AI_MS_BASE_PATH Base path when behind a reverse proxy

Or via CLI:

OBSIDIAN_USERNAME=you@example.com OBSIDIAN_PASSWORD=secret OBSIDIAN_VAULTNAME="My Vault" docker compose up

API reference

All requests go to POST /api/obsidian with a kind field that discriminates the request type. Available kinds:

  • get_vault_info — vault name, daily notes folder, your user info
  • list_files — list files and folders at a path
  • read_text — read a note's text
  • write_text — overwrite a note
  • append_text — append to a note
  • replace_text — find and replace text in a note
  • move_file — move, copy, or delete a file
  • search_files — regex search across notes and text files with context snippets
  • batch — send multiple requests in one call
  • list_users / upsert_user — admin user management

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_ai_miniserver-0.3.1.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

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

obsidian_ai_miniserver-0.3.1-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file obsidian_ai_miniserver-0.3.1.tar.gz.

File metadata

  • Download URL: obsidian_ai_miniserver-0.3.1.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for obsidian_ai_miniserver-0.3.1.tar.gz
Algorithm Hash digest
SHA256 687dd2180ae5357fa5d71e5ac3f787733e553c5b621cbbf6b227aca76f186b5e
MD5 b60ecb4324e63e6b07714324ebd28f45
BLAKE2b-256 3ec76959f08a98eaf31f21297a494ab1ac293ef5903977519aea2e060c8e9beb

See more details on using hashes here.

File details

Details for the file obsidian_ai_miniserver-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for obsidian_ai_miniserver-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2577a24940cd88bd9b98e28bd7324b2c4a1fdbddd217449fcb585c77cb9727e2
MD5 abbc864ef9e51b9858927e19c5bbec49
BLAKE2b-256 75050ad251efe8e513e219e83e5ac1f70e6f0252e87d9ebf15677eabbe64c044

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