使用说明
中央内存MCP服务器(.NET 10 Azure功能)
在中实现了符合模型上下文协议(MCP)的内存和知识图服务器。NET 10(Azure函数隔离工作程序)。为具有工作空间隔离和简单HTTP工具端点的AI助手提供持久的项目内存(实体、关系、观察)。
已实施的MCP工具
当前功能集(alpha阶段):
- read_graph-返回工作区的所有实体(当前分别查询和连接的关系)
- upstret_entity-创建或更新实体(如果名称存在,则保留现有Id)
- upsrt_relation-创建或更新两个实体之间的关系(需要GUID或可解析名称)
- get_entityrelations-列出源自特定实体的关系
- 健康和就绪端点(/api/Health、/api/Ready)
已计划(尚未实施):search_entities、search_relations、stats、temporal、批处理操作、合并/检测重复项。
数据模型
- 实体表:分区键=工作区名称,行键=Guid(Id)
- 关系表:分区键=工作区名称,行键=Guid(Id)
- 工作区表(未来扩展)
内部存储为单个分隔字符串(“||”)的观测值;拆分为列表 在阅读时。
快速开始
dotnet restore
dotnet build
func start --port 7071
curl http://localhost:7071/api/health
要读取图形,请从客户端调用read_graph MCP工具并提供workspaceName参数。
目录布局
flowchart TD
A[CentralMemoryMcp.Functions]
A --> P[Program.cs]
A --> SR[ServiceRegistration.cs]
A --> F[Functions]
F --> GF[GraphFunctions.cs]
F --> HF[HealthFunctions.cs]
A --> S[Services]
S --> KGS[KnowledgeGraphService.cs]
A --> ST[Storage]
ST --> TSS[TableStorageService.cs]
A --> M[Models]
M --> GM[GraphModels.cs]
A --> CFG[appsettings.json]
A --> HOST[host.json]
使用说明
- 始终如一地使用workspaceName;文档中的workspaceId已被替换。
- Upsert通过在(WorkspaceName+Name)上查找来保留实体标识。
- 关系追加需要实体GUID或解析名称;如果缺少名称,则失败。
测井和遥测
添加Application Insights连接以捕获请求延迟和存储依赖性跟踪(未来增强)。
路线图
添加搜索、分页、统计数据聚合、批处理操作、重复检测、合并策略、语义向量层。