Metadata-Version: 2.5
Name: localkeep
Version: 0.1.2
Summary: Local memory banks you keep — a localhost Hub UI + MCP connector for Claude. You curate titled, dated memory banks on your machine; Claude recalls them via MCP.
Project-URL: Homepage, https://github.com/zuneracodes/localkeep
Project-URL: Repository, https://github.com/zuneracodes/localkeep
Project-URL: Issues, https://github.com/zuneracodes/localkeep/issues
Project-URL: Documentation, https://github.com/zuneracodes/localkeep#readme
Project-URL: Changelog, https://github.com/zuneracodes/localkeep/releases
Author: Zunera Ashar
License-Expression: MIT
License-File: LICENSE
Keywords: claude,local-first,mcp,memory,personal-knowledge,sqlite,timeline
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: cryptography<49,>=43.0.0
Requires-Dist: fastapi>=0.115.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: uvicorn[standard]>=0.32.0
Description-Content-Type: text/markdown

# LocalKeep

Local memory banks you keep — a localhost Hub UI + MCP connector for Claude. You curate titled, dated memory banks on your machine; Claude recalls them via MCP.

## Install

```bash
pip install localkeep
# or: uv tool install localkeep
```

Then:

```bash
localkeep-hub          # http://127.0.0.1:8000
```

In Claude Desktop, register the MCP server (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "localkeep": {
      "command": "localkeep-mcp",
      "args": []
    }
  }
}
```

If the GUI can’t find `localkeep-mcp` on your `PATH`, use the absolute path from `which localkeep-mcp` (the Hub’s Connect panel copies this for you).

Memories default to `~/.localkeep/localkeep.db` when installed via pip. Override with `LOCALKEEP_DATA_DIR` or `LOCALKEEP_DB_PATH`.

### Auto-use LocalKeep (important)

Claude will not reliably call MCP tools unless you also set **Personal preferences**:

1. Claude Desktop → **Settings** → **Profile** → **Personal preferences**
2. Paste the LocalKeep instructions (Hub → Connect → **Copy instructions**, or see [`src/localkeep/assets/claude-personal-preferences.txt`](src/localkeep/assets/claude-personal-preferences.txt))
3. **Quit Claude completely** and reopen
4. When LocalKeep asks to run a tool, click **Always approve**

## Develop from source

```bash
git clone https://github.com/zuneracodes/localkeep
cd localkeep
uv sync --group dev
uv run localkeep-hub                     # http://127.0.0.1:8000
# optional live reload:
LOCALKEEP_HUB_RELOAD=1 uv run localkeep-hub
```

From a source checkout, the DB lives in `data/localkeep.db`.

## Tests

```bash
uv sync --group dev
uv run pytest
```

Tests start from an **empty DB** and create memories through Hub form POSTs (same path as a new user).

## Privacy

All memory data stays in your chosen local DB path (`~/.localkeep/` for pip installs, or `data/localkeep.db` in a checkout). Nothing is sent to a LocalKeep cloud — there isn’t one. Theme colors never leave the browser.

## License

MIT — see [LICENSE](LICENSE).
