h-yu-u/Personal-Memory-MCP-Server
3.2
If you are the rightful owner of Personal-Memory-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Personal Memory MCP Server designed to facilitate memory sharing and migration between AI models using the Model Context Protocol.
Tools
5
Resources
0
Prompts
0
Personal Memory MCP Server
一个基于MCP(Model Context Protocol)的个人记忆存储服务,用于解决AI模型之间记忆不互通的问题。通过这个服务,您可以在不同的AI模型之间共享和迁移个人记忆数据。
功能特性
- 📝 记忆存储: 按日期和内容存储关键信息
- 🔍 智能搜索: 支持关键词、日期范围、标签搜索
- 🏷️ 标签管理: 为记忆添加分类标签
- ⭐ 重要性等级: 1-5级重要性分级
- 📊 统计分析: 记忆数量和分布统计
- 🔗 跨模型兼容: 通过MCP协议支持各种AI模型
技术架构
- 后端: Node.js + TypeScript + ES6模块
- MCP SDK: @modelcontextprotocol/sdk
- 数据库: Supabase PostgreSQL
- 接口: MCP工具和资源协议
快速开始(推荐)
使用 npx 一键安装
# 直接运行,无需克隆项目
npx personal-memory-mcp
# 这会自动启动MCP服务器
配置步骤
- 准备Supabase数据库:
- 访问 Supabase 创建项目
- 在SQL编辑器中执行以下Schema创建表结构:
- 注意一定要执行SQL才可以正常存储数据
-- 创建UUID扩展
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-- 创建memories表
CREATE TABLE memories (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
title TEXT NOT NULL,
content TEXT NOT NULL,
date DATE NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
tags TEXT[] DEFAULT '{}',
importance_level INTEGER DEFAULT 1 CHECK (importance_level >= 1 AND importance_level <= 5)
);
-- 创建索引
CREATE INDEX idx_memories_date ON memories(date);
CREATE INDEX idx_memories_created_at ON memories(created_at);
CREATE INDEX idx_memories_importance_level ON memories(importance_level);
CREATE INDEX idx_memories_tags ON memories USING GIN(tags);
CREATE INDEX idx_memories_content_search ON memories USING GIN(to_tsvector('english', content));
CREATE INDEX idx_memories_title_search ON memories USING GIN(to_tsvector('english', title));
-- 更新触发器
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$ language 'plpgsql';
CREATE TRIGGER update_memories_updated_at
BEFORE UPDATE ON memories
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();
- 配置Claude Desktop:
在Claude Desktop配置文件中添加:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"personal-memory": {
"command": "npx",
"args": ["personal-memory-mcp"],
"env": {
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_KEY": "your-supabase-anon-key"
}
}
}
}
- 重启Claude Desktop,即可开始使用!
手动安装(开发者)
# 克隆项目
git clone <your-repo-url>
cd PersonalMemory
# 安装依赖
npm install
# 构建项目
npm run build
# 运行服务器
npm start
# 开发模式(自动重载)
npm run dev
MCP工具说明
记忆管理工具
create_memory
创建新的个人记忆
参数:
title
(必需): 记忆标题或时间戳content
(必需): 记忆内容date
(可选): 日期 (YYYY-MM-DD),默认今天tags
(可选): 标签数组importance_level
(可选): 重要级别 (1-5)
search_memories
搜索记忆
参数:
query
(可选): 搜索关键词date_from
(可选): 开始日期date_to
(可选): 结束日期tags
(可选): 标签过滤importance_level
(可选): 重要级别过滤limit
(可选): 结果数量限制
get_memory
根据ID获取特定记忆
参数:
id
(必需): 记忆的UUID
update_memory
更新现有记忆
参数:
id
(必需): 记忆的UUIDtitle
(可选): 新标题content
(可选): 新内容tags
(可选): 新标签importance_level
(可选): 新重要级别
delete_memory
删除记忆
参数:
id
(必需): 记忆的UUID
快速访问工具
get_today_memories
获取今天的所有记忆
get_recent_memories
获取最近的记忆
参数:
limit
(可选): 数量限制,默认10
get_memory_stats
获取记忆统计信息
参数:
date_from
(可选): 统计开始日期date_to
(可选): 统计结束日期
数据结构
Memory对象
interface Memory {
id: string; // UUID
title: string; // 标题或时间戳
content: string; // 记忆内容
date: string; // 日期 (YYYY-MM-DD)
created_at: Date; // 创建时间
updated_at: Date; // 更新时间
tags?: string[]; // 标签数组
importance_level?: number; // 重要程度 (1-5)
}
与AI模型集成
Claude Code集成
- 在Claude Code中添加MCP服务器配置
- 使用提供的工具进行记忆操作
其他模型集成
任何支持MCP协议的AI模型都可以通过标准MCP接口访问记忆数据。
开发说明
项目结构
src/
├── index.ts # MCP服务器主入口
├── database/
│ └── connection.ts # Supabase数据库连接
├── types/
│ └── memory.ts # 类型定义
└── utils/ # 工具函数
database/
└── schema.sql # 数据库表结构
dist/ # 编译输出目录
开发工具
# 类型检查
npm run build
# 实时开发
npm run dev
许可证
MIT License
贡献
欢迎提交Issue和Pull Request来改进这个项目!