聊天机器人记忆数据库

一个基于TinyDB的轻量级MCP服务器,为聊天机器人和小型上下文LLM应用提供长期记忆存储功能。

  • by ElSrJuez
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 elsrjuez/tinydb-emcipi

使用说明

TinyDB-EMCIPi(注:这里的“EMCIPi”可能是一个特定上下文或产品中的术语或缩写,没有直接的中文对应,因此保持原样)

这个仓库是 Docker友好型 – 一个围绕TinyDB的MCP封装,为聊天机器人提供长期记忆功能,无需离开您的笔记本电脑。

小巧的;微小的 MCP(最小代价路径) 由……支持的服务器 TinyDB(通常可直接译为“小数据库”,若需更具体的语境翻译,需结合上下文) — 适用于聊天机器人和小型上下文大型语言模型(LLM)应用的即插即用长期记忆。


为什么?

在提示中保留结构化事实是浪费的。使用 tinydb-emcipi 一个代理可以 存储、搜索和修改JSON记录 通过MCP工具调用,仅加载所需内容。

  • 零依赖 – TinyDB 将 JSON 数据存储在磁盘上。
  • 先定义模式(Schema-first) – 每条记录均经过验证;模式本身也可查询。
  • 有主见的工具 – 列出数据库,切换数据库,检查模式,执行增删改查(CRUD)操作,搜索。
  • Docker友好型 – 在本地或持续集成(CI)环境中以单个(实例/配置)运行 docker compose up。

快速入门

本地的

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

Docker Compose 文件将仓库挂载到 /app 在……里面 python:3.12-slim 启动容器并执行相同的命令。


可用的MCP工具(概览)

类别 工具 用途
发现 create_database_tool 创建新数据库(可选地包含初始架构)
list_databases_tool 查看所有TinyDB文件
switch_active_db_tool 设置其他工具将使用的数据库
get_database_info_tool 模式,样本记录,字段列表
记录 search_records_tool 字段值查询,同时返回模式
get_all_records_tool 导出每条记录
add_record_tool / update_record_tool 创建/修改已验证的记录
模式 set_schema_tool 为数据库创建/更新JSON Schema

项目结构(顶级)

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

做出贡献

欢迎提交拉取请求!请:

  1. 遵循PEP 8规范,并保持导入语句排序有序。
  2. 添加或更新单元测试。
  3. 保持README文件和文档字符串简洁且有用。

示例MCP提示

一个即开即用的JSON请求位于 scratchpad/mcp.json.sample 展示如何从MCP客户端调用这些工具。


© 2025 • MIT 许可证