mcpField
M
MCP Memory Server

MCP Memory Server

本地服务
github.com/jvreagan记忆与知识073 周前更新

关于 MCP Memory Server

MCP Memory Server 为需要跨对话保留信息的 LLM 提供 MCP 服务,数据存储在本地。它支持分类检索和使用统计。

主要功能

  1. 01跨会话持久记忆
  2. 02为记忆分类和添加标签
  3. 03自然语言搜索记忆
  4. 04记忆访问统计
  5. 05本地文件存储

适用场景

  1. 01在不同对话间保留项目笔记
  2. 02通过自然语言查询已存信息
  3. 03查看记忆使用情况

MCP 相关

它向 MCP 客户端提供存储、搜索、删除和列出记忆,以及获取使用统计的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 记忆服务

一个为大语言模型提供持久化记忆能力的模型上下文协议(MCP)服务。存储概念、代码片段、笔记,以及任何你希望 LLM 在不同对话间记住的信息。

Go Version License MCP

功能

  • 🧠 持久化记忆 - 信息会在不同 LLM 会话间持续保留
  • 🏷️ 智能整理 - 为记忆分类并添加标签,方便检索
  • 🔍 自然语言搜索 - 使用对话式查询查找记忆
  • 📊 使用情况分析 - 跟踪访问频率最高的记忆
  • 🔒 本地存储 - 所有数据都保留在你的设备上
  • ⚡ 快速访问 - 通过内存索引快速检索
  • 🔧 轻松配置 - 基于环境变量进行配置
  • 🛡️ 线程安全 - 通过适当的锁定支持并发访问

快速开始

前提条件
  • Go 1.19 或更高版本
  • Claude 桌面应用
安装
  1. 克隆并构建服务:
git clone https://github.com/yourusername/mcp-memory-server.git
cd mcp-memory-server
go build -o mcp-memory-server cmd/server/main.go
  1. 配置 Claude 桌面应用:

将以下内容添加到 Claude 桌面应用 MCP 配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "memory": {
      "command": "/absolute/path/to/your/mcp-memory-server",
      "args": [],
      "env": {
        "MCP_DATA_DIR": "/Users/yourusername/.mcp-memory"
      }
    }
  }
}

请参阅 config.example.json,了解包含所有可用配置选项的完整示例。

  1. 重启 Claude 桌面应用

现在,记忆服务即可在 Claude 对话中使用!

用法

配置完成后,你可以在 Claude 桌面应用中使用以下命令:

存储信息
Remember this: The scraping project uses Go with Playwright for browser automation. 
The architecture follows domain-driven design with repositories and services.

Category: project
Tags: go, scraping, web-automation
搜索记忆
What do you remember about Go web scraping?
按类别列出
Show me all my project memories
获取统计信息
What are my memory usage statistics?

可用工具

MCP 服务向 Claude 提供以下工具:

工具描述参数
remember存储新信息content(必填)、summary、category、tags
recall搜索已存储的记忆query(必填)、category、tags、limit
forget按 ID 删除记忆id(必填)
list_memories使用筛选条件列出所有记忆category、tags、limit
memory_stats获取使用情况统计信息无

配置

使用环境变量配置服务:

存储配置
变量描述默认值
MCP_DATA_DIR存储记忆文件的目录~/.mcp-memory
MCP_MAX_FILE_SIZE记忆文件的最大大小(字节)104857600(100MB)
MCP_MAX_STORAGE_SIZE存储空间总上限(字节)107374182400(100GB)
异步行为配置
变量描述默认值
MCP_ENABLE_ASYNC启用异步保存操作true
MCP_QUEUE_SIZE异步保存队列的大小1000
MCP_WORKER_THREADS用于异步保存的工作线程数2
压缩配置
变量描述默认值
MCP_ENABLE_COMPRESSION为记忆文件启用 gzip 压缩true
MCP_COMPRESSION_LEVELgzip 压缩级别(1-9,9 为最高级别)6
加密配置
变量描述默认值
MCP_ENABLE_ENCRYPTION为记忆文件启用 AES-256-GCM 加密false
MCP_ENCRYPTION_KEY_PATH加密密钥文件的路径~/.mcp-memory/encryption.key
其他配置
变量描述默认值
MCP_LOG_LEVEL日志级别(debug、info、warn、error)info
MCP_LOG_FORMAT日志格式(json、text)json
MCP_MAX_RESULTS返回的最大搜索结果数20
MCP_ENABLE_EMBEDDINGS启用语义搜索(未来功能)false
MCP_EMBEDDING_MODELOpenAI 嵌入模型text-embedding-ada-002

