返回市场
内存锻造坊

内存锻造坊

作者:cpretzinger7 星标更新:2025-08-20

项目介绍

🧠 Memory Forge - 普适AI上下文与记忆系统

smithery 徽章 MIT 许可证

一个适用于Claude、ChatGPT和其他大型语言模型(LLM)的持久AI记忆的生产就绪型MCP(模型上下文协议)服务器。

🎯 Memory Forge 是什么?

Memory Forge 是一个完整的基础设施解决方案,它赋予AI助手持久的记忆和上下文感知能力。它包括:

  • MCP 服务器:基于TypeScript的上下文服务器,遵循模型上下文协议
  • 多存储:PostgreSQL用于持久化 + Redis用于速度 + Qdrant用于向量搜索
  • 自动保存:每30秒自动备份对话
  • 多用户:支持无限数量的用户,每个用户有独立的上下文
  • 任意部署:本地Docker、Railway、Vercel或Smithery

🚀 快速开始(不到5分钟!)

方案1:一键设置(推荐)

curl -sSL https://raw.githubusercontent.com/cpretzinger/memory-forge/main/scripts/setup.sh | bash

方案2:手动设置

git clone https://github.com/cpretzinger/memory-forge.git
cd memory-forge
npm install
npm run setup

📦 包含内容

memory-forge/
├── src/                    # TypeScript源代码
│   ├── server.ts          # 主MCP服务器
│   ├── handlers/          # 请求处理器
│   ├── storage/           # 存储适配器
│   └── types/             # TypeScript定义
├── docs/                   # 文档
│   ├── SERVICES.md        # 服务架构
│   ├── DOCKER.md          # Docker设置指南
│   ├── RAILWAY.md         # Railway部署
│   └── SMITHERY.md        # Smithery部署
├── scripts/               # 设置及部署脚本
│   ├── setup.sh          # 通用设置脚本
│   ├── deploy.ts         # 部署辅助工具
│   └── test.ts           # 系统测试脚本
├── config/               # 配置文件
│   ├── docker-compose.yml
│   ├── railway.toml
│   └── smithery.yml
└── examples/             # 示例实现
    ├── .env.example      # 环境模板
    └── claude-config.json

🛠️ 安装

先决条件

  • Node.js 20+
  • Docker(用于本地部署)
  • 最小2GB内存
  • 10GB磁盘空间

分步设置

  1. 克隆并安装
git clone https://github.com/cpretzinger/memory-forge.git
cd memory-forge
npm install
  1. 配置环境
cp examples/.env.example .env
# 编辑.env文件以包含您的设置(参见配置部分)
  1. 运行设置脚本
npm run setup
# 这将:
# - 检查先决条件
# - 生成安全密码
# - 设置数据库
# - 配置服务
# - 启动所有服务
  1. 测试安装
npm test
# 应显示所有服务为✅运行

⚙️ 配置

环境变量

从示例创建一个.env文件:

# 项目配置
PROJECT_NAME=my-ai-assistant
NODE_ENV=production

# 数据库凭证(由设置脚本生成)
POSTGRES_PASSWORD=<自动生成>
REDIS_PASSWORD=<自动生成>
QDRANT_API_KEY=<自动生成>

# MCP配置
MCP_AUTH_TOKEN=<自动生成>
MCP_PORT=3005

# API密钥(可选 - 添加您自己的)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=

Claude代码配置

添加到您的Claude桌面配置(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "memory-forge": {
      "command": "node",
      "args": ["/path/to/memory-forge/dist/bridge.js"],
      "env": {
        "MCP_SERVER_URL": "http://localhost:3005/mcp",
        "MCP_AUTH_TOKEN": "your-token-here",
        "AUTO_SAVE": "true"
      }
    }
  }
}

🚢 部署选项

本地Docker(开发)

npm run docker:up
# 在http://localhost:3005访问

Railway(生产)

npm run deploy:railway
# 按提示进行配置

Smithery(托管MCP)

