Central-Memory-MCP 是一个自定义分支的 MCP 服务器,基于 @modelcontextprotocol/server-memory 开发,使用 Azure Functions MCP 触发器和 Table 存储。它使用 .NET 10(Azure Functions 隔离工作进程)实现,为 AI 助手提供持久的项目记忆和知识图谱功能,并支持工作区隔离。
用途:
- 为 AI 助手提供跨会话的持久化项目记忆,包括实体、关系和观察。
- 支持多开发者共享工作区,通过工作区隔离不同项目的记忆。
- 提供简单的 HTTP 工具端点,便于集成。
主要能力(当前 alpha 阶段):
- read_graph:返回指定工作区的所有实体(关系目前单独查询并连接)。
- upsert_entity:创建或更新实体(如果名称存在,则保留现有 Id)。
- upsert_relation:创建或更新两个实体之间的关系(需要 GUID 或可解析的名称)。
- get_entity_relations:列出特定实体发出的关系。
- 健康与就绪端点:/api/health 和 /api/ready。
- 计划中但尚未实现的功能:search_entities、search_relations、stats、temporal、批量操作、合并/检测重复项等。
使用方式:
- 要读取图谱,请从客户端调用 read_graph MCP 工具,并提供 workspaceName 参数。
- 确保一致使用 workspaceName;文档中的 workspaceId 已替换为 workspaceName。
- upsert 通过 (WorkspaceName + Name) 查找来保留实体身份。
- upsert_relation 需要实体 GUID 或解析名称;如果名称缺失则失败。
数据模型:
- Entities 表:PartitionKey = WorkspaceName, RowKey = Guid (Id)。
- Relations 表:PartitionKey = WorkspaceName, RowKey = Guid (Id)。
- Workspaces 表(未来扩展)。
- 观察结果内部以“||”分隔字符串存储,读取时拆分为列表。
适用场景:
- 需要跨会话记忆的 AI 助手项目。
- 多开发者协作的项目,需要共享知识图谱。
- 基于 Azure Functions 和 Table 存储的轻量级记忆服务。
限制:
- 当前为 alpha 阶段,部分功能(搜索、分页、统计、批量操作等)尚未实现。
- 关系查询和连接可能效率不高。
- 需要 Azure Functions 和 Table 存储环境。
- 日志与遥测(Application Insights 连接)为未来增强。