README
🚀 内存银行 MCP 服务器
一个用于远程内存银行管理的 Model Context Protocol (MCP) 服务器实现,将传统基于文件的内存银行转变为集中式服务,提供多项目支持和 MCP 协议集成。
🚀 快速开始
Memory Bank MCP Server 是一个将传统基于文件的内存银行转换为集中服务的工具。它提供了通过 MCP 协议访问远程内存银行文件的能力,实现了多项目内存银行管理,维持一致的文件结构和验证,并确保项目之间的隔离。
使用 npm 安装
npm install memory-bank-mcp-server
初始化与启动
- 初始化内存银行:
const MemoryBank = require('memory-bank-mcp-server');
const bank = new MemoryBank({
root: '/path/to/bank',
logger: {
level: 'debug'
}
});
- 启动服务器:
bank.start();
✨ 主要特性
多项目支持
- 项目特定目录:为每个项目提供独立的目录,确保数据隔离。
- 文件路径限制:对文件路径进行限制,保障数据安全。
- 内容哈希验证:通过内容哈希验证确保数据完整性。
- 多线程安全:支持多线程操作,保证系统的稳定性。
- 错误处理:具备完善的错误处理机制,及时反馈问题。
- 文档化 API:提供详细的 API 文档,方便开发。
MCP 协议集成
- 支持标准 MCP 操作:兼容标准的 MCP 协议操作。
- 类型安全操作:确保操作的类型安全,减少错误。
- 响应式设计:采用响应式设计,提升用户体验。
- 日志记录和跟踪:记录操作日志,方便问题跟踪。
- 灵活性和可扩展性:具备良好的灵活性和可扩展性,适应不同需求。
📦 安装指南
使用 npm 安装
npm install memory-bank-mcp-server
💻 使用示例
基础用法
const { Bank } = require('memory-bank-mcp-server');
async function example() {
const bank = new Bank({
root: '/path/to/bank',
logger: {
level: 'debug'
}
});
await bank.start();
// 示例操作
await bank.deposit('key', 'value');
const value = await bank.withdraw('key');
console.log(value); // 输出: value
await bank.close();
}
example().catch(console.error);
📚 详细文档
配置
基本配置
const config = {
root: process.env.BANK_ROOT || '/path/to/bank',
port: process.env.PORT || 3000,
logger: {
level: process.env.LOG_LEVEL || 'info'
}
};
环境变量
| 属性 | 详情 |
|------|------|
| BANK_ROOT | 内存银行的根目录路径 |
| PORT | 服务器绑定的端口 |
| LOG_LEVEL | 日志记录级别(debug, info, warn, error, fatal) |
开发
安装依赖
npm install
启动开发服务器
npm run dev
构建项目
npm run build
贡献
贡献步骤
- 叉出仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 打开 Pull Request
开发指南
- 使用 TypeScript 编写所有新代码
- 维护代码库中的类型安全
- 为新功能编写测试
- 更新相关文档
- 遵循现有代码风格和模式
测试
- 编写单元测试
- 包括多项目场景测试
- 充分测试错误情况
- 验证类型约束
- 适当 mocking 文件系统操作
📄 许可证
该项目在 MIT License 下许可,具体内容请参阅 LICENSE 文件。
致谢
该项目实现了最初由 Cline Memory Bank 文档化的内存银行概念,并在远程能力和多项目支持方面进行了扩展。
Scan to contact