mcp server
kept
Self-hosted, open-source inventory of everything you own and where it is. AI assistant and MCP server built in.
Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 17, 2026Homes, garages and storage units; the rooms, shelves and boxes inside them; the things inside those, with receipts, manuals, warranties and history. Self-hosted, on your own server or homelab. Nothing leaves it unless you turn it on: no telemetry, the update check off by default, the AI provider yours to choose.
Try it in your browser
Nothing to install, nothing saved.
- Try Kept: the whole app, with a sample household.
- Try the map: the 3D map, with a sample home.
A look around
The location map
Each location as a 3D map: floors, rooms, shelves and boxes, what's inside one tap away. Arranged by you, or laid out by Kept. Plan view, balconies and terraces, phones included (the map).
On a phone
Installs as an app. Capture, scan and search, offline too.
A thing
A short ID, where it is down to the box, its details, paperwork, value, loans and history.
Labels
A short ID and a QR code for every box. Label-printer rolls or office-printer sheets; scan one to open the box.
What it does
- Inventory. Locations, places, boxes and things, with photos, documents, tags, custom fields, quantities, saved views, search and a trash you can restore from.
- Capture. Photograph a thing, a receipt or a label, online or offline; your AI provider (OpenAI, Anthropic, Google, OpenRouter, Groq, or an OpenAI-compatible server such as Ollama) suggests the details and you confirm them. Without one, you type them.
- Labels. Print label sheets with a short ID and a QR code; scan one to open the box it is on.
- The household. Shared locations with roles, lending, schedules, warranties, paperwork and an insurance report; reminders in the app, by mail, by push and in a calendar feed.
- Moving house. Numbered boxes, a label and a contents sheet for each, tracked in the van, unpacked by scanning (moving).
- Vehicles and machines. Readings, services, fuel and running costs.
- AI assistant and MCP server. Ask in plain words; changes wait for your OK. Claude and other
AI agents connect at
/mcp(how). - Backups you can read. Nightly restic backups to a directory, S3 or SFTP, each with a copy that opens in a browser without Kept; imports from Homebox and CSV, full exports.
- Five languages: English, Arabic (right to left), French, German and Italian.
Quick start: host it
Docker with Compose v2, on a machine with at least 2 GB of RAM and 2 CPU cores (what it needs).
git clone --branch v1.10.6 --depth 1 https://github.com/keptinventory/kept.git && cd kept
cp compose.env.example .env
for v in SUPERUSER OWNER APP AUTH SYSTEM; do
sed -i.bak "s/^KEPT_DB_${v}_PASSWORD=\$/KEPT_DB_${v}_PASSWORD=$(openssl rand -hex 32)/" .env
done
sed -i.bak 's|^KEPT_IMAGE=$|KEPT_IMAGE=ghcr.io/keptinventory/kept:1.10.6|' .env && rm .env.bak
# Set KEPT_PUBLIC_URL in .env to the address you will open, e.g. http://<this host>:8080
docker compose pull
docker compose up -d
docker compose logs kept | grep "KEPT SETUP CODE"
.env: five generated database passwords, the released image, andKEPT_PUBLIC_URL: exactly the address the browser shows (links and QR codes are built from it).- Start: the database, then the one-shot
migrate, then Kept on port 8080 (KEPT_HTTP_PORTchanges it). - First run: open
KEPT_PUBLIC_URL, enter the setup code from the log, create the first account. It becomes the instance admin. - Keep the keys:
docker compose exec kept kept admin recovery-kitprints them. Store them off this server: a backup restores secret values only with the key.
The camera, installing the app, push and location need HTTPS:
docker compose --profile https up -d adds Caddy with a certificate for KEPT_DOMAIN
(HTTPS). Every step in full:
the install guide.
- Kubernetes: the Helm chart,
oci://ghcr.io/keptinventory/charts/kept, signed and published with each release (install on Kubernetes). - Verify the image:
cosign verify --key cosign.pub <image>:<version>, withcosign.pubfrom this repository (verifying a release). - Backups: nightly, encrypted, to a directory, S3 or SFTP (backups).
Works with
- Home Assistant: the kept-homeassistant integration, a HACS custom repository (setup).
- Paperless-ngx: receipts, manuals and warranty cards linked to things (setup).
- The rest: integrations.
Links
| Documentation | keptinventory.info |
| Install | Docker Compose, HTTPS, Kubernetes (Helm chart in charts/kept), configuration |
| API | HTTP API reference, generated from the OpenAPI document |
| MCP | Connect an AI client |
| Roadmap | What's planned, in progress and shipped |
| Questions and ideas | Discussions |
| Contributing | CONTRIBUTING.md: a discussion or an issue first for anything larger than a fix; the CLA once, a sign-off on every commit |
| Security | SECURITY.md: report privately, never in a public issue |
| Changelog | CHANGELOG.md |
Licence
Kept is free software under the GNU Affero General Public License, version 3
(LICENSE), and every feature ships in it: nothing is held back. If you run a modified
Kept for other people, you must offer them its source. The image carries the third-party notices
of everything inside it, served at /notices.txt.