Skip to main content
Glama

TinyDB MCP Server

by ElSrJuez
README.md2.53 kB
# tinydb-emcipi ![tinydb-emcipi banner](assets/tinydb-emcipi.png) > **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 ```bash pip install -r requirements.txt python -m main # MCP endpoint on http://localhost:8000/mcp ``` ### Docker Compose ```bash 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`](scratchpad/mcp.json.sample) showing how to invoke these tools from an MCP client. --- © 2025 • MIT License

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ElSrJuez/tinydb-emcipi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server