Shared Memory
Provides shared memory for agentic teams to improve token efficiency and coordination.
Shared Memory MCP Server
Solving coordination tax in agentic teams - where Opus + 4 Sonnets burns 15x tokens but only gets 1.9x performance.
Prerequisites
- Node.js 18+
- npm or yarn
- Claude Desktop (for MCP integration)
The Problem
Current agentic team patterns have terrible token efficiency:
- Traditional: 1 request × 4K tokens = 4K tokens
- Agentic Team: 1 coordinator + 4 workers × 12K tokens each = 48K+ tokens
- Efficiency: 1.9x performance / 15x cost = 12% efficiency
This MCP server provides shared memory for agentic teams to achieve 6x token efficiency while maintaining coordination benefits.
Core Features
1. Context Deduplication
- Store shared context once, reference by key
- 10:1 compression ratio with intelligent summarization
- Workers get 100-token summaries instead of full context
2. Incremental State Sharing
- Append-only discovery system
- Workers share findings in real-time
- Delta updates prevent retransmission
3. Work Coordination
- Claim-based work distribution
- Dependency tracking and resolution
- Reactive task handoff between workers
4. Token Efficiency
- Context compression and lazy loading
- Delta updates since last version
- Expansion on demand for specific sections
Installation
# Clone the repository
git clone https://github.com/haasonsaas/shared-memory-mcp.git
cd shared-memory-mcp
# Install dependencies
npm install
# Build the server
npm run build
Quick Start
# Run in development mode
npm run dev
# Or run the built server
npm start
# Test the agentic workflow
npm test
# or
npm run test-workflow
Usage Example
// 1. Create agentic session (coordinator)
const session = await mcp.callTool('create_agentic_session', {
coordinator_id: 'opus-coordinator-1',
worker_ids: ['sonnet-1', 'sonnet-2', 'sonnet-3', 'sonnet-4'],
task_description: 'Analyze large codebase for performance issues',
codebase_files: [...], // Full context stored once
requirements: [...],
constraints: [...]
});
// 2. Workers get compressed context (not full retransmission)
const context = await mcp.callTool('get_worker_context', {
session_id: session.session_id,
worker_id: 'sonnet-1'
}); // Returns summary + reference, not full context
// 3. Publish work units for coordination
await mcp.callTool('publish_work_units', {
session_id: session.session_id,
work_units: [
{ unit_id: 'analyze-auth', type: 'security', priority: 'high' },
{ unit_id: 'optimize-db', type: 'performance', dependencies: ['analyze-auth'] }
]
});
// 4. Workers claim and execute
await mcp.callTool('claim_work_unit', {
session_id: session.session_id,
unit_id: 'analyze-auth',
worker_id: 'sonnet-1',
estimated_duration_minutes: 15
});
// 5. Share discoveries incrementally
await mcp.callTool('add_discovery', {
session_id: session.session_id,
worker_id: 'sonnet-1',
discovery_type: 'vulnerability_found',
data: { vulnerability: 'SQL injection in auth module' },
affects_workers: ['sonnet-2'] // Notify relevant workers
});
// 6. Get only new updates (delta, not full context)
const delta = await mcp.callTool('get_context_delta', {
session_id: session.session_id,
worker_id: 'sonnet-2',
since_version: 5 // Only get changes since version 5
});
Architecture
┌─────────────────┐ ┌─────────────────┐
│ Opus Coordinator│ │ Shared Memory │
│ │────│ MCP Server │
│ - Task Planning │ │ │
│ - Work Units │ │ - Context Store │
│ - Coordination │ │ - Discovery Log │
└─────────────────┘ │ - Work Queue │
│ - Dependencies │
┌─────────────────┐ └─────────────────┘
│ Sonnet Workers │ │
│ │───────────┘
│ - Specialized │
│ - Parallel │ ┌─────────────────┐
│ - Coordinated │ │ Token Efficiency│
└─────────────────┘ │ │
│ 48K → 8K tokens │
│ 6x improvement │
│ 1200% better ROI│
└─────────────────┘
Token Efficiency Strategies
Context Compression
// Instead of sending full context (12K tokens):
{
full_context: { /* massive object */ }
}
// Send compressed reference (100 tokens):
{
summary: "Task: Analyze TypeScript codebase...",
reference_key: "ctx_123",
expansion_hints: ["codebase_files", "requirements"]
}
Delta Updates
// Instead of retransmitting everything:
get_full_context() // 12K tokens each time
// Send only changes:
get_context_delta(since_version: 5) // 200 tokens
Lazy Loading
// Workers request details only when needed:
expand_context_section("codebase_files") // 2K tokens
request_detail("file_content", "auth.ts") // 500 tokens
API Reference
Session Management
create_agentic_session
- Initialize coordinator + workersget_session_info
- Get session detailsupdate_session_status
- Update session state
Context Management
get_worker_context
- Get compressed context for workerexpand_context_section
- Get detailed section dataget_context_delta
- Get incremental updates
Work Coordination
publish_work_units
- Publish available workclaim_work_unit
- Claim work for executionupdate_work_status
- Update work progress
Discovery Sharing
add_discovery
- Share findings with teamget_discoveries_since
- Get recent discoveries
Dependency Resolution
declare_outputs
- Declare future outputsawait_dependency
- Wait for dependencypublish_output
- Publish output for others
MCP Configuration
For Claude Desktop
-
Copy the example configuration:
cp claude-desktop-config.example.json claude-desktop-config.json
-
Edit
claude-desktop-config.json
and update the path to your installation:{ "mcpServers": { "shared-memory": { "command": "node", "args": ["/absolute/path/to/shared-memory-mcp/dist/server.js"] } } }
-
Add this configuration to your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
Note: The claude-desktop-config.json
file is gitignored as it contains machine-specific paths.
Performance Benefits
Metric | Traditional | Agentic (Current) | Shared Memory MCP |
---|---|---|---|
Token Usage | 4K | 48K+ | 8K |
Performance Gain | 1x | 1.9x | 1.9x |
Cost Efficiency | 100% | 12% | 1200% |
Coordination | None | Poor | Excellent |
License
MIT
Related Servers
LibreOffice
Provides tools and resources for interacting with LibreOffice documents.
Xero
Interact with the accounting data in your business using our official MCP server
Laravel Boost
Laravel Boost is an MCP server equipped with over 15 specialized tools designed to streamline AI-assisted coding workflows.
OpenHeidelberg
Fetches and merges iCal calendar entries from various sources.
MCP Wait Timer Server
A simple tool to pause execution for a specified number of seconds.
Notion API MCP
Interact with Notion's API to manage todo lists, databases, and content organization.
WayStation
A universal remote MCP server that connects to popular productivity tools such as Notion, Monday, AirTable, and many more.
Splid MCP
A Model Context Protocol (MCP) server that exposes Splid (splid.app) via tools, powered by the reverse‑engineered splid-js client.
Folderr MCP Server
Interact with the Folderr API to manage and communicate with Folderr Assistants.
Jira
Integrate with Jira's REST API to manage projects, track issues, and perform analytics.