数据存储

记忆存储在配置的数据目录中:

~/.mcp-memory/
├── memories/           # Individual memory JSON files
├── index/             # Search indexes (future enhancement)
├── logs/              # Application logs
└── encryption.key     # Encryption key (if encryption is enabled)

每条记忆包括:

  • 基于内容生成的唯一 ID(SHA256 哈希)
  • 内容和可选摘要
  • 用于整理的类别和标签
  • 创建和更新时间戳
  • 访问统计信息和上次访问时间
  • 自定义元数据

记忆文件:

  • 使用 gzip 压缩(可配置)
  • 使用 AES-256-GCM 加密(可选)
  • 以独立 JSON 文件的形式存储,以确保可靠性
性能调优

可针对不同用例调优服务:

适用于高吞吐量场景:

{
  "env": {
    "MCP_ENABLE_ASYNC": "true",
    "MCP_QUEUE_SIZE": "5000",
    "MCP_WORKER_THREADS": "4",
    "MCP_COMPRESSION_LEVEL": "1"
  }
}

适用于低延迟场景:

{
  "env": {
    "MCP_ENABLE_ASYNC": "false",
    "MCP_ENABLE_COMPRESSION": "false"
  }
}

适用于存储受限的环境:

{
  "env": {
    "MCP_ENABLE_COMPRESSION": "true",
    "MCP_COMPRESSION_LEVEL": "9",
    "MCP_MAX_STORAGE_SIZE": "1073741824"
  }
}

架构

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   Claude LLM    │◄──►│  MCP Protocol    │◄──►│  Memory Store   │
│                 │    │  (JSON-RPC)      │    │  (File-based)   │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                │
                                ▼
                       ┌──────────────────┐
                       │  Local Storage   │
                       │  ~/.mcp-memory/  │
                       └──────────────────┘

开发

项目结构
mcp-memory-server/
├── cmd/server/         # Main application entry point
├── internal/
│   ├── config/         # Configuration management
│   ├── mcp/           # MCP protocol implementation
│   └── memory/        # Memory storage and retrieval
├── pkg/logger/        # Logging utilities
├── go.mod
└── README.md
从源代码构建
# Clone the repository
git clone https://github.com/yourusername/mcp-memory-server.git
cd mcp-memory-server

# Install dependencies
go mod tidy

# Build
go build -o mcp-memory-server cmd/server/main.go

# Run tests
go test ./...
测试服务

你可以使用 JSON-RPC 手动测试 MCP 服务:

# List available tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | ./mcp-memory-server

# Store a memory
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"remember","arguments":{"content":"Test memory","category":"test"}}}' | ./mcp-memory-server

故障排除

服务无法启动:

  • 确认二进制文件具有执行权限
  • 检查数据目录是否可写
  • 查看数据目录中的日志

Claude 无法连接到服务:

  • 确保 claude_desktop_config.json 中的路径是绝对路径
  • 确认服务二进制文件存在且可执行
  • 检查 Claude Desktop 日志中的连接错误
  • 修改配置后重启 Claude Desktop

记忆无法持久保存:

  • 检查数据目录的文件权限
  • 确认 MCP_DATA_DIR 环境变量设置正确
  • 查看服务日志中的错误消息

未来增强功能

  • 语义搜索 - 使用向量嵌入提升搜索相关性
  • Web 界面 - 基于浏览器的记忆管理
  • 导入/导出 - 备份和恢复功能
  • 记忆过期 - 自动清理旧记忆
  • 加密 - 安全存储敏感信息
  • 多用户支持 - 为不同用户提供独立的记忆空间
  • 高级搜索 - 布尔查询和筛选器

贡献

欢迎贡献!请随时提交 Pull Request。对于重大更改,请先创建 issue,讨论你希望进行的更改。

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 提交 Pull Request

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

致谢

  • 为 Model Context Protocol 构建
  • 旨在与 Claude Desktop 无缝协作
  • 灵感源自大模型对话中对持久记忆的需求

支持

如果你遇到问题或有疑问:

  1. 查看故障排除部分
  2. 搜索现有的 GitHub issues
  3. 创建新 issue,并详细描述你的问题

为 MCP 社区倾心打造 ❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。