npm run deploy:smithery
# 或使用Smithery CLI:
smithery publish cpretzinger/memory-forge

Vercel(无服务器)

npm run deploy:vercel
# 在Vercel仪表板中配置环境变量

🔌 使用Smithery

从Smithery注册表安装

  1. 查找服务器
smithery search memory-forge
  1. 直接安装到Claude
smithery install cpretzinger/memory-forge
  1. 或手动添加到您的配置
{
  "mcpServers": {
    "memory-forge": {
      "command": "npx",
      "args": ["-y", "@smithery/memory-forge"],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

发布您自己的分支

  1. 创建Smithery账户
smithery auth
  1. 配置smithery.yml
name: memory-forge
version: 1.0.0
description: 普适AI记忆系统
author: yourname
runtime: typescript
  1. 发布
smithery publish

📊 架构

服务概述

服务目的端口技术
MCP 服务器上下文API3005TypeScript/Express
PostgreSQL持久存储5432PostgreSQL 16
Redis缓存与会话6379Redis 7
Qdrant向量搜索6333Qdrant
n8n自动化5678n8n(可选)

数据流

graph LR
    A[Claude/LLM] -->|MCP协议| B[MCP服务器]
    B --> C[Redis缓存]
    B --> D[PostgreSQL]
    B --> E[Qdrant向量]
    C -->|快速读取| B
    D -->|持久化| B
    E -->|语义搜索| B

🔧 API参考

可用工具

store_context

存储对话上下文,带有自动保存

{
  sessionId?: string,  // 可选,未提供时自动生成
  userId?: string,     // 可选用户标识符
  context: object,     // 必需的上下文数据
  metadata?: object    // 可选元数据
}

retrieve_context

检索对话上下文

{
  sessionId?: string,  // 可选,未提供时获取最新
  userId?: string      // 可选用户过滤器
}

search_context

搜索所有上下文

{
  query: string,       // 必需的搜索查询
  limit?: number,      // 可选结果限制(默认:10)
  semantic?: boolean   // 使用向量搜索(默认:false)
}

list_sessions

列出所有可用会话

{
  userId?: string,     // 可选用户过滤器
  limit?: number       // 可选限制(默认:10)
}

🧪 测试

运行所有测试

npm test

测试特定服务

npm run test:mcp      # 测试MCP服务器
npm run test:storage  # 测试存储层
npm run test:e2e      # 端到端测试

手动测试

# 测试MCP端点
curl -X POST http://localhost:3005/mcp \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

🔒 安全性

默认安全特性

  • 自动生成的安全密码(32个字符以上)
  • 所有端点上的Bearer令牌认证
  • 隔离的用户上下文
  • 敏感数据的加密存储
  • 日志或错误消息中不包含密码

生产强化

  1. 使用环境特定的.env文件
  2. 生产环境中启用HTTPS/TLS
  3. 设置防火墙规则
  4. 使用秘密管理(如AWS Secrets Manager等)
  5. 启用审计日志

📈 监控

健康检查

# 检查所有服务
npm run health

# 单独检查
curl http://localhost:3005/health

指标

  • 请求延迟
  • 存储使用情况
  • 活跃会话
  • 缓存命中率

🤝 贡献

我们欢迎贡献!请参阅CONTRIBUTING.md了解指南。

开发设置

# 安装开发依赖
npm install --save-dev

# 在开发模式下运行
npm run dev

# 使用热重载运行
npm run dev:watch

📝 许可证

MIT许可证 - 详见LICENSE文件

🆘 支持

常见问题

Q: 服务无法启动?

# 重置一切
npm run reset
npm run setup

Q: 无法连接到MCP服务器?

# 检查是否在运行
npm run health

# 查看日志
docker logs memory-forge-mcp

Q: 如何升级?

git pull
npm install
npm run migrate

获取帮助

🚀 路线图

  • OpenAI函数调用支持
  • LangChain集成
  • Web UI仪表板
  • 备份/恢复工具
  • 多区域支持
  • GraphQL API

由Memory Forge团队用心打造