Model Context Protocol (MCP) compliant memory & knowledge graph server implemented in .NET 10 (Azure Functions isolated worker). Provides durable project memory (entities, relations, observations) for AI assistants with workspace isolation and simple HTTP tool endpoints. Current function set (alpha stage): - readgraph - returns all entities for a workspace (relations currently queried separately a
Add this skill
npx mdskills install MWGMorningwood/central-memory-mcpWell-structured knowledge graph server with clear tools but overly broad permissions for its scope
1# Central Memory MCP Server (.NET 10 Azure Functions)2[](https://archestra.ai/mcp-catalog/mwgmorningwood__central-memory-mcp)34Model Context Protocol (MCP) compliant memory & knowledge graph server implemented in .NET 10 (Azure Functions isolated worker). Provides durable project memory (entities, relations, observations) for AI assistants with workspace isolation and simple HTTP tool endpoints.56## Implemented MCP Tools7Current function set (alpha stage):8- read_graph - returns all entities for a workspace (relations currently queried separately and joined)9- upsert_entity - create or update entity (preserves existing Id if name exists)10- upsert_relation - create or update relation between two entities (requires GUIDs or resolvable names)11- get_entity_relations - list relations originating from a specific entity12- Health & Ready endpoints (/api/health, /api/ready)1314Planned (not yet implemented): search_entities, search_relations, stats, temporal, batch operations, merge/detect duplicates.1516## Data Model17- Entities table: PartitionKey = WorkspaceName, RowKey = Guid (Id)18- Relations table: PartitionKey = WorkspaceName, RowKey = Guid (Id)19- Workspaces table (future expansion)2021Observations stored as a single delimited string ("||") internally; split into List<string> at read time.2223## Quick Start24```bash25dotnet restore26dotnet build27func start --port 707128curl http://localhost:7071/api/health29```30To read the graph, invoke the read_graph MCP tool from the client and supply the workspaceName parameter.3132## Directory Layout33```mermaid34flowchart TD35 A[CentralMemoryMcp.Functions]36 A --> P[Program.cs]37 A --> SR[ServiceRegistration.cs]38 A --> F[Functions]39 F --> GF[GraphFunctions.cs]40 F --> HF[HealthFunctions.cs]41 A --> S[Services]42 S --> KGS[KnowledgeGraphService.cs]43 A --> ST[Storage]44 ST --> TSS[TableStorageService.cs]45 A --> M[Models]46 M --> GM[GraphModels.cs]47 A --> CFG[appsettings.json]48 A --> HOST[host.json]49```5051## Usage Notes52- Use workspaceName consistently; workspaceId in docs replaced.53- Upsert preserves entity identity by lookup on (WorkspaceName + Name).54- Relation upsert requires entity GUIDs or resolves names; fails if names missing.5556## Logging & Telemetry57Add Application Insights connection to capture request latency & storage dependency tracking (future enhancement).5859## Roadmap60Add search, pagination, stats aggregation, batch operations, duplicate detection, merge strategy, semantic vector layer.6162## License63[MIT](./LICENSE).64
Full transparency — inspect the skill content before installing.