上下文回声
Context Echo是一个轻量级的模型上下文协议(MCP)内存服务器,它将用户上下文(实体、关系、事实)作为结构化知识图存储在本地JSON文件中。它为AI代理提供持久内存,使它们能够在不同的会话中保留信息。它使用 流式HTTP 传输协议,使其能够托管在云中并通过公共HTTPS URL访问。
特性
- 实体跟踪:存储和检索具有类型和元数据的特定实体。
- 关系映射:使用类型化关系和权重将实体链接在一起。
- 事实记录:用置信度分数和时间戳存储事实陈述。
- 本地持久性:数据保存到
./memory/{userId}.json使用Zod进行稳健验证。 - MCP本地:实施
memory-add,memory-query,以及memory-summarize工具。
入门指南
先决条件
- (推荐LTS版本)
- npm或pnpm
安装
# Clone the repository (if applicable)
# cd context-echo
# Install dependencies
npm install建设项目
npm run build编译后的文件将位于 dist 目录。
运行测试
您可以运行集成测试来验证存储和工具逻辑:
# Test the storage layer (file I/O and validation)
npx tsx src/scripts/test-storage.ts
# Test the MCP tools logic (add, query, summarize)
npx tsx src/scripts/test-tools.tsMCP客户端集成(例如,TOME、Claude Desktop)
要将Context Echo与本地MCP客户端一起使用,您可以在本地运行服务器,并将客户端指向其HTTP端点。
标准配置
默认情况下,服务器在端口3000上运行,并公开:
- MCP端点:
http://localhost:3000/mcp - 健康检查:
http://localhost:3000/healthz(退货{"status": "ok"})
- 在本地启动服务器:
npm start - 在客户的MCP设置中 (例如。,
claude_desktop_config.json),使用sse运输:
{
"mcpServers": {
"context-echo": {
"command": "node",
"args": ["/absolute/path/to/context-echo/dist/index.js"]
}
}
}*注意:虽然服务器使用HTTP/SSE,但仍然可以通过CLI执行,如上所示进行本地测试。*
使用TOME运行(HTTP模式)
- 确保项目建成:
npm run build. - 启动服务器:
npm start. - 在TOME中,添加一个新的MCP服务器。
- 选择“SSE”传输。
- 将URL设置为
http://localhost:3000/mcp.
使用OpenCode运行
要将Context Echo添加到OpenCode,请使用以下CLI命令:
opencode mcp add这将启动一个互动指南。当系统提示输入本地服务器详细信息时:
- 命令:
node - 参数:
/absolute/path/to/context-echo/dist/index.js - 名字:
context-echo
Smithery集成
Context Echo已准备好与 史密瑟里.
本地开发
要使用热重新加载和测试接口在本地运行服务器,请执行以下操作:
npx @smithery/cli dev加载环境变量
如果你需要从 .env 文件(如 SMITHERY_API_KEY)在运行开发服务器时,使用以下命令显式传递密钥:
export $(cat .env | xargs) && npx @smithery/cli dev --key $SMITHERY_API_KEY或使用 dotenv-cli:
npx dotenv-cli -- sh -c 'npx @smithery/cli dev --key $SMITHERY_API_KEY'出版Smithery
要将您的MCP服务器发布到Smithery注册表,以便其他人可以发现并安装它:
- 为HTTP做好准备:服务器已配置为使用
Streamable-http运输。 - 暴露端口:确保您的云提供商(例如Render、Fly.io、Heroku)使用端口
3000. - 推送到GitHub:确保你的项目被推送到你的GitHub仓库。
- 通过CLI发布:
npx @smithery/cli publish --key $SMITHERY_API_KEY --name @your-namespace/context-echo- 在Smithery中配置:
- 转到您的服务器 史密斯艾. - 在...之下 部署,设置 公共HTTP URL 发送到您的云部署地址(例如。, https://context-echo.onrender.com/mcp).
发布后,用户可以使用以下方式全局安装您的服务器:
npx @smithery/cli install context-echo --client claude发布到npm
要将此包发布到npm注册表:
- 登录:确保您已登录到您的npm帐户。
npm login- 构建和打包(可选):您可以在发布之前验证包内容。
npm run build
npm pack- 发布:运行publish命令。这
prepublishOnly脚本将自动触发生产构建。
npm publish --access public项目结构
src/index.ts:MCP服务器实现和工具处理程序。src/storage.ts:文件系统持久性逻辑。src/types.ts:Zod模式和TypeScript接口。memory/:(git忽略)用户JSON文件的本地存储目录。smithery.yaml:Smithery工具定义。
许可证
国际学生委员会
