MCP Memory Server
Integrates with Git repositories to provide project-aware memory management, tracking coding decisions and changes within version-controlled codebases.
Provides comprehensive metadata management and safety controls for JavaScript projects, including method-level permissions and automated changelog generation.
Referenced in decision-making examples for database technology choices, with the server capable of tracking and remembering architectural decisions including PostgreSQL adoption reasoning.
Built with TypeScript support and provides metadata management capabilities for TypeScript projects through AI-metadata headers and file tracking.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Memory Server generate folder maps for my project so I can see what's available"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Memory Server with Folder Mapping
A comprehensive MCP (Model Context Protocol) server that provides AI coding assistants with memory management, file approval tracking, changelog functionality, and automatic folder mapping.
π New Features Added
π Folder Mapping System
Automatically generates _map.md files for each folder in your project, providing quick overviews of:
Classes, interfaces, functions, and types
Method signatures and parameters
File purposes and relationships
Dependencies and test locations
Risk assessments
This solves the problem of code discoverability - helping both AI agents and developers quickly understand what's available without diving into every file.
Related MCP server: ContextStream MCP Server
π Quick Start
1. Install Dependencies
npm install2. Test the System
node test-memory.js3. Build the Project
npm run build4. Run the MCP Server
npm startπ οΈ Available MCP Tools
Memory Management
start_session(task)- Start a new coding sessionadd_session_step(step, filesModified, description?)- Record completed workadd_decision(key, value, reasoning)- Record important decisionsget_project_memory()- Get current project state
File Approvals
set_file_approval(filePath, approvalType, approvedBy)- Set approval statusget_file_approval_status(filePath)- Check approval statuscheck_before_modification(filePath)- Validate before changesget_modification_actions(filePath)- Get post-change actions
π Folder Mapping (NEW)
generate_folder_map(folderPath)- Generate_map.mdfor specific foldergenerate_all_folder_maps()- Generate maps for all project foldersupdate_folder_map_if_needed(filePath)- Update map if files changedfind_all_map_files()- List all existing map filesvalidate_all_maps()- Check if maps are up-to-date
Metadata & Changelog
parse_file_metadata(filePath)- Extract AI metadata from filesupdate_file_metadata(filePath, updates)- Update file metadataadd_changelog_entry(...)- Add changelog entryget_recent_changes(days?)- Get recent project changes
π Folder Map Example
When you run generate_folder_map("src/services"), it creates src/services/_map.md:
# βοΈ services Module Map
> **Purpose**: Business logic and external service integrations
## π Quick Stats
- **Files**: 4
- **Classes**: 3
- **Interfaces**: 2
- **Functions**: 8
## ποΈ Files Overview
### `user-service.ts`
**Purpose**: User management and authentication | **Risk**: medium
**CLASS**: `UserService`
- `authenticateUser(credentials)` - Validates user credentials
- `getUserProfile(userId)` - Retrieves user profile data
- `updateUserSettings(userId, settings)` - Updates user preferences
### `api-client.ts`
**Purpose**: HTTP client for external APIs | **Risk**: high
**CLASS**: `ApiClient`
- `get(url, options?)` - HTTP GET request
- `post(url, data, options?)` - HTTP POST request
- `handleError(error)` - Centralized error handling
## π Dependencies
- `../types/user-types.ts`
- `../utils/http-utils.ts`
## π§ͺ Tests
- `tests/services/user-service.test.ts`
- `tests/services/api-client.test.ts`π§ Integration with Your Test Project
For your Zendesk-ClickUp automation project:
Navigate to your test project:
cd D:\Development\Projects\Products\zendesk-clickup-automationCopy the MCP server files or install as dependency
Generate folder maps:
# Using MCP client, call: generate_all_folder_maps()Your folder structure will get maps:
src/ βββ agents/ β βββ _map.md β Overview of all agent classes βββ services/ β βββ _map.md β Service integrations overview βββ types/ β βββ _map.md β All TypeScript definitions βββ utils/ βββ _map.md β Utility functions overview
π‘οΈ Memory Recording Fix
The memory recording issues have been fixed by:
Ensuring directory creation before all file operations
Better error handling with detailed logging
Automatic retry logic for file system operations
Proper async/await patterns throughout
π‘ Benefits for AI Agents
Before Folder Mapping:
AI has to read every file to understand what's available
Often creates duplicate functionality
Slow to understand project structure
Poor code reuse suggestions
After Folder Mapping:
Instant project comprehension from
_map.mdfilesPrevents duplicate code - AI sees what already exists
Better suggestions - AI knows available methods and classes
Faster development - Quick navigation and understanding
π Usage in AI Workflows
Typical AI Session:
# 1. Start a session
start_session("Add user authentication feature")
# 2. Generate/update maps to understand codebase
generate_all_folder_maps()
# 3. AI reads maps to understand existing code
# 4. AI writes new code using existing patterns
# 5. Record progress
add_session_step("Created UserAuth class", ["src/auth/user-auth.ts"], "Implemented JWT-based authentication")
# 6. Update relevant maps
update_folder_map_if_needed("src/auth/user-auth.ts")π― Best Practices
For AI Agents:
Always read relevant
_map.mdfiles before suggesting new codeUse
update_folder_map_if_needed()after creating/modifying filesCheck existing functionality to avoid duplication
For Developers:
Review generated maps for accuracy
Update maps when adding major new features
Use maps for onboarding new team members
π Auto-Update Strategy
Maps can be kept current by:
File watchers - Update when source files change
Build integration - Generate maps during build process
Git hooks - Update maps on commits
CI/CD integration - Validate maps in pipelines
π¨ Troubleshooting
Memory Not Recording:
# Run the test script
node test-memory.js
# Check for errors in .ai-memory folder creation
# Ensure proper permissions on project directoryMaps Not Generating:
# Check TypeScript parsing dependencies
npm install @typescript-eslint/typescript-estree
# Verify src directory exists
# Check file permissionsMCP Connection Issues:
# Rebuild the project
npm run build
# Check MCP client configuration
# Verify server is running on correct portπ Next Steps
Test the system with your Zendesk-ClickUp project
Generate initial maps to see the folder mapping in action
Integrate with your AI workflow using the MCP tools
Customize map templates if needed for your specific patterns
The folder mapping feature transforms how AI agents understand and work with your codebase, making them far more effective at code reuse and avoiding duplication.
Available Tools
19 toolsadd_changelog_entryC
Add an entry to the project changelog
Inputs: description (required), filesChanged (required), type (required), breakingChange, +1 more.
add_decisionC
Record an important technical decision
Inputs: key (required), value (required), reasoning (required).
add_session_stepC
Record completion of a step in the current session
Inputs: step (required), filesModified (required), description.
check_before_modificationC
Check if a file can be modified according to AI metadata rules
Inputs: filePath (required).
find_files_with_metadataC
Find all files that contain AI metadata
Inputs: pattern.
generate_all_folder_mapsB
Generate _map.md files for all folders in the project
Inputs: no named parameters.
generate_folder_mapC
Generate or update a _map.md file for a specific folder
Inputs: folderPath (required).
get_file_approval_statusC
Get approval status for a file
Inputs: filePath (required).
get_file_changelogC
Get changelog entries for a specific file
Inputs: filePath (required).
get_file_last_editorC
Get the last editor of a file from Git history
Inputs: filePath (required).
get_modification_actionsC
Get actions that should be taken after modifying a file
Inputs: filePath (required).
get_project_memoryB
Get current project memory and session state
Inputs: no named parameters.
get_recent_changesC
Get recent changelog entries
Inputs: days.
parse_file_metadataC
Parse AI metadata from a file
Inputs: filePath (required).
set_file_approvalC
Set approval status for a file
Inputs: filePath (required), approvalType (required), approvedBy (required).
start_sessionC
Start a new AI coding session with a specific task
Inputs: task (required).
update_all_last_editorsB
Update @last-editor fields in all files with Git author information
Inputs: no named parameters.
update_file_metadataC
Update AI metadata in a file
Inputs: filePath (required), updates (required).
update_last_editorC
Update @last-editor field in a file with Git author information
Inputs: filePath (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 19 tools
Most tools have distinct purposes, but there is some overlap between 'update_file_metadata' and 'parse_file_metadata' that could cause confusion, as both involve metadata handling. Additionally, 'get_file_last_editor' and 'update_last_editor' are closely related but serve different functions, which is acceptable. Overall, the tools are well-differentiated with only minor ambiguities.
The tool names follow a consistent verb_noun pattern throughout, such as 'add_changelog_entry', 'find_files_with_metadata', and 'update_file_metadata'. All tools use snake_case without deviation, making the naming highly predictable and readable. This consistency aids in easy identification and usage by agents.
With 19 tools, the count is slightly high but reasonable for a memory server that manages project metadata, changelogs, and sessions. The tools cover various aspects like file operations, session management, and metadata handling, so each seems to earn its place. However, it borders on being heavy, which could overwhelm agents if not well-organized.
The tool set provides comprehensive coverage for project memory management, including CRUD operations for metadata, changelogs, and approvals, as well as session lifecycle management. Tools like 'start_session', 'add_session_step', and 'get_project_memory' ensure full session handling, while others cover file-specific actions and metadata updates, leaving no obvious gaps for the domain.
Maintenance
Related MCP Connectors
Project memory for every AI. Pick up where you left off in Claude, ChatGPT or Cursor, with a team.
One searchable history across every AI coding tool, with secret scanning and a shared task board.
Shared, scoped, reviewable team memory for AI coding agents.
Persistent engineering memory designed to follow developers across coding agents.
Related MCP Servers
- AlicenseBqualityCmaintenanceProvides AI assistants with persistent memory of your project architecture, development history, and technical decisions, allowing them to give context-aware coding help without needing repeated explanations.1661 npm2MIT
- AlicenseCqualityAmaintenanceProvides AI assistants with persistent memory and code intelligence across all tools and conversations. Features semantic search, knowledge graphs, decision tracking, and impact analysis with 60+ tools for universal context preservation.362,856 npm46MIT

Doclea MCPofficial
AlicenseNot gradedqualityCmaintenanceProvides persistent memory for AI coding assistants, storing and retrieving architectural decisions, patterns, and solutions across sessions using semantic search, while also offering git integration for commit messages and code expertise mapping.MIT- AlicenseNot gradedqualityFmaintenanceProvides AI coding assistants with persistent project memory by capturing development checkpoints during git commits, branch switches, and inactivity. It enables seamless task resumption through tools that retrieve session history, momentum, and synthesized re-entry briefings.21 npm3MIT