About MWGMorningwood/Central-Memory-MCP
MWGMorningwood/Central-Memory-MCP is an MCP server published by MWG-Logan in the Automation category: a custom fork of @modelcontextprotocol/server-memory using Azure Functions MCP triggers and Table storage.
The repository has 3 stars and 3 forks, with the last commit 5 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/MWG-Logan/Central-Memory-MCPThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about MWGMorningwood/Central-Memory-MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 3 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
Central Memory MCP Server (.NET 10 Azure Functions)
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.
Implemented MCP Tools
Current function set (alpha stage):
- read_graph - returns all entities for a workspace (relations currently queried separately and joined)
- upsert_entity - create or update entity (preserves existing Id if name exists)
- upsert_relation - create or update relation between two entities (requires GUIDs or resolvable names)
- get_entity_relations - list relations originating from a specific entity
- Health & Ready endpoints (/api/health, /api/ready)
Planned (not yet implemented): search_entities, search_relations, stats, temporal, batch operations, merge/detect duplicates.
Data Model
- Entities table: PartitionKey = WorkspaceName, RowKey = Guid (Id)
- Relations table: PartitionKey = WorkspaceName, RowKey = Guid (Id)
- Workspaces table (future expansion)
Observations stored as a single delimited string ("||") internally; split into List at read time.
Quick Start
dotnet restore
dotnet build
func start --port 7071
curl http://localhost:7071/api/health
To read the graph, invoke the read_graph MCP tool from the client and supply the workspaceName parameter.
Directory Layout
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]
Usage Notes
- Use workspaceName consistently; workspaceId in docs replaced.
- Upsert preserves entity identity by lookup on (WorkspaceName + Name).
- Relation upsert requires entity GUIDs or resolves names; fails if names missing.
Logging & Telemetry
Add Application Insights connection to capture request latency & storage dependency tracking (future enhancement).
Roadmap
Add search, pagination, stats aggregation, batch operations, duplicate detection, merge strategy, semantic vector layer.
License
MIT.
README fetched from the repository 3 hours ago. The original is authoritative.