Global Memory Bank for AI Agents
An MCP server that provides persistent context synchronization for AI agents across sessions and projects.
- Active Context - Get/set current working state per project
- Filing Cabinet - Index files with summaries and metadata for fast retrieval
- Memory Search - Search across all indexed content
- Spatial Map - "PC as Rooms" folder navigation metaphor
- Bug Tracking - Log and resolve bugs for agent workflows
- Lock Management - Concurrent agent access coordination
- Context Events - Agent-to-agent handoff protocol
Prerequisites: Node.js 18.0.0 or higher
npm install -g mnehmos-synch-mcpgit clone https://github.com/Mnehmos/mnehmos.synch.mcp.git
cd mnehmos.synch.mcp
npm install
npm run buildAdd to your MCP client config (Claude Desktop, Cline, etc.):
{
"mcpServers": {
"mnehmos-synch-mcp": {
"command": "npx",
"args": ["mnehmos-synch-mcp"]
}
}
}Or if installed globally:
{
"mcpServers": {
"mnehmos-synch-mcp": {
"command": "mnehmos-synch-mcp"
}
}
}| Tool | Description |
|---|---|
get_active_context |
Get current summary/focus for a project |
set_active_context |
Update active context state |
list_projects |
List all projects in memory bank |
| Tool | Description |
|---|---|
file_to_cabinet |
Index a file with summary and metadata |
get_from_cabinet |
Retrieve indexed file info |
search_memory |
Search across all indexed content |
| Tool | Description |
|---|---|
get_spatial_map |
Get folder structure as "rooms" |
add_room |
Add folder to spatial map |
link_rooms |
Connect two folders |
| Tool | Description |
|---|---|
log_bug |
Log a bug for later fixing |
get_bugs |
Get bugs by project/status |
resolve_bug |
Mark bug as resolved |
| Tool | Description |
|---|---|
acquire_lock |
Lock a resource for exclusive access |
release_lock |
Release a held lock |
get_lock_status |
Check lock state |
| Tool | Description |
|---|---|
emit_context_event |
Emit handoff/checkpoint/error events |
get_context_events |
Get recent context events |
| Tool | Description |
|---|---|
configure_server |
First-run setup for server location |
get_server_info |
Get server configuration |
// Set active context for a project
await client.callTool("set_active_context", {
project_id: "my-app",
summary: "Working on authentication module",
focus: "src/auth/login.ts"
});
// Index a file
await client.callTool("file_to_cabinet", {
project_id: "my-app",
file_path: "src/auth/login.ts",
summary: "Login handler with JWT validation",
key_exports: ["login", "validateToken"]
});
// Search memory
await client.callTool("search_memory", {
query: "authentication",
project_id: "my-app"
});
// Emit handoff event
await client.callTool("emit_context_event", {
project_id: "my-app",
agent_id: "agent-1",
event_type: "handoff",
summary: "Completed auth module, ready for testing"
});Data is stored locally in SQLite with Markdown file fallbacks:
| Platform | Location |
|---|---|
| Windows | %USERPROFILE%\.agent-synch\ |
| macOS/Linux | ~/.agent-synch/ |
Storage includes:
agent_synch.db- SQLite databaseprojects/{id}/- Per-project markdown files.locks/- Lock files for crash recovery
# Install dependencies
npm install
# Development mode with watch
npm run dev
# Run tests
npm test
# Build for production
npm run buildMIT