本地模型上下文协议服务器

一个为IDE代码助手提供持久化内存的本地模型上下文协议服务器,解决长编码会话中的上下文丢失问题。

  • by imalvaroglez
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 imalvaroglez/mcp-memory-server

使用说明

MCP内存服务器

为IDE代码助手提供持久内存的本地模型上下文协议(MCP)服务器。

问题

IDE代码助手(Cursor、Windsurf、Claude code等)在长时间的编码会话中苦苦挣扎:

  • 上下文窗口限制(通常为20万个令牌)
  • 过度压迫导致重复
  • 之前的决策、模式和背景都会丢失
  • 助理重新解释了它已经知道的事情

解决方案

MCP服务器:

  • 商店 编码会话中的重要上下文
  • 检索 当你需要相关记忆时
  • 在本地运行 --无外部API,完全隐私
  • 适用于笔记本电脑 --专为8GB+RAM机器设计

建筑

┌─────────────────────────────────────────────────────────────┐
│                      YOUR IDE                                │
│              (Cursor, Windsurf, Claude Code)                 │
└──────────────────────┬──────────────────────────────────────┘
                       │ MCP Protocol
                       ▼
┌─────────────────────────────────────────────────────────────┐
│                  MCP Memory Server                           │
├─────────────────────────────────────────────────────────────┤
│  Tools:                                                     │
│  • memory_store(text, metadata) → id                        │
│  • memory_recall(query, top_k) → [memories]                 │
│  • memory_forget(id) → success                              │
│  • memory_list(filter) → [memories]                         │
│  • memory_summarize(project) → summary                      │
├─────────────────────────────────────────────────────────────┤
│  Storage:                                                   │
│  • Embedding: all-MiniLM-L6-v2 (80MB, local)                │
│  • Vector DB: SQLite with vector extension                  │
│  • Compression: TurboQuant (when available)                 │
├─────────────────────────────────────────────────────────────┤
│  Resources:                                                 │
│  • Model RAM: ~150MB                                        │
│  • Storage: ~50MB per 10K memories                          │
│  • Total: <300MB for most use cases                         │
└─────────────────────────────────────────────────────────────┘

快速开始

选项1:波德曼(推荐)

# Build container
podman build -t mcp-memory-server .

# Run server
podman run -d \
  --name mcp-memory \
  -v ~/.mcp-memory:/data \
  -p 3000:3000 \
  mcp-memory-server

# Add to your IDE's mcp_settings.json

选项2:诗歌(建议开发)

# Install with Poetry
poetry install

# Run
poetry run mcp-memory-server

选项3:原生Python

# Install
pip install -e .

# Run
mcp-memory-server

IDE配置

添加到您的 mcp_settings.json:

{
  "mcpServers": {
    "memory": {
      "command": "podman",
      "args": ["run", "-i", "--rm", "-v", "~/.mcp-memory:/data", "mcp-memory-server"],
      "env": {}
    }
  }
}

MCP工具

memory_store

存储重要上下文以供以后检索。

Arguments:
  - text (string): The content to remember
  - metadata (object, optional): Additional context
    - project: Project name
    - file: Related file path
    - type: "decision" | "pattern" | "snippet" | "note"
    - importance: 1-10 (affects retrieval ranking)

Returns:
  - id: Memory ID for later reference

何时使用:

  • 做出的重要决定(“在这个项目中使用PostgreSQL”)
  • 已建立的模式(“API路由遵循/API/v1/资源模式”)
  • 有用的代码片段(“标准错误处理包装器”)
  • Gotchas学会了(“不要在Python 3.12中使用库X”)

memory_recall

搜索相关记忆。

Arguments:
  - query (string): What you're looking for
  - top_k (number, optional): Max results (default: 5)
  - filter (object, optional): Filter by metadata

Returns:
  - memories: Array of matching memories with similarity scores

何时使用:

  • 开始新的会话(“我们建立了什么模式?”)
  • 调试(“我们之前是如何处理这个错误的?”)
  • 一致性检查(“我们的身份验证方法是什么?”)

memory_list

按标准列出记忆。

Arguments:
  - project (string, optional): Filter by project
  - type (string, optional): Filter by type
  - since (string, optional): ISO date
  - limit (number, optional): Max results

Returns:
  - memories: Array of matching memories

memory_forget

删除内存。

Arguments:
  - id (string): Memory ID to delete

Returns:
  - success: boolean

memory_summarize

获取项目存储上下文的摘要。

Arguments:
  - project (string): Project name

Returns:
  - summary: Generated summary of key memories
  - stats: Memory count, types, recency

资源需求

组件 RAM 磁盘 注释
基础服务器 50MB 10MB Python+SQLite
嵌入式型号 150MB 80MB 全MiniLM-L6-v2
矢量存储 -- ~5KB/矢量 ~50MB/10K
总计(10K内存) ~200MB ~150MB 适用于笔记本电脑

发展

设置

# Clone
git clone https://github.com/imalvaroglez/mcp-memory-server.git
cd mcp-memory-server

# Install with Poetry
poetry install

# Run tests
poetry run pytest

# Run server
poetry run mcp-memory-server

项目结构

mcp-memory-server/
├── src/
│   └── mcp_memory/
│       ├── __init__.py
│       ├── server.py          # MCP server implementation
│       ├── memory.py          # Memory storage + retrieval
│       ├── embeddings.py      # Embedding model wrapper
│       ├── storage.py         # SQLite vector storage
│       └── cli.py             # Command-line interface
├── tests/
│   ├── test_memory.py
│   ├── test_embeddings.py
│   └── test_server.py
├── container/
│   ├── Containerfile          # Podman/Docker build
│   └── entrypoint.sh
├── pyproject.toml
├── README.md
└── LICENSE

路线图

v0.1.0-POC(本周)

  • [x] 基本MCP服务器
  • []SQLite矢量存储
  • []嵌入集成
  • []存储+召回工具
  • []容器构建

v0.2.0--可用

  • []已实施所有MCP工具
  • []内存摘要
  • []项目筛选
  • []性能优化

v0.3.0--生产就绪

  • []TurboQuant压缩
  • []多项目支持
  • []内存过期
  • []进口/出口

v1.0.0--发布

  • []文件
  • []IDE集成指南
  • []纳入了社区反馈

许可证

功能源代码许可证1.1(Apache 2.0未来)

您可以出于任何非竞争目的使用、修改和重新分发此软件。2年后,它会自动转换为Apache 2.0(完全允许)。

您可以做什么:

  • ✅ 内部使用
  • ✅ 个人项目
  • ✅ 教育和研究
  • ✅ 专业服务(咨询、集成)

你不能做的事(2年):

  • ❌ 创造竞争产品/服务

看 许可证 完整条款。

贡献

欢迎发布问题和PR。这旨在成为一个社区资源,以获得更好的IDE AI体验。