内存服务器

xgmem是一个基于TypeScript的模型上下文协议(MCP)服务器,用于为Claude、LLM代理和其他工具提供项目特定和基于知识图谱的内存管理,支持存储、检索和管理项目中的实体、关系和观察结果。

  • by meetdhanani17
  • JavaScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 meetdhanani17/xgmem

使用说明

xgmem MCP内存服务器

xgmem是一个基于TypeScript的模型上下文协议(MCP)服务器,用于为Claude、LLM代理和其他工具启用特定于项目和基于知识图的内存。它支持存储、检索和管理每个项目的实体、关系和观察结果,重点是灵活性和跨项目知识共享。

特性

  • 实体、关系和观察的知识图存储
  • 通过MCP工具进行CRUD操作
  • 持久到磁盘(memory.json)
  • Docker和TypeScript支持

用例

xgmem非常适合:

  • 每个项目需要存储和检索结构化内存(实体、关系、观察)的代理和LLM。
  • 跨项目知识共享和迁移。
  • 用于代理生态系统的可扩展、磁盘持久和可查询内存。

用法

MCP配置示例

添加到您的MCP配置中(例如,用于风帆):

"mcpServers": {
    "xgmem": {
      "command": "npx",
      "args": ["-y", "xgmem@latest"]
    }
  }

安装依赖项

npm install

构建

npm run build

运行(开发)

npx ts-node index.ts

运行(生产)

npm start

码头工人

docker build -t xgmem-mcp-server .
docker run -v $(pwd)/memories:/app/memories xgmem-mcp-server

这将在 memories 您主机上的目录。

如何保存内存(MCP API)

要保存项目的观测值(内存),请调用 save_project_observations 工具通过MCP API:

JSON示例:

{
  "name": "save_project_observations",
  "args": {
    "projectId": "demo-project",
    "observations": [
      {
        "entityName": "Alice",
        "contents": [
          "Alice joined Acme Corp in 2021.",
          "Alice is a software engineer."
        ]
      },
      {
        "entityName": "Bob",
        "contents": [
          "Bob joined Acme Corp in 2022.",
          "Bob is a product manager."
        ]
      }
    ]
  }
}

您可以使用任何兼容的MCP客户端,或者如果直接运行服务器,则可以通过stdin发送此JSON。

工装和API

xgmem公开了以下工具:

  • save_project_observations
  • get_project_observations
  • add_graph_observations
  • create_entities
  • create_relations
  • delete_entities
  • delete_observations
  • delete_relations
  • read_graph
  • search_nodes
  • search_all_projects
  • open_nodes
  • copy_memory

请参阅 get_help 工具(如果启用),通过MCP API提供文档和使用示例。

配置

  • 集 MEMORY_DIR_PATH env变量用于更改内存存储目录(默认值: /app/memories).

许可证

麻省理工学院