References the original recursive-companion repository as inspiration, with this implementation adding incremental processing capabilities
Recursive Companion MCP
An MCP (Model Context Protocol) server that implements iterative refinement through self-critique cycles. Inspired by Hank Besser's recursive-companion, this implementation adds incremental processing to avoid timeouts and enable progress visibility.
Features
Incremental Refinement: Avoids timeouts by breaking refinement into discrete steps
Mathematical Convergence: Uses cosine similarity to measure when refinement is complete
Domain-Specific Optimization: Auto-detects and optimizes for technical, marketing, strategy, legal, and financial domains
Progress Visibility: Each step returns immediately, allowing UI updates
Parallel Sessions: Support for multiple concurrent refinement sessions
Auto Session Tracking: No manual session ID management needed
AI-Friendly Error Handling: Actionable diagnostics and recovery hints for AI assistants
Related MCP server: Sequential Thinking Multi-Agent System
How It Works
The refinement process follows a Draft → Critique → Revise → Converge pattern:
Draft: Generate initial response
Critique: Create multiple parallel critiques (using faster models)
Revise: Synthesize critiques into improved version
Converge: Measure similarity and repeat until threshold reached
For detailed architecture diagrams and system design documentation, see ARCHITECTURE.md.
Installation
Prerequisites
Python 3.10+
uv package manager
AWS Account with Bedrock access
Claude Desktop app
Setup
Clone the repository:
Install dependencies:
Configure AWS credentials as environment variables or through AWS CLI
Add to Claude Desktop config (
~/Library/Application Support/Claude/claude_desktop_config.json):
Basic Configuration:
Optimized Configuration (Recommended):
Performance Tips:
Use Haiku for
CRITIQUE_MODEL_IDfor 50% speed improvementLower
CONVERGENCE_THRESHOLDto 0.95 for faster convergenceReduce
PARALLEL_CRITIQUESto 2 for better resource usageSee API_EXAMPLES.md for more configuration examples
Usage
The tool provides several MCP endpoints for iterative refinement:
Quick Start Examples
Simple refinement (auto-complete):
Step-by-step refinement (full control):
Session management:
Complete API Reference
For comprehensive examples with realistic scenarios, error handling patterns, and integration workflows, see API_EXAMPLES.md.
Available Tools
start_refinement- Begin new refinement session with domain detectioncontinue_refinement- Advance session through draft→critique→revise cyclesget_final_result- Retrieve completed refinementget_refinement_status- Check progress without advancingcurrent_session- Get active session info (no ID needed)list_refinement_sessions- See all active sessionsabort_refinement- Stop refinement, return best version so farquick_refine- Auto-complete simple refinements (under 60s)
Configuration
Environment Variable | Default | Description |
| anthropic.claude-3-sonnet-20240229-v1:0 | Main generation model |
| Same as BEDROCK_MODEL_ID | Model for critiques (use Haiku for speed) |
| 0.98 | Similarity threshold for convergence (0.90-0.99) |
| 3 | Number of parallel critiques per iteration |
| 10 | Maximum refinement iterations |
| 300 | Timeout in seconds |
🌐 Streamable HTTP Transport
The server supports a stateless Streamable HTTP transport for enterprise deployments requiring horizontal scalability and web-based integration.
Enable Streamable HTTP Transport
Or in a single command:
Streamable HTTP Features
✅ Stateless Request Handling: New server instance per request for complete isolation
✅ Session Persistence: Sessions maintained across requests via session IDs
✅ JSON-RPC 2.0 Compliant: Full MCP protocol support over HTTP
✅ Enterprise Scalability: Horizontal scaling with load balancers
✅ Web Integration: Perfect for web-based AI assistants
✅ Health Checks: Built-in health check endpoints
Example HTTP Request
Transport Modes Comparison
Feature | Stdio Transport | HTTP Transport | Streamable HTTP Transport |
Use Case | Claude Desktop | Network access | Enterprise scalability |
State Management | In-memory | In-memory | Stateless per request |
Session Persistence | No | No | Yes (via session IDs) |
Load Balancing | No | No | Yes |
Web Integration | No | Limited | Full support |
Performance
With optimized settings:
Each iteration: 60-90 seconds
Typical convergence: 2-3 iterations
Total time: 2-4 minutes (distributed across multiple calls)
Using Haiku for critiques reduces iteration time by ~50%.
AI-Friendly Features
This tool includes special features for AI assistants using it:
Auto Session Tracking: The
current_session_idis automatically maintainedSmart Error Messages: Errors include
_ai_prefixed fields with actionable diagnosticsPerformance Hints: Responses include optimization tips and predictions
Progress Predictions: Convergence tracking includes estimates of remaining iterations
Example AI-helpful error response:
Architecture
Development
Running tests
Local testing
Automation Infrastructure
This project includes comprehensive automation for OSS readiness:
🤖 Dependabot: Automated dependency updates with intelligent grouping
🚀 Semantic Release: Automated versioning and releases based on conventional commits
🔒 Security Monitoring: Multi-tool security scanning (Safety, Bandit, CodeQL, Trivy)
✅ Quality Gates: Automated testing, coverage, linting, and type checking
📦 Dependency Management: Advanced dependency health monitoring and updates
Automation Commands
Development Workflow
Feature Development: Work on feature branches
Pull Requests: Quality gates run automatically
Code Review: Automated security and quality feedback
Merge to develop: Beta releases created automatically
Merge to main: Production releases created automatically
See AUTOMATION.md for complete automation documentation.
Attribution
This project is inspired by recursive-companion by Hank Besser. The original implementation provided the conceptual Draft → Critique → Revise → Converge pattern. This MCP version adds:
Session-based incremental processing to avoid timeouts
AWS Bedrock integration for Claude and Titan embeddings
Domain auto-detection and specialized prompts
Mathematical convergence measurement
Support for different models for critiques vs generation
Contributing
Contributions are welcome! Please read our Contributing Guide for details.
License
MIT License - see LICENSE file for details.
Acknowledgments
Original concept: Hank Besser's recursive-companion
Built for the Model Context Protocol
Uses AWS Bedrock for LLM access
Inspired by iterative refinement patterns in AI reasoning