@dakraid/mcp-consensus
v1.2.0
Published
MCP server for advisor-based consensus mechanism
Downloads
28
Maintainers
Readme
MCP Consensus Server
A Model Context Protocol (MCP) server that implements an advisor-based consensus mechanism for collaborative problem-solving using multiple AI models.
Features
- Multi-Advisor Consensus System: Engages 5 specialized AI advisors in structured discussion
- Collaborative Problem-Solving: Advisors work together to find optimal solutions through debate and analysis
- Tool Integration: Advisors can request additional information through available tools
- Configurable Discussion Parameters: Adjustable rounds and consensus thresholds
- Real-time Discussion Logging: Colorful console output showing the consensus process
- Multiple AI Models: Utilizes different models (OpenAI, Anthropic, DeepSeek, Moonshot, Z-AI) for diverse perspectives
Installation
npm install @dakraid/mcp-consensusPrerequisites
- Node.js 18+
- OpenRouter API key (set as
OPENROUTER_API_KEYenvironment variable)
Usage
MCP Server Configuration
Add to your MCP client configuration:
{
"mcpServers": {
"consensus": {
"command": "npx",
"args": [
"-y",
"@dakraid/mcp-consensus"
],
"env": {
"OPENROUTER_API_KEY": "",
"CONSENSUS_MAX_ROUNDS": "5",
"CONSENSUS_THRESHOLD": "0.8"
}
}
}
}Available Tools
consensus
A multi-advisor consensus system that facilitates structured discussion and debate among general-purpose AI advisors to reach optimal solutions.
Parameters:
problem(required): Detailed description of the problem to solveavailableTools(required): Array of tool names available for research
Example Usage:
// Basic consensus
{
"problem": "Should we adopt a remote-first work policy for our tech company?",
"availableTools": ["web_search", "read_file"]
}How It Works
- Problem Presentation: The problem is presented to all 5 advisors simultaneously
- Initial Analysis: Each advisor provides their analysis and proposed solution
- Tool Requests: Advisors can request additional information through available tools
- Multi-Round Discussion: Advisors engage in structured debate, considering each other's perspectives
- Consensus Detection: The system monitors for agreement based on the configured threshold
- Result Delivery: Returns the final consensus with complete discussion history
Advisors
The system includes 5 pre-configured advisors, each using different AI models:
- Advisor Alpha: Moonshot AI Kimi-k2
- Advisor Beta: DeepSeek Chat v3
- Advisor Gamma: Z-AI GLM-4.5
- Advisor Delta: OpenAI GPT-4.1
- Advisor Epsilon: Anthropic Claude Sonnet 4
Each advisor follows core principles of objectivity, collaboration, thoroughness, adaptability, and clarity.
Tool Request Format
Advisors can request additional information using this format:
TOOL_REQUEST: {"tool": "web_search", "parameters": {"query": "remote work productivity statistics"}, "reason": "I need current data on remote work effectiveness"}Response Structure
The consensus tool returns:
{
"status": "consensus_reached" | "max_rounds_reached" | "tool_requests_needed",
"finalConsensus": "The agreed-upon solution",
"totalRounds": 3,
"discussionHistory": [...]
}Development
# Clone the repository
git clone https://github.com/dakraid/mcp-consensus.git
cd mcp-consensus
# Install dependencies
npm install
# Build the project
npm run build
# Watch for changes
npm run watchConfiguration
Environment Variables
OPENROUTER_API_KEY: Required API key for OpenRouterCONSENSUS_MAX_ROUNDS: Maximum number of discussion rounds (default: 5, range: 1-10)CONSENSUS_THRESHOLD: Agreement threshold for consensus detection (default: 0.8, range: 0.0-1.0)DISABLE_CONSENSUS_LOGGING: Set to "true" to disable console logging (default: false)
Customization
You can modify the advisor configurations in index.ts to:
- Change system prompts
- Use different AI models
- Add or remove advisors
- Adjust model parameters
License
MIT License - see LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Support
For issues and questions, please visit the GitHub Issues page.
Author
Created by @dakraid
