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/mcpDocker Compose
docker compose up # builds dependencies at first runDocker 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______________________________________________________________________
做出贡献
欢迎提交拉取请求!请:
- 遵循PEP 8规范,并保持导入语句排序有序。
- 添加或更新单元测试。
- 保持README文件和文档字符串简洁且有用。
______________________________________________________________________
示例MCP提示
一个即开即用的JSON请求位于 scratchpad/mcp.json.sample 展示如何从MCP客户端调用这些工具。
______________________________________________________________________
© 2025 • MIT 许可证
