Metadata-Version: 2.5
Name: mindin
Version: 0.14.1
Summary: MCP server for a markdown notes vault on S3 or a local directory, with a SQLite index, schema-aware writes and session hooks.
Project-URL: Homepage, https://mindin.dev
Project-URL: Repository, https://github.com/gronare/mindin
Author-email: Carl Green <carl.green@gronare.se>
License-Expression: MIT
License-File: LICENSE
Keywords: mcp,notes,obsidian,s3,vault
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Text Processing :: Markup :: Markdown
Requires-Python: >=3.11
Requires-Dist: boto3>=1.34.0
Requires-Dist: cryptography>=50.0.2
Requires-Dist: httpx2>=2.5
Requires-Dist: mcp>=2.2
Requires-Dist: pyjwt[crypto]>=2.15
Requires-Dist: pyyaml>=6.0
Requires-Dist: snowballstemmer>=3.1.1
Requires-Dist: webauthn>=3.0.1
Provides-Extra: semantic
Requires-Dist: fastembed>=0.7; extra == 'semantic'
Requires-Dist: numpy>=1.26; extra == 'semantic'
Description-Content-Type: text/markdown

<!-- mcp-name: io.github.gronare/mindin -->

# mindin

Memory for Claude and coding agents, kept as markdown notes you own, with a schema that holds and a tie to your git history.

## Install

```sh
curl -fsSL https://mindin.dev/install.sh | sh
```

It installs the `mindin` command with [uv](https://docs.astral.sh/uv/), asks where your vault lives (a folder, an S3 bucket or a vault server), and offers to add the vault to Claude Code, Codex and Cursor; it changes nothing in them without a yes. mindin was called notes-vault-mcp: the `notes-vault-mcp` package and command still work, and install and run mindin.

### A vault server

A vault server with Docker Compose, for claude.ai, Claude Desktop, mobile and every machine you work on. You need a domain pointing at the machine, ports 80 and 443 open, and an SMTP account for sign-in links.

```sh
mkdir notes-vault && cd notes-vault
curl -fsSL -O https://github.com/gronare/mindin/releases/latest/download/compose.yml -O https://github.com/gronare/mindin/releases/latest/download/Caddyfile
curl -fsSL -o .env https://github.com/gronare/mindin/releases/latest/download/example.env
docker compose run --rm --no-deps vault master-key generate   # paste into .env, with VAULT_HOST and SMTP
docker compose up -d
docker compose exec vault mindin accounts invite you@example.com
```

Then open `https://VAULT_HOST/account` and sign in. [Install with Docker](https://github.com/gronare/mindin/blob/main/docs/install/docker.md) walks through each step.

Without the script, on one machine: `uv tool install mindin`, then `mindin setup`.

## Use

Add the server's address, `https://VAULT_HOST/mcp`, as a custom connector in claude.ai. Claude searches, reads and writes your notes. The same search from a shell on a [signed-in machine](https://github.com/gronare/mindin/blob/main/docs/how-to/sign-in-a-machine.md):

```console
$ mindin search "signing in"
1 note · archive and superseded hidden

myapp  system  3 days
Areas/myapp.md
  ## Sign-in Users sign in with passkeys; email links are the fallback.
```

## What you get

- **Notes you own.** Plain markdown in a folder or an S3 bucket; open them in Obsidian, keep them in git.
- **A schema with teeth.** Required fields, legal statuses and kinds, a tag vocabulary; a write that breaks the contract is refused. Start from PARA, a simple vault, a journal or your own layout.
- **A lifecycle.** `close` archives finished work, `backlog_add` files what was deferred, `log_append` writes one line per repo per session, `lint` reports drift.
- **Memory tied to code.** A note names the paths it describes; the session-start hook prints the commits newer than the note.
- **Search that reads your languages.** Stemming, folded diacritics, synonyms, and optional search by meaning that runs on your machine.
- **Your own vault server.** Accounts with passkeys, email links, GitHub or your identity provider, several vaults each, shared vaults, sealed in storage.

## Documentation

[docs/](https://github.com/gronare/mindin/blob/main/docs/README.md) has the install guides, the how-tos for each client, the reference for every tool, command and setting, and how it works.

## License

MIT. See [LICENSE](LICENSE).
