共享内存MCP服务器
解决代理团队中的协调税问题 -Opus+4十四行诗消耗了15倍的代币,但只获得了1.9倍的性能。
先决条件
- Node.js 18+
- npm或纱线
- Claude Desktop(用于MCP集成)
问题
当前的代理团队模式具有糟糕的令牌效率:
- 传统:1个请求×4K令牌=4K令牌
- 代理团队:1名协调员+4名工作人员×每个12K代币=48K+代币
- 效率:1.9倍性能/15倍成本= 效率12%
此MCP服务器为代理团队提供共享内存,以实现 6倍代币效率 同时保持协调效益。
核心功能
1.上下文重复数据删除
- 存储共享上下文一次,按键引用
- 10:1压缩比,智能汇总
- 工作人员获得100个令牌摘要,而不是完整的上下文
2.增量状态共享
- 仅附加发现系统
- 工作人员实时分享调查结果
- 增量更新阻止重传
3.工作协调
- 基于索赔的工作分配
- 依赖跟踪和解决
- 工作人员之间的被动任务切换
4.代币效率
- 上下文压缩和延迟加载
- Delta自上次版本以来的更新
- 根据需求扩展特定部分
安装
# 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快速开始
# 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用法示例
// 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
});建筑
┌─────────────────┐ ┌─────────────────┐
│ 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│
└─────────────────┘代币效率策略
上下文压缩
// 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更新
// Instead of retransmitting everything:
get_full_context() // 12K tokens each time
// Send only changes:
get_context_delta(since_version: 5) // 200 tokens延迟加载
// Workers request details only when needed:
expand_context_section("codebase_files") // 2K tokens
request_detail("file_content", "auth.ts") // 500 tokensapi参考
会话管理
create_agentic_session-初始化协调员+工作人员get_session_info-获取会话详细信息update_session_status-更新会话状态
上下文管理
get_worker_context-为worker获取压缩上下文expand_context_section-获取详细的截面数据get_context_delta-获取增量更新
工作协调
publish_work_units-发布可用作品claim_work_unit-索赔执行工作update_work_status-更新工作进度
发现共享
add_discovery-与团队分享研究结果get_discoveries_since-获取最新发现
依赖性解析
declare_outputs-宣布未来的产出await_dependency-等待依赖关系publish_output-为他人发布输出
MCP配置
适用于克劳德桌面
- 复制示例配置:
cp claude-desktop-config.example.json claude-desktop-config.json- 编辑
claude-desktop-config.json并更新安装路径:
{
"mcpServers": {
"shared-memory": {
"command": "node",
"args": ["/absolute/path/to/shared-memory-mcp/dist/server.js"]
}
}
}- 将此配置添加到您的Claude Desktop配置文件中:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json
注: claude-desktop-config.json 文件被gitignored,因为它包含特定于机器的路径。
性能优势
| 度量 | 传统 | 代理(当前) | 共享内存MCP |
|---|---|---|---|
| 令牌使用 | 4K | 48K+ | 8K |
| 性能增益 | 1x | 1.9x | 1.9倍 |
| 成本效益 | 100% | 12% | 1200% |
| 协调性 | 无 | 差 | 优秀 |
许可证
麻省理工学院
