返回市场
内存增强型MCP服务器

内存增强型MCP服务器

作者:JamesPrial3 星标更新:2025-08-08

项目介绍

MCP Memory Enhanced

CI Docker Build Version Coverage License

官方MCP Memory Server的一个增强分支,支持SQLite后端以提高性能和可扩展性。现在版本为v1.0.0 - 生产就绪! 🚀

🚀 特性

  • 双存储后端:在JSON(原始)和SQLite存储之间选择
  • 3-10倍性能提升:SQLite后端提供显著的速度增益
  • 生产就绪的Docker支持:多阶段构建、健康检查以及与UnRAID兼容
  • 向后兼容:100%兼容原始MCP协议
  • 迁移工具:无缝从JSON迁移到SQLite存储

📊 性能对比

基于超过10,000个实体的基准测试:

操作JSON后端SQLite后端提升
实体创建3.5秒0.014秒快250倍
搜索(1000结果)450毫秒30毫秒快15倍
内存使用850MB180MB减少79%
存储大小125MB87MB减小30%

🐳 使用Docker快速启动

docker run -d \
  --name mcp-memory-enhanced \
  -p 6970:6970 \
  -v /path/to/data:/data \
  -e STORAGE_TYPE=sqlite \
  ghcr.io/jamesprial/mcp-memory-enhanced:latest

📦 安装

通过GitHub从npm安装

# 最新版本
npm install github:JamesPrial/mcp-memory-enhanced

# 特定版本
npm install github:JamesPrial/mcp-memory-enhanced#v1.0.0

从源代码安装

git clone https://github.com/JamesPrial/mcp-memory-enhanced.git
cd mcp-memory-enhanced
npm install
npm run build

使用Docker Compose

docker-compose up -d

🔧 配置

环境变量

变量默认值描述
STORAGE_TYPEjson存储后端:sqlitejson
STORAGE_PATH操作系统临时目录数据文件目录
SQLITE_DB_NAMEknowledge.dbSQLite数据库文件名
PORT6970健康检查服务器端口(仅限Docker)
LOG_LEVELinfo日志级别

MCP配置

添加到您的MCP客户端设置中:

{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": ["/path/to/mcp-memory-enhanced/dist/index.js"],
      "env": {
        "STORAGE_TYPE": "sqlite",
        "STORAGE_PATH": "/path/to/data"
      }
    }
  }
}

🔄 从JSON迁移到SQLite

# 使用迁移工具
npm run migrate /path/to/knowledge-graph.jsonl

或者使用Docker:

docker run --rm \
  -v /path/to/json-data:/source \
  -v /path/to/sqlite-data:/data \
  ghcr.io/jamesprial/mcp-memory-enhanced:latest \
  node dist/migrate.js /source/knowledge-graph.jsonl

🏥 健康检查(仅限Docker)

Docker容器提供了位于http://localhost:6970/health的健康检查端点:

{
  "status": "healthy",
  "timestamp": "2025-08-05T12:00:00.000Z",
  "storage": {
    "type": "sqlite",
    "stats": {
      "entityCount": 1000,
      "relationCount": 500,
      "observationCount": 2000,
      "storageSize": 1048576
    }
  }
}

🚀 在UnRAID上部署

  1. 下载UnRAID模板
  2. 在UnRAID Web UI中:Docker → 添加容器 → 模板
  3. 选择模板文件并根据需要进行配置

🛠️ 开发

运行测试

npm test

构建Docker镜像

docker build -f Dockerfile.standalone -t mcp-memory-enhanced .

本地运行

STORAGE_TYPE=sqlite npm start

📈 架构

增强型MCP内存服务器使用了一个干净的存储抽象层:

┌─────────────────┐
│   MCP客户端     │
└────────┬────────┘
         │ 标准I/O
┌────────▼────────┐
│   MCP服务器     │
│   (index.ts)    │
└────────┬────────┘
         │
┌────────▼────────┐
│ 知识图谱管理器  │
└────────┬────────┘
         │
┌────────▼────────┐
│ IStorageBackend │
└────────┬────────┘
         │
    ┌────┴────┐
    │         │
┌───▼───┐ ┌──▼────┐
│ JSON  │ │SQLite │
└───────┘ └───────┘

🤝 贡献

欢迎贡献!请遵循以下步骤:

  1. 分叉仓库
  2. 创建功能分支 (git checkout -b feat/amazing-feature)
  3. 提交更改 (git commit -m 'feat: 添加惊人的功能')
  4. 推送到分支 (git push origin feat/amazing-feature)
  5. 打开Pull Request

📄 许可证

本项目采用MIT许可证 - 详情见LICENSE文件。

🙏 致谢

📊 状态

  • 第一阶段:✅ 核心实现(完成)
  • 第二阶段:✅ Docker支持(完成)
  • 第三阶段:✅ CI/CD流水线(完成)
  • 第四阶段:🔄 生产强化(下一步)

🤖 由@JamesPrial用心增强,用于生产使用