Skip to content

ElSrJuez/tinydb-emcipi

Repository files navigation

tinydb-emcipi

tinydb-emcipi banner

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.


Why?

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.

Quick Start

Native

pip install -r requirements.txt
python -m main           # MCP endpoint on http://localhost:8000/mcp

Docker Compose

docker compose up        # builds dependencies at first run

The compose file mounts the repo into /app inside a python:3.12-slim container and starts the same command.


Available MCP Tools (summary)

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

Project Structure (top-level)

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

Contributing

Pull requests are welcome! Please:

  1. Follow PEP 8 and keep imports sorted.
  2. Add or update unit tests.
  3. Keep the README and doc-strings concise and useful.

Example MCP Prompt

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

About

A TinyDB-backed MCP Server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages