A second brain for humans and their agents — MCP server backed by SQLite FTS5.
Project description
KraangA second brain for you and your agents. |
Kraang is an MCP (Model Context Protocol) server that gives AI assistants persistent memory backed by SQLite with FTS5 full-text search. It stores, searches, and manages knowledge notes so your agent can recall what matters.
Quick Start
uv pip install kraang
Add to your MCP client configuration (e.g. Claude Desktop):
{
"mcpServers": {
"kraang": {
"command": "kraang",
"env": { "KRAANG_DB_PATH": "~/.kraang/brain.db" }
}
}
}
If KRAANG_DB_PATH is not set, it defaults to ~/.kraang/brain.db.
Tool Reference
| Tool | Description | Parameters |
|---|---|---|
add_note |
Add a new note | title, content, tags?, category?, metadata? |
search_notes |
Full-text search with filters | query, tags?, category?, status?, limit? |
update_note |
Update an existing note | note_id, title?, content?, tags?, category?, status? |
delete_note |
Delete a note | note_id |
list_tags |
List all tags | (none) |
list_categories |
List all categories | (none) |
list_notes |
Browse/list notes | status?, limit?, offset? |
get_stale_items |
Find notes not updated recently | days? |
daily_digest |
Activity summary | (none) |
suggest_related |
Find related notes | note_id, limit? |
Prompts
| Prompt | Description |
|---|---|
review_stale |
Review stale notes and suggest actions (update/archive/delete) |
summarize_kb |
Get a high-level summary of the knowledge base |
find_gaps |
Identify underrepresented topics and organization improvements |
Development
git clone https://github.com/johnnygreco/kraang.git && cd kraang
uv sync --extra dev
make test
make lint
Run the full check suite:
make coverage # tests + coverage report
make format # auto-format with ruff
Architecture
Kraang uses a layered architecture:
- Models (
models.py) -- Pydantic schemas define the data contracts:Note,NoteCreate,NoteUpdate,SearchQuery, etc. - Store Protocol (
store.py) -- An asyncNoteStoreprotocol that any storage backend must implement. - SQLite Backend (
sqlite_store.py) -- The default implementation using SQLite with FTS5 for full-text search and BM25 ranking. - MCP Server (
server.py) -- Exposes the store as MCP tools and resources over stdio, ready for any MCP-compatible client.
License
Apache 2.0
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kraang-0.1.0.tar.gz.
File metadata
- Download URL: kraang-0.1.0.tar.gz
- Upload date:
- Size: 138.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e66898a523b6428b95b29a24882ed457c4450bd8fcf76cd4eee43096a2529c7
|
|
| MD5 |
862c6f67151451015cca2b005465e64a
|
|
| BLAKE2b-256 |
31e9d3e0b00ac00b01c3f8b8d37cabce3d0a547aef3060a71d2973741d584856
|
File details
Details for the file kraang-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kraang-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e4d0586ce36b432e5b07be2a5a9527431043ada93778a2fa2e73b552656a906
|
|
| MD5 |
479473f0aa38d0a10f6f384b00d02240
|
|
| BLAKE2b-256 |
a99eb8d87e8b3cc55783f93b6f766ec67c56300fcfa01b36820771a1674fb40e
|