这是一个实现了通过自我批评周期进行迭代细化的MCP(模型上下文协议)服务器。灵感来源于Hank Besser的recursive-companion,此实现增加了增量处理以避免超时并使进度可见。
细化过程遵循草稿 → 批评 → 修改 → 收敛模式:
详细架构图和系统设计文档,请参见ARCHITECTURE.md。
git clone https://github.com/thinkerz-ai/recursive-companion-mcp.git
cd recursive-companion-mcp
uv sync
配置AWS凭证作为环境变量或通过AWS CLI
添加到Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):
基本配置:
{
"mcpServers": {
"recursive-companion": {
"command": "/path/to/recursive-companion-mcp/run.sh",
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "your-access-key",
"AWS_SECRET_ACCESS_KEY": "your-secret-key"
}
}
}
}
优化配置(推荐):
{
"mcpServers": {
"recursive-companion": {
"command": "/path/to/recursive-companion-mcp/run.sh",
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "your-access-key",
"AWS_SECRET_ACCESS_KEY": "your-secret-key",
"BEDROCK_MODEL_ID": "anthropic.claude-3-sonnet-20240229-v1:0",
"CRITIQUE_MODEL_ID": "anthropic.claude-3-haiku-20240307-v1:0",
"CONVERGENCE_THRESHOLD": "0.95",
"PARALLEL_CRITIQUES": "2",
"MAX_ITERATIONS": "5",
"REQUEST_TIMEOUT": "600"
}
}
}
}
性能提示:
CRITIQUE_MODEL_ID以提高50%的速度CONVERGENCE_THRESHOLD降低至0.95以加快收敛速度PARALLEL_CRITIQUES减少至2以更好地利用资源该工具提供了几个用于迭代细化的MCP端点:
简单细化(自动完成):
quick_refine(prompt="解释安全API设计的关键原则", max_wait=60)
逐步细化(完全控制):
# 开始会话
start_refinement(prompt="为电子商务设计微服务架构", domain="技术")
# 继续迭代
continue_refinement() # 草稿阶段
continue_refinement() # 批评阶段
continue_refinement() # 修改阶段
# 获取最终结果
get_final_result()
会话管理:
current_session() # 检查活动会话
list_refinement_sessions() # 列出所有会话
abort_refinement() # 停止并获取迄今为止的最佳结果
对于包含实际场景、错误处理模式和集成工作流的全面示例,请参见**API_EXAMPLES.md**。
start_refinement - 开始新的细化会话并检测领域continue_refinement - 推进会话通过草稿→批评→修改周期get_final_result - 获取已完成的细化get_refinement_status - 检查进度而不推进current_session - 获取活动会话信息(无需ID)list_refinement_sessions - 查看所有活动会话abort_refinement - 停止细化,返回迄今为止的最佳版本quick_refine - 自动完成简单的细化(小于60秒)| 环境变量 | 默认值 | 描述 |
|---|---|---|
BEDROCK_MODEL_ID | anthropic.claude-3-sonnet-20240229-v1:0 | 主生成模型 |
CRITIQUE_MODEL_ID | 同BEDROCK_MODEL_ID | 批评模型(使用Haiku以提高速度) |
CONVERGENCE_THRESHOLD | 0.98 | 收敛相似度阈值(0.90-0.99) |
PARALLEL_CRITIQUES | 3 | 每次迭代的并行批评数量 |
MAX_ITERATIONS | 10 | 最大细化迭代次数 |
REQUEST_TIMEOUT | 300 | 超时时间(秒) |
服务器支持无状态的可流式HTTP传输,适用于需要水平扩展和基于Web集成的企业部署。
# 设置传输类型为streamable_http
export MCP_TRANSPORT=streamable_http
export MCP_HTTP_HOST=127.0.0.1 # 可选,默认为127.0.0.1
export MCP_HTTP_PORT=8080 # 可选,默认为8080
# 运行服务器
uv run python -m recursive_companion_mcp
或者在单个命令中:
MCP_TRANSPORT=streamable_http MCP_HTTP_PORT=8080 uv run python -m recursive_companion_mcp
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "start_refinement",
"arguments": {
"topic": "改进这个算法设计",
"style": "分析型"
}
},
"id": 1
}'
| 特性 | Stdio传输 | HTTP传输 | 可流式HTTP传输 |
|---|---|---|---|
| 使用场景 | Claude桌面 | 网络访问 | 企业扩展性 |
| 状态管理 | 内存中 | 内存中 | 每个请求无状态 |
| 会话持久性 | 无 | 无 | 是(通过会话ID) |
| 负载均衡 | 无 | 无 | 是 |
| Web集成 | 无 | 有限 | 完全支持 |
在优化设置下:
使用Haiku进行批评可以减少迭代时间约50%。
此工具包括专为使用它的AI助手提供的特殊功能:
current_session_id自动维护_ai_前缀字段示例AI帮助错误响应:
{
"success": false,
"error": "未提供session_id且没有当前会话",
"_ai_context": {
"current_session_id": null,
"active_session_count": 2,
"recent_sessions": [...]
},
"_ai_suggestion": "使用start_refinement创建新会话",
"_human_action": "首先启动一个新的细化会话"
}
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Claude │────▶│ MCP Server │────▶│ Bedrock │
│ Desktop │◀────│ │◀────│ Claude │
└─────────────┘ └──────────────┘ └─────────────┘
│
▼
┌──────────────┐
│ Session │
│ Manager │
└──────────────┘
uv run pytest tests/
uv run python test_incremental.py
该项目包括全面的自动化以准备开源:
# 验证自动化设置
uv run python scripts/setup_check.py
# 验证工作流程配置
uv run python scripts/validate_workflows.py
# 手动发布(如有必要)
uv run semantic-release version --noop # 干运行
uv run semantic-release version --minor # 实际发布
参见AUTOMATION.md获取完整的自动化文档。
本项目受到Hank Besser的recursive-companion的启发。原始实现提供了概念性的草稿 → 批评 → 修改 → 收敛模式。此MCP版本添加了:
欢迎贡献!请阅读我们的贡献指南以获取详情。
MIT许可证 - 详情请参见LICENSE文件。