使用说明
内存服务器MCP
个人内存服务器-Cursor/Claude集成MCP(Model Context Protocol)兼容服务器
概要
此项目旨在解决长时间对话中的上下文丢失问题MCP(Model Context Protocol)通过,通过Cursor/Claude中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。LLM提供长期存储功能,能动地参照·活用被保存了的信息,实现更连贯性有效的开发支援。
🚀 项目完成情况
✅ 完全完成(2025-01-01)
- 3服务器隔离体系结构实施完成
- WebUI集成实施完成
- EXE版发布包制作完成
- 全部功能测试完成
- 复数Cursor接続对应完了
🏗️ 体系结构
本项目采用三个独立服务器组成的分布式体系结构:
-
MCP服务器 (端口8000)-MCP协议专用服务器
- Cursor/Claude等的AI与工具通信
- stdio经过MCP协议处理
-
WebUI服务器 (端口8001)-Web 接口,接口
- 基于浏览器的内存管理UI
- API Server代理功能
-
API服务器 (端口8002)-REST API专用服务器
- HTTP通过内存操作API
- WebUI和外部应用程序
主要功能
📋 核心功能
- 存储器入口管理:将文本信息与标记、关键字和摘要一起保存
- 高速検索机能:通过关键字和标签灵活搜索
- MCP统合: LLM可直接访问的工具组
- REST API: HTTP内存操作
- Web用户界面:基于浏览器的直观管理界面
🔧 技术的特征
- 3服务器隔离体系结构:按功能分离的稳健设计
- 軽量设计: SQLite基于单个文件数据库
- 本地运行:完全本地行为,无外部相关性
- 携带式:使用单个文件数据库进行简单迁移
- 安定性重视:可靠性优先于速度的设计
- EXE配布対応: PyInstaller的单一执行文件化
- 复数接続对应:多个Cursor支持来自实例的并发连接
📦 安装和启动
🎯 建议:EXE使用版本
它是最简单和最值得推荐的方法
dist/MemoryServerMCP.exe(42MB) 执行- 自动启动三台服务器
- 立即可用
可用端点:
- Web用户界面: http://localhost:8001
- REST API: http://localhost:8002
- 健康检查: http://localhost:8002/health
- MCP协议: stdio経由(Cursor/Claude用)
🐍 开发人员:Python使用版本
所需环境
- python: 3.8以上(推奨: 3.9以上)
- 点: Python包管理器
- 操作系统: Windows、macOS、Linux(跨平台支持)
安装过程
1.下载项目
# GitHubからクローン(または手動でファイルをダウンロード)
git clone <repository-url>
cd memory-server-mcp
2.创建虚拟环境(推荐)
# 仮想環境を作成
python -m venv venv
# 仮想環境を有効化
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
3.安装相关性
# 必要なパッケージをインストール
pip install -r requirements.txt
4.服务器启动和测试
# 3つのサーバーを同時起動(初回実行時にデータベースが自動作成されます)
python main.py
成功启动后,将显示以下消息:
INFO - Memory Server starting...
INFO - Database initialized at: memory.db
INFO - 🔧 MCP Server: http://localhost:8000
INFO - 🌐 WebUI Server: http://localhost:8001
INFO - 🚀 API Server: http://localhost:8002
INFO - All servers started successfully!
5.动作确认
检查每个服务器的行为:
# MCP Server(メイン)のヘルスチェック
curl http://localhost:8000/health
# API Server の動作確認
curl http://localhost:8002/health
# WebUI にブラウザでアクセス
# http://localhost:8001
🚀 使用方法
服务器启动
正常启动(3台服务器同时启动)
# EXE版
./dist/MemoryServerMCP.exe
# Python版
python main.py
服务器成功启动后,以下功能可用:
🔧 MCP Server (端口8000):
- LLM接受来自的工具调用
- stdio经过MCP协议处理
🌐 WebUI Server (端口8001):
- 基于浏览器的内存管理画面
- 直观的CRUD操作界面
- API Server代理功能
🚀 API Server (端口8002):
- REST API 内存操作
- 与外部应用程序协作
- 快速JSON 响应
Python单独启动版本选项
# REST APIのみ起動(開発・テスト用)
python main.py --api-only
# 設定確認モード
python main.py --check-config
🔗 光标/克劳德でのMCP設定
1. MCP创建配置文件
EXE使用版本时 (推奨):
{
"mcpServers": {
"memory-server": {
"command": "path/to/MemoryServerMCP.exe",
"args": [],
"env": {
"MEMORY_LOG_LEVEL": "WARNING"
},
"disabled": false,
"autoApprove": [
"add_note_to_memory",
"search_memory",
"get_project_rules",
"list_all_memories"
]
}
}
}
Python使用版本时:
{
"mcpServers": {
"memory-server": {
"command": "python",
"args": ["path/to/your/main.py"],
"cwd": "path/to/your/memory-server-mcp",
"env": {
"MEMORY_SERVER_HOST": "localhost",
"MEMORY_SERVER_PORT": "8000",
"MEMORY_LOG_LEVEL": "INFO"
},
"disabled": false,
"autoApprove": [
"add_note_to_memory",
"search_memory",
"get_project_rules",
"list_all_memories",
"update_memory_entry",
"delete_memory_entry"
]
}
}
}
2.确认设置
Cursor IDE确认以下内容:
- 打开命令选项板(Cmd/Ctrl+Shift+P)
- "MCP" 查找
- "MCP Server View" 查看服务器状态
- 显示绿色状态时连接成功
环境变量设置
您可以使用以下环境变量自定义设置:
# サーバー設定
export MEMORY_SERVER_HOST=localhost
export MEMORY_SERVER_PORT=8000
# データベース設定
export MEMORY_DB_PATH=memory.db
# ログ設定
export MEMORY_LOG_LEVEL=INFO
export MEMORY_LOG_FILE=memory_server.log
# 検索設定
export MEMORY_MAX_SEARCH_RESULTS=100
MCP工具
LLM的工具:
- add_note_to_mer:将注释添加到内存
- search_memory:使用关键字或标记查找内存
- update_memory_tentry:更新现有内存条目
- delete_memory_tentry:删除内存条目
- list_all_memories:列出所有内存条目
- get_project_rules:获取项目规则标记的内存
🌐 Web UI 使用(建议)
访问方法: http://localhost:8001
主要功能
- 📝 创建内存条目:直观的表单输入
- 📊 一覧表示:用标签和关键词简单易懂地整理
- 🔍 検索机能:实时搜索
- ✏️ 编集・削除:单击一次操作
- 📱 响应响应响应:移动设备也很舒适
🚀 REST API端点
基本URL: http://localhost:8002
存储器入口管理
POST /memories-创建新的内存条目GET /memories-查找和浏览内存条目GET /memories/{id}-获取特定的内存条目PUT /memories/{id}-更新内存条目DELETE /memories/{id}-删除内存条目
搜索和过滤
GET /memories/search?q={query}-关键字搜索GET /memories/tags/{tag}-按标记过滤GET /memories/rules-获取带有规则标记的条目
健康检查
GET /health-详细的健康检查GET /-服务器状态确认
服务器管理
启动和关闭
服务器提供以下功能:
- 大关断: Ctrl+C 在工作空间的边缘SIGTERM 安全停止服务器
- 自动设定検证:启动时确认设置值的有效性
- 详细日志:启动进程和配置信息详细日志
- 错误处理:详细报告启动错误
日志管理
- 日志文件:
memory_server.log(默认值) - 日志级别:DEBUG, INFO, WARNING, ERROR, CRITICAL
- 输出到控制台和文件
- 第三方库日志级别自动调整
数据结构
存储器入口
{
"id": 1,
"content": "メモリの内容",
"tags": ["プロジェクト", "ルール"],
"keywords": ["Python", "FastAPI"],
"summary": "短い要約",
"created_at": "2025-01-01T00:00:00",
"updated_at": "2025-01-01T00:00:00"
}
数据库架构
SQLite数据库(memory.db)创建以下表:
memory_entries:主内存条目表- 用于提高搜索性能的各种索引
- 触发自动更新时间戳
开発
测试运行
项目包括全面的测试套件:
# 全テストを実行(推奨)
python -m pytest
# 個別テストの実行
python test_server_startup.py # 基本的なサーバー起動テスト
python test_full_server_startup.py # 完全なサーバー起動テスト
python test_memory_service.py # データアクセス層テスト
python test_mcp_tools.py # MCPツール機能テスト
python test_mcp_integration.py # MCP統合テスト
python test_api.py # REST APIテスト
# カバレッジレポート付きテスト(pytest-covがインストールされている場合)
python -m pytest --cov=main --cov-report=html
依赖关系详细信息
requirements.txt中包含的包:
fastapi>=0.104.0 # 高速なWeb APIフレームワーク
uvicorn>=0.24.0 # ASGIサーバー
fastmcp>=0.1.0 # MCPプロトコル実装
pydantic>=2.0.0 # データバリデーション
pytest>=7.0.0 # テストフレームワーク
jinja2>=3.0.0 # WebUIテンプレートエンジン
python-multipart>=0.0.6 # マルチパートフォーム処理
httpx>=0.25.0 # 非同期HTTPクライアント
它们都很轻,不依赖外部服务。
项目结构
memory-server-mcp/
├── 📁 配布用ファイル
│ ├── dist/MemoryServerMCP.exe # EXE配布版(42MB)
│ └── MemoryServerMCP.spec # PyInstallerビルド設定
├── 📁 コアサーバーファイル
│ ├── main.py # MCPサーバー(ポート8000)
│ ├── webui_server.py # WebUIサーバー(ポート8001)
│ ├── api_server.py # APIサーバー(ポート8002)
│ └── requirements.txt # Python依存関係
├── 📁 WebUI関連
│ ├── templates/ # HTMLテンプレート
│ │ ├── base.html # ベーステンプレート
│ │ ├── index.html # メイン画面
│ │ ├── create.html # 作成フォーム
│ │ ├── edit.html # 編集フォーム
│ │ └── error.html # エラー画面
│ └── static/ # 静的ファイル
│ ├── css/style.css # スタイルシート
│ └── js/app.js # JavaScript
├── 📁 ビルド関連
│ ├── build_windows_exe.py # EXE版ビルドスクリプト
│ └── pyinstaller_hooks/ # PyInstallerフック
├── 📁 テストファイル群
│ ├── test_api.py # REST APIテスト
│ ├── test_memory_service.py # データアクセス層テスト
│ ├── test_mcp_tools.py # MCPツールテスト
│ ├── test_mcp_integration.py # MCP統合テスト
│ ├── test_server_startup.py # サーバー起動テスト
│ └── test_full_server_startup.py # 完全起動テスト
├── 📁 データと設定
│ ├── memory.db # SQLiteデータベース
│ ├── memory_server.log # ログファイル
│ ├── mcp_config_cursor.json # Cursor設定例
│ └── 要件.md # プロジェクト要件
└── 📁 その他
├── README.md # このドキュメント
└── .git/ # Gitリポジトリ
重要文件
执行文件
- dist/MemoryServerMCP.exe: EXE版本分发文件(推荐)
- main.py: MCP服务器(端口8000)
- webui_server.py: WebUI服务器(端口8001)
- api_server.py: API服务器(端口8002)
数据和日志
- memory.db: SQLite数据库(便携式、可备份)
- memory_server.log:详细日志信息(用于故障排除)
设置和依赖关系
- 需求.txt: Python依存关系定义
- mcp_config_cursor.json: Cursor设定例
故障排除
常见问题及解决办法
1.服务器启动错误
问题: Address already in use 错误
# 解決方法: 各ポートを変更
export MEMORY_SERVER_PORT=8100 # MCPサーバー
export MEMORY_WEBUI_PORT=8101 # WebUIサーバー
export MEMORY_API_PORT=8102 # APIサーバー
python main.py
问题: Permission denied 无法访问数据库文件
# 解決方法: ファイル権限を確認・修正
chmod 644 memory.db
# または、別の場所にデータベースを作成
export MEMORY_DB_PATH=/tmp/memory.db
2. MCP连接错误
问题: Cursor IDE单击功能区上MCP无法连接到服务器
- EXE使用版本:EXE检查文件路径是否正确
- Python使用版本:确认虚拟环境是否已启用
- 确认每个服务器是否实际启动:
- MCP:
curl http://localhost:8000/health - WebUI:
curl http://localhost:8001 - API
curl http://localhost:8002/health
- MCP:
- 多个Cursor使用实例时逐个检查连接
问题: MCP未显示工具
autoApprove确认列表中是否包含工具名称- Cursor IDE单击功能区上MCP重新启动服务器(从MCP Server View)
3.性能问题
问题:搜索速度慢
# 解決方法: 検索結果数を制限
export MEMORY_MAX_SEARCH_RESULTS=50
问题:内存使用量大
- 检查数据库文件的大小
- 删除不需要的内存条目
- 日志级别WARNING 更改为
4.数据相关问题
问题:数据未保存
- 检查数据库文件的写入权限
- 检查磁盘空间
- 在日志文件中检查错误消息
问题:出现乱码
- UTF-8确认是否使用编码
- 环境变数
PYTHONIOENCODING=utf-8的规格化距离的幂函数
日志确认方法
详细的错误信息可以通过以下方法进行确认:
# リアルタイムでログを監視
tail -f memory_server.log
# エラーレベルのログのみ表示
grep "ERROR\|CRITICAL" memory_server.log
# 最新の100行を表示
tail -n 100 memory_server.log
调试模式
如果需要更多信息:
# デバッグレベルでログを出力
export MEMORY_LOG_LEVEL=DEBUG
python main.py
支持和反馈
问题未解决:
memory_server.log确认的相关部分- 记录环境信息(OS、Python版本)
- 明确再现步骤
- GitHubのIssueで報告
💡 使用例
🌐 Web UI 使用的基本操作
- 在浏览器中http://localhost:8001访问
- 单击“新建”按钮
- 输入内存条目:
- 内容:在“项目中PEP8严格遵守“
- 标记:“规则”、“编码约定”
- 关键词:“PEP8”,“Python”
- 摘要:“Python编码约定的方针”
- 保存后、一覧画面で确认・検索・编集が可能
🤖 Cursor/Claude 中的MCP 使用流程
- 保存项目规则:
# CursorでLLMに以下のように指示
"このプロジェクトでは、Pythonのコーディング規約としてPEP8を厳密に守り、型ヒントを必須とする、というルールをメモリに保存してください"
- 记录技术决定:
"FastAPIとSQLiteを使用する理由は軽量性とポータビリティを重視するため、という決定をメモリに保存してください"
- 在后续对话中自动浏览:
# LLMは自動的に保存されたルールを参照して回答
"新しいAPIエンドポイントを作成したいのですが..."
# → LLMは保存されたコーディング規約に基づいて提案
REST API使用例
# メモリエントリを作成(API Server使用)
curl -X POST "http://localhost:8002/memories" \
-H "Content-Type: application/json" \
-d '{
"content": "プロジェクトではPEP8を厳密に守る",
"tags": ["ルール", "コーディング規約"],
"keywords": ["PEP8", "Python", "コーディング"],
"summary": "Pythonコーディング規約の方針"
}'
# キーワードで検索
curl "http://localhost:8002/memories/search?q=PEP8"
# タグで検索
curl "http://localhost:8002/memories/tags/ルール"
# WebUI経由でのAPI呼び出し
curl "http://localhost:8001/api/memories"
备份和迁移数据
备份
# データベースファイルをコピー
cp memory.db memory_backup_$(date +%Y%m%d).db
# 設定ファイルも含めてバックアップ
tar -czf memory_server_backup.tar.gz memory.db memory_server.log .kiro/
迁移到其他计算机
# 1. プロジェクトファイルをコピー
scp -r memory-server-mcp/ user@newmachine:/path/to/destination/
# 2. 新しいマシンで依存関係をインストール
cd /path/to/destination/memory-server-mcp/
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
# 3. サーバーを起動
python main.py
性能和限制
推奨使用量
- 内存条目数:最多10000个(保持快速搜索)
- 每个条目的大小: 10KB以下(大代码块利用摘要)
- 同时接続数:最多10个连接(假设为个人使用)
系统要求
- 随机存取存储器: 最小256MB、推奨512MB
- 磁盘空间: 最小100MB、推奨1GB
- 中央处理器:可选(由于设计轻巧,即使在低规格下也能工作)
安全注意事项
- 本地运行:无外部网络通信
- 数据加密: SQLite文件为明文(可选加密)
- 访问控制: localhost仅访问
- 日志管理:避免记录和输出敏感信息的设计
许可证
这个项目MIT在许可证下公开。
貢献
错误报告和功能要求GitHub的,之Issue请通知我。也欢迎拉式请求。
📋 更新履歴
-
v2.0.0版本 (2025-01-01):3服务器架构完成版
- 🏗️ 3服务器隔离体系结构实现
- 🌐 WebUI集成(端口8001)
- 🚀 独立API服务器(端口8002)
- 📦 EXE版本分发包(42MB)
- 🔧 复数Cursor接続对应
- 🎨 回动WebUI
- 📊 全面测试套件扩展
-
v1.0.0:首次发布
- MCP统合机能
- REST API
- SQLite数据库
- 基本测试套件