
mcp-with-ssh
具有服务器 SSH 支持的内存库,用作中央知识库
Tools
process_umb_command
Processes the Update Memory Bank (UMB) command
complete_umb
Completes the Update Memory Bank (UMB) process
switch_mode
Switches to a specific mode
initialize_memory_bank
Initialize a Memory Bank in the specified directory
set_memory_bank_path
Set a custom path for the Memory Bank
debug_mcp_config
Debug the current MCP configuration
read_memory_bank_file
Read a file from the Memory Bank
write_memory_bank_file
Write to a Memory Bank file
list_memory_bank_files
List Memory Bank files
get_memory_bank_status
Check Memory Bank status
migrate_file_naming
Migrate Memory Bank files from camelCase to kebab-case naming convention
track_progress
Track progress and update Memory Bank files
update_active_context
Update the active context file
log_decision
Log a decision in the decision log
get_current_mode
Gets information about the current mode
README
带有远程 SSH 支持的 Memory Bank MCP 🧠
一个用于管理 Memory Banks 的模型上下文协议 (MCP) 服务器,允许 AI 助手跨会话存储和检索信息。现在支持远程服务器!
<a href="https://glama.ai/mcp/servers/@aakarsh-sasi/memory-bank-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@aakarsh-sasi/memory-bank-mcp/badge" alt="Memory Bank MCP server" /> </a>
概述 📋
Memory Bank Server 为 AI 助手提供了一组工具和资源,用于与 Memory Banks 交互。Memory Banks 是结构化的信息存储库,有助于维护上下文并跟踪多个会话中的进度。
特性 ✨
- Memory Bank 管理:初始化、查找和管理 Memory Banks
- 文件操作:在 Memory Banks 中读取和写入文件
- 进度跟踪:跟踪进度并更新 Memory Bank 文件
- 决策日志:记录重要的决策,包括上下文和备选方案
- 活动上下文管理:维护和更新活动上下文信息
- 模式支持:检测和使用 .clinerules 文件以实现特定于模式的行为
- UMB 命令:使用 UMB 命令临时更新 Memory Bank 文件
- 强大的错误处理:优雅地处理错误并在可能的情况下继续操作
- 状态前缀系统:立即了解 Memory Bank 的运行状态
- 远程服务器支持:使用 SSH 将 Memory Banks 存储在远程服务器上
目录结构 📁
默认情况下,Memory Bank 使用项目根目录中的 memory-bank
目录。当您使用 --path
选项指定项目路径时,将在 <project_path>/memory-bank
创建或访问 Memory Bank。
您可以使用 --folder
选项自定义 Memory Bank 文件夹的名称。例如,如果您设置 --folder custom-memory
,则将在 <project_path>/custom-memory
创建或访问 Memory Bank。
有关自定义文件夹名称的更多详细信息,请参阅 自定义 Memory Bank 文件夹名称。
最近的改进 🛠️
- 远程服务器支持:通过 SSH 将 Memory Bank 存储在远程服务器上
- 可自定义的文件夹名称:您现在可以为 Memory Bank 指定自定义文件夹名称
- 一致的目录结构:Memory Bank 现在始终在项目根目录中使用配置的文件夹名称
- 增强的初始化:即使 .clinerules 文件不存在,Memory Bank 现在也可以工作
- 更好的路径处理:改进了绝对路径和相对路径的处理
- 改进的目录检测:更好地检测现有的 memory-bank 目录
- 更强大的错误处理:优雅地处理与 .clinerules 文件相关的错误
有关更多详细信息,请参阅 Memory Bank 错误修复。
安装 🚀
# 从 npm 安装
npm install @aakarsh-sasi/memory-bank-mcp
# 或者全局安装
npm install -g @aakarsh-sasi/memory-bank-mcp
# 或者直接使用 npx 运行(无需安装)
npx @aakarsh-sasi/memory-bank-mcp
使用 npx 💻
您可以使用 npx 直接运行 Memory Bank MCP,而无需安装:
# 使用默认设置运行
npx @aakarsh-sasi/memory-bank-mcp
# 使用特定模式运行
npx @aakarsh-sasi/memory-bank-mcp --mode code
# 使用自定义项目路径运行
npx @aakarsh-sasi/memory-bank-mcp --path /path/to/project
# 使用自定义文件夹名称运行
npx @aakarsh-sasi/memory-bank-mcp --folder custom-memory-bank
# 使用远程服务器运行
npx @aakarsh-sasi/memory-bank-mcp --remote --remote-user username --remote-host example.host.com --remote-path /home/username/memory-bank
# 显示帮助
npx @aakarsh-sasi/memory-bank-mcp --help
有关使用 npx 的更多详细信息,请参阅 npx-usage.md。
使用远程服务器模式 🌐
Memory Bank MCP 现在支持通过 SSH 将 Memory Bank 存储在远程服务器上。这允许您:
- 集中您的 Memory Bank:将所有项目内存保存在一个位置
- 共享 Memory Banks:多个用户可以访问同一个 Memory Bank
- 持久存储:即使您的本地计算机被擦除,您的 Memory Bank 也会持久存在
远程服务器要求
- 对远程服务器的 SSH 访问权限
- 设置 SSH 密钥身份验证(不支持密码身份验证)
- 在指定目录中创建/修改文件的足够权限
SSH 密钥设置
要为远程服务器设置 SSH 密钥身份验证:
-
生成一个新的 SSH 密钥对(如果您还没有):
# 使用现代 Ed25519 算法(推荐) ssh-keygen -t ed25519 -C "your_email@example.com" # 或者,如果需要兼容性,则使用 RSA ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
启动 SSH 代理并添加您的密钥:
# 启动代理 eval "$(ssh-agent -s)" # 添加您的密钥 ssh-add ~/.ssh/id_ed25519 # 如果您使用 RSA,则为 ~/.ssh/id_rsa
-
将您的公钥复制到远程服务器:
# 最简单的方法(如果可用) ssh-copy-id username@your-remote-host.com # 替代方法:手动复制您的公钥 cat ~/.ssh/id_ed25519.pub # 复制输出
然后将密钥粘贴到远程服务器上的
~/.ssh/authorized_keys
文件中。 -
测试您的连接:
ssh username@your-remote-host.com
您应该能够无需密码即可登录。
有关更详细的 SSH 密钥设置说明,请参阅我们的 SSH 密钥指南。
远程服务器配置
要使用远程服务器模式,您需要提供以下参数:
npx @aakarsh-sasi/memory-bank-mcp --remote \
--ssh-key ~/.ssh/your_ssh_key \
--remote-user username \
--remote-host example.host.com \
--remote-path /home/username/memory-bank
默认情况下,SSH 密钥假定位于 ~/.ssh/your_ssh_key
。您可以使用 --ssh-key
选项指定不同的密钥。
远程服务器示例
# 与 example.host.com 上的服务器一起使用
npx @aakarsh-sasi/memory-bank-mcp --remote \
--remote-user username \
--remote-host example.host.com \
--remote-path /home/username/memory-bank
在 Cursor 中配置 🖱️
Cursor 是一款 AI 驱动的代码编辑器,支持模型上下文协议 (MCP)。要在 Cursor 中配置 Memory Bank MCP:
-
使用 npx 运行 Memory Bank MCP:
无需全局安装该软件包。您可以直接使用 npx:
# 验证 npx 是否正常工作 npx @aakarsh-sasi/memory-bank-mcp --help
-
打开 Cursor 设置:
- 转到设置 (⚙️) > 扩展 > MCP
- 单击“添加 MCP 服务器”
-
配置 MCP 服务器:
- 名称:Memory Bank MCP
- 命令:npx
- 参数:
@aakarsh-sasi/memory-bank-mcp --mode code
(或根据需要使用其他模式)
对于远程服务器:
- 参数:
@aakarsh-sasi/memory-bank-mcp --mode code --remote --remote-user username --remote-host example.host.com --remote-path /home/username/memory-bank
-
保存并激活:
- 单击“保存”
- 通过切换来启用 MCP 服务器
-
验证连接:
- 在 Cursor 中打开一个项目
- Memory Bank MCP 现在应该处于活动状态,并且可以在您的 AI 交互中使用
有关详细说明和 Cursor 的高级用法,请参阅 cursor-integration.md。
与 Cursor 一起使用 🤖
配置完成后,您可以通过 AI 命令在 Cursor 中与 Memory Bank MCP 交互:
- 初始化 Memory Bank:
/mcp memory-bank-mcp initialize_memory_bank path=./memory-bank
- 跟踪进度:
/mcp memory-bank-mcp track_progress action="Feature Implementation" description="Implemented feature X"
- 记录决策:
/mcp memory-bank-mcp log_decision title="API Design" context="..." decision="..."
- 切换模式:
/mcp memory-bank-mcp switch_mode mode=code
MCP 模式及其用法 🔄
Memory Bank MCP 支持不同的操作模式,以优化 AI 交互以执行特定任务:
可用模式
-
代码模式 👨💻
- 重点:代码实现和开发
- 用法:
npx @aakarsh-sasi/memory-bank-mcp --mode code
- 最适合:编写、重构和优化代码
-
架构师模式 🏗️
- 重点:系统设计和架构
- 用法:
npx @aakarsh-sasi/memory-bank-mcp --mode architect
- 最适合:规划项目结构、设计组件和做出架构决策
-
提问模式 ❓
- 重点:回答问题和提供信息
- 用法:
npx @aakarsh-sasi/memory-bank-mcp --mode ask
- 最适合:获取解释、澄清和信息
-
调试模式 🐛
- 重点:故障排除和解决问题
- 用法:
npx @aakarsh-sasi/memory-bank-mcp --mode debug
- 最适合:查找和修复错误、分析问题
-
测试模式 ✅
- 重点:测试和质量保证
- 用法:
npx @aakarsh-sasi/memory-bank-mcp --mode test
- 最适合:编写测试、测试驱动开发
切换模式
您可以通过多种方式切换模式:
-
启动服务器时:
npx @aakarsh-sasi/memory-bank-mcp --mode architect
-
在会话期间:
memory-bank-mcp switch_mode mode=debug
-
在 Cursor 中:
/mcp memory-bank-mcp switch_mode mode=test
-
使用 .clinerules 文件: 在您的项目中创建一个
.clinerules-[mode]
文件,以便在检测到该文件时自动切换到该模式。
Memory Bank MCP 的工作原理 🧠
Memory Bank MCP 构建在模型上下文协议 (MCP) 之上,该协议使 AI 助手能够与外部工具和资源交互。 这是它的工作原理:
核心组件 🧩
-
Memory Bank:一个结构化的信息存储库,存储为 markdown 文件:
product-context.md
:总体项目信息和目标active-context.md
:当前状态、正在进行的任务和后续步骤progress.md
:项目更新和里程碑的历史记录decision-log.md
:重要决策的记录,包括上下文和理由system-patterns.md
:项目中使用的架构和代码模式
-
MCP 服务器:为 AI 助手提供工具和资源,以便与 Memory Banks 交互:
- 作为独立进程运行
- 通过 MCP 协议与 AI 助手通信
- 提供一组用于管理 Memory Banks 的工具
-
模式系统:支持不同的操作模式:
code
:专注于代码实现ask
:专注于回答问题architect
:专注于系统设计debug
:专注于调试问题test
:专注于测试
数据流 🔄
- 初始化:AI 助手连接到 MCP 服务器并初始化 Memory Bank
- 工具调用:AI 助手调用 MCP 服务器提供的工具来读取/写入 Memory Bank 文件
- 上下文维护:Memory Bank 跨会话维护上下文,允许 AI 回忆以前的决策和进度
Memory Bank 结构 📂
Memory Banks 使用标准化的结构来组织信息:
- 产品上下文:项目概述、目标、技术和架构
- 活动上下文:当前状态、正在进行的任务、已知问题和后续步骤
- 进度:项目更新和里程碑的按时间顺序排列的记录
- 决策日志:重要决策的记录,包括上下文、备选方案和后果
- 系统模式:架构模式、代码模式和文档模式
高级功能 🚀
- UMB 命令:在会话期间临时更新 Memory Bank 文件,而无需提交更改
- 模式检测:根据用户输入自动检测和切换模式
- 文件迁移:用于在不同的文件命名约定之间迁移的工具
- 语言标准化:所有 Memory Bank 文件均以英语生成,以保持一致性
版本控制 📌
本项目遵循 语义版本控制 并使用 约定式提交 来编写提交消息。当更改合并到主分支时,版本会自动递增,并根据提交消息生成变更日志。
- 当存在重大更改时,主版本会递增(带有
BREAKING CHANGE
或!:
的提交消息) - 当添加新功能时,次版本会递增(带有
feat:
或feat(scope):
的提交消息) - 补丁版本会针对所有其他更改(错误修复、文档等)递增
有关更改的完整历史记录,请参阅 CHANGELOG.md 文件。
用法 📝
作为命令行工具 💻
# 初始化 Memory Bank
memory-bank-mcp initialize_memory_bank path=./memory-bank
# 跟踪进度
memory-bank-mcp track_progress action="Feature Implementation" description="Implemented feature X"
# 记录决策
memory-bank-mcp log_decision title="API Design" context="..." decision="..."
# 切换模式
memory-bank-mcp switch_mode mode=code
作为库 📚
import { MemoryBankServer } from "@aakarsh-sasi/memory-bank-mcp";
// 创建一个新的服务器实例
const server = new MemoryBankServer();
// 启动服务器
server.run().catch(console.error);
贡献 👥
请参阅 CONTRIBUTING.md 以了解我们的行为准则以及提交拉取请求的过程。
许可证 📄
本项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。
Memory Bank 状态系统 🚦
Memory Bank MCP 实施了一个状态前缀系统,该系统可以立即了解 Memory Bank 的运行状态:
状态指示器
来自使用 Memory Bank MCP 的 AI 助手的每个响应都以以下状态指示器之一开头:
[MEMORY BANK: ACTIVE]
:Memory Bank 可用,并用于提供上下文相关的响应[MEMORY BANK: INACTIVE]
:Memory Bank 不可用或未正确配置[MEMORY BANK: UPDATING]
:Memory Bank 当前正在更新(在 UMB 命令执行期间)
该系统确保用户始终知道 AI 助手是在完全上下文感知的情况下运行还是在有限的信息下运行。
优点
- 透明度:用户始终知道 AI 是否可以访问完整的项目上下文
- 故障排除:可以立即发现 Memory Bank 何时未正确配置
- 上下文感知:帮助用户了解为什么某些响应可能缺乏历史上下文
有关更多详细信息,请参阅 Memory Bank 状态前缀系统。
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。