This repo is docker-friendly – an MCP wrapper around TinyDB that gives chatbots long-term memory without leaving your laptop.
Tiny MCP server backed by TinyDB — drop-in long-term memory for chatbots and small-context LLM apps.
Keeping structured facts in the prompt is wasteful. With tinydb-emcipi an agent can store, search and mutate JSON records through MCP tool calls, loading only what it needs.
- Zero dependencies – TinyDB stores JSON on disk.
- Schema-first – every record validated; the schema itself is queryable.
- Opinionated tools – list DBs, switch DB, introspect schema, CRUD, search.
- Docker-friendly – run locally or in CI with a single
docker compose up.
pip install -r requirements.txt
python -m main # MCP endpoint on http://localhost:8000/mcpdocker compose up # builds dependencies at first runThe compose file mounts the repo into /app inside a python:3.12-slim container and starts the same command.
| Category | Tool | Purpose |
|---|---|---|
| Discovery | create_database_tool |
create new DB (optionally with initial schema) |
list_databases_tool |
see all TinyDB files | |
switch_active_db_tool |
set the DB every other tool will use | |
get_database_info_tool |
schema, sample records, field list | |
| Records | search_records_tool |
field-value query, returns schema too |
get_all_records_tool |
dump every record | |
add_record_tool / update_record_tool |
create / modify validated records | |
| Schema | set_schema_tool |
create / update JSON Schema for a DB |
config/ configuration & sample
logs/ runtime logs
sandbox/db/ TinyDB JSON databases
utils/ code modules (db, schema, mcp wrappers)
main.py entry-point
docker-compose.yml
requirements.txt
Pull requests are welcome! Please:
- Follow PEP 8 and keep imports sorted.
- Add or update unit tests.
- Keep the README and doc-strings concise and useful.
A ready-to-use JSON request lives at scratchpad/mcp.json.sample showing how to invoke these tools from an MCP client.
© 2025 • MIT License
