记忆库mcp
用于Cursor客户端的MemoryBank MCP服务器。它代理MemoryBank规则端点(GET /api/external/rules)通过MCP stdio memorybank_get_rules 工具,并以纯文本形式返回完整的规则文档。
需求
- Node.js 18+
MEMORYBANK_BASE_URL和MEMORYBANK_API_KEY启动前必须设置环境变量。MEMORYBANK_PROJECT_ID是可选的,但当API密钥的作用域为项目时,建议使用。
环境变量
在开发过程中,您可以将机密存储在本地 .env 文件并运行提供的npm脚本(npm run dev, npm run debug)他们已经通过了 --env-file=.env 到 tsx.用于生产运行(node dist/index.js 或已发布的二进制文件)导出shell中的变量。
| 名称 | 必填 | 描述 |
|---|---|---|
MEMORYBANK_BASE_URL | 是 | 内存库后端来源,例如。 https://example.com。服务器将调用 ${BASE_URL}/api/external/rules. |
MEMORYBANK_API_KEY | yes | 用于授权标头的工作区API密钥。 |
MEMORYBANK_PROJECT_ID | no | 作为传递的项目/工作区标识符 projectId 查询参数。当API键的作用域为项目时提供它。 |
MEMORYBANK_TIMEOUT_MS | no | 覆盖请求超时(以毫秒为单位)(默认值 15000). |
MEMORYBANK_CACHE_TTL_MS | no | 提取规则的缓存生存期(默认值 600000,设置为 0 禁用缓存)。 |
MEMORYBANK_USER_AGENT | no | 自定义用户代理标头(默认为 `memorybank-mcp/ |
| `). | ||
DEBUG_MEMORYBANK_MCP | 否 | 设置为 true 在JSON解析失败时记录原始后端响应(仅对调试有用)。 |
脚本
npm run build–将TypeScript编译为dist/.npm start–运行编译后的stdio服务器(node dist/index.js).npm run dev–通过以下方式在监视模式下启动stdio服务器tsx,从加载变量.env.npm run watch–在监视模式下运行TypeScript编译器(tsc -w)保持dist/无需启动服务器即可更新。npm run debug–启动调试客户端以调用memorybank_get_rules工具通过stdio。
MCP服务器指示代理调用 memorybank_get_rules 在会话开始时恰好一次。该工具缓存Markdown响应 MEMORYBANK_CACHE_TTL_MS 毫秒,并接受可选 { "force": true } 绕过缓存的参数。
资源
memorybank://context/active_context–将缓存的MemoryBank规则集公开为Markdown(与memorybank_get_rules工具输出)。memorybank://rules–别名资源,返回相同的Markdown文档。
开发工作流程
npm install
npm run build
node dist/index.js对于没有Cursor的基于CLI的测试,请确保 dist/ 当前正在运行:
npm run debug光标配置
将服务器添加到 ~/.cursor/mcp.json (或工作空间 mcp.json)下面 mcpServers 钥匙。
选项1:mcp.json中的环境变量
使用 npx:
{
"mcpServers": {
"memorybank-mcp": {
"command": "npx",
"args": ["--yes", "@morsa/memorybank-mcp"],
"env": {
"MEMORYBANK_BASE_URL": "https://example.com",
"MEMORYBANK_API_KEY": "mbk_...",
"MEMORYBANK_PROJECT_ID": "proj_123"
}
}
}
}使用本地构建的二进制文件:
{
"mcpServers": {
"memorybank-mcp-local": {
"command": "node",
"args": ["/path/to/memorybank-mcp/dist/index.js"],
"env": {
"MEMORYBANK_BASE_URL": "https://example.com",
"MEMORYBANK_API_KEY": "mbk_...",
"MEMORYBANK_PROJECT_ID": "proj_123"
}
}
}
}选项2:使用.env文件
创建一个 .env 项目根目录或Cursor运行目录中的文件:
MEMORYBANK_BASE_URL=https://example.com
MEMORYBANK_API_KEY=mbk_...
MEMORYBANK_PROJECT_ID=proj_123然后配置mcp.json,不使用 env 变量:
{
"mcpServers": {
"memorybank-mcp": {
"command": "npx",
"args": ["--yes", "@morsa/memorybank-mcp"]
}
}
}