Local-first · MIT · MCP

Take your knowledge base's word for nothing.

Brainlyy is a private brain for your machine: notes, search, and code graphs your AI assistant reaches over MCP. Every claim carries a status a machine computed, not one a note claimed for itself. Free, open source, MIT. Nothing required but Python.

shell
$uv tool install brainlyy
$brainlyy init

Python 3.10+ is the only prerequisite. Setup asks at most three questions and defaults all of them.

A false fact fed daily reports for thirteen days.

In the deployment Brainlyy was extracted from, a knowledge base asserted a regulatory status that was false. It went into the daily report, every day, for thirteen days. Nothing caught it, because nothing was checking.

Nothing in a plain note tells you “true” from “was true” from “never checked.” It all reads identically, and an assistant repeats any of it with the same confidence.

So Brainlyy makes the distinction mechanical: a claim declares its evidence, the evidence gets checked, and the status gets computed on a schedule you set, not on a hope you have.

The full story

Three states, all computed.

VERIFIED

every check passed, recently enough to still count. It expires. An old pass isn't a pass.

UNVERIFIED

something failed, is missing, or went stale. The reason is named, never hidden.

ASSERTED

not machine-checkable, and that's fine. Judgment calls and decisions live here honestly, with no badge pretending otherwise.

Pretending everything is checkable is how a tool ends up lying more confidently than the notes did.

A note cannot call itself verified.

Every claim names the evidence it rests on. Brainlyy checks that evidence itself and decides the status. Write VERIFIED straight into a note and it's ignored. Flagged, for trying.

Evidence can only point to checks you configured yourself, never a command, URL, or path the note supplies. Your notes are written by an AI assistant, which means a note can never turn into a command.

Claims, checks and evidence in full

You only ever need Python.

Most tools like this hand you a checklist before anything works: a model runner, a vector database, a server, a domain. Brainlyy inverts that: zero required dependencies. Every optional one you add just turns on more: your own local models, embedding search over your notes, a scheduled agent fleet, reachability from your phone.

A missing dependency is a capability that's simply off. Never an error, never a surprise at 3am.

01

Python

notes & search

02

+ local model

ask your own models

03

+ more

agents, phone access

The token that leaves your network can't do anything.

Brainlyy runs two servers. One reads: notes, search, code graphs. The other writes, and only ever listens on your own machine; point it at the network and it refuses to start. Each holds its own credential.

That matters because an AI tool's instructions can be steered by anything it reads. A read tool that gets tricked gives you a wrong answer. A write tool that gets tricked takes an action. So the credential that ever leaves your machine can look things up. It can never post, run, or delete anything.

We shipped the exact bug this tool exists to catch.

Early on, Brainlyy's own dashboard decided a note was VERIFIED by checking whether its text literally contained the word “VERIFIED,” then drew a green badge for it. In the one tool built to catch claims with no real check behind them.

We found it, fixed it, and wrote it up at the top of the changelog. The fix demoted most existing notes. That was the correct outcome: the badges had been wrong.

That's the standard here. When we miss it again, you'll read about it in the same place.

Read the changelog
01

251 property tests guard the boundaries that matter: bind addresses, the loopback guard, what can and can't authenticate.

02

CI green on Linux, macOS and Windows, Python 3.10 to 3.13.

03

The test suite ships inside the install. Your instance checks itself, and setup won't claim success if it fails.

04

MIT licensed. No account, no API keys, nothing leaves your machine unless you tell it to.

Thirty seconds from now, it either works or it tells you why.

Setup runs the real test suite before it says “done.” A setup command that claims success without checking is how people end up confidently broken.

Read the docs
shell
$uv tool install brainlyy
$brainlyy init
$brainlyy ui