Model Context Protocol (MCP) memory server built with Azure Functions and TypeScript, providing persistent knowledge graph storage for AI assistants in VS Code.
Inspired by and forked from @modelcontextprotocol/server-memory
npm install
func start
- Install recommended extensions from
.vscode/extensions.json
- MCP configuration is ready in
.vscode/mcp.json
- Use
#memory-test
tools in VS Code Copilot chat
Note: All MCP tools now use object parameters instead of JSON strings for better type safety and ease of use.
# Health check
curl http://localhost:7071/api/health
# Use in VS Code Copilot with object parameters:
# #memory-test_create_entities
# #memory-test_read_graph
# #memory-test_search_entities
Create an entity:
#memory-test_create_entities workspaceId="my-project" entities={"name": "Alice", "entityType": "Person", "observations": ["Software engineer"]}
Create a relation:
#memory-test_create_relations workspaceId="my-project" relations={"from": "Alice", "to": "React Project", "relationType": "worksOn"}
Search entities:
#memory-test_search_entities workspaceId="my-project" name="Alice"
Core Operations:
create_entities
- Create single entity with observationscreate_relations
- Create single relationship between entitiesread_graph
- Read the entire knowledge graphsearch_entities
/search_relations
- Search by name/typeadd_observation
- Add observations to existing entitiesupdate_entity
- Update entity observations and metadatadelete_entity
- Remove entity and all its relationsget_stats
- Get workspace statisticsclear_memory
- Clear all workspace data
Advanced Features:
get_temporal_events
- Time-based activity trackingmerge_entities
- Merge duplicate entitiesdetect_duplicate_entities
- Find potential duplicatesexecute_batch_operations
- Batch multiple operationsget_user_stats
- Get user-specific statisticssearch_relations_by_user
- Find relations by user
Built with:
- Azure Functions v4 with TypeScript
- Azure Table Storage for persistent data (via Azurite locally)
- Model Context Protocol (MCP) for VS Code integration
- Workspace isolation - each project gets separate storage
src/
├── functions/ # Azure Functions endpoints
├── services/ # Business logic (storage, entities, relations)
├── types/ # TypeScript definitions
└── index.ts # Main entry point
For detailed information, see the .docs/
folder:
- Architecture Guide - Technical design and patterns
- API Reference - Complete endpoint documentation
- Storage Guide - Storage configuration and workspace management
- Deployment Guide - Production deployment options
- Uses Azure Table Storage with managed identity for security
- Workspace isolation prevents data leakage between projects
- Health endpoints for monitoring and container orchestration
- Automatic fallback to local storage for development
MIT License - see LICENSE file for details.