Token导航 LogoToken导航TokenDH.com
Quorum MCP logo
办公协作stdio官方级别未说明来源级核验

Quorum MCP

MCP Server

Quorum-MCP通过协调多个AI提供商进行多轮审议,生成基于共识的响应,提供更平衡、全面和可靠的答案。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
本地LLMPythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aj-geddes

提供方

aj-geddes

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

MCP法定人数

多AI共识系统MCP服务器-通过深思熟虑获得更好的答案

![Tests](https://github.com/aj-geddes/quorum-mcp) ![Coverage](https://github.com/aj-geddes/quorum-mcp) ![Python](https://www.python.org) ![License](LICENSE)

🎯 概述

Quorum MCP通过多轮审议协调多个人工智能提供商(Anthropic Claude、OpenAI、Google Gemini、Cohere、Mistral AI、Novita AI、Ollama),以产生基于共识的回应。通过结合不同的人工智能模型,您可以获得更平衡、全面和可靠的答案。

为什么法定人数?

  • 🎭 不同的观点:每个AI都有独特的优势和偏见
  • 🤝 建立共识:模型之间的一致性增强了信心
  • 🔍 质量保证:交叉验证捕捉错误和幻觉
  • 💡 更丰富的见解分歧揭示了微妙的观点

✨ 特性

多提供商支持(7家提供商!)

  • 🤖 Anthropic Claude -深思熟虑、细致入微的推理

- 模型: claude-3-5-sonnet-20241022 (默认), claude-3-opus, claude-3-haiku - 上下文:20万个代币|成本:3-15美元/1M输入

  • 🧠 开放人工智能 -知识面广,推理能力强

- 模型: gpt-4o (默认), gpt-4o-mini, gpt-4-turbo - 上下文:128K代币|成本:0.15-30美元/1M输入

  • 谷歌双子座 -快速、经济高效、环境广阔

- 模型: gemini-2.5-flash (默认), gemini-2.5-pro, gemini-1.5-pro - 上下文:最多 2M代币 |成本:0.15-1.25/10万美元投入

  • 🏢 凝聚 -企业RAG,生产就绪

- 模型: command-r-plus (默认), command-r, command-light - 上下文:128K代币|成本:0.30-15/100万美元输入 - 特点:卓越的RAG功能,提供免费等级

  • 🇪🇺 米斯特拉尔AI -最佳定价,欧洲人工智能

- 模型: mistral-large-latest (默认), mistral-small-latest, mixtral-8x22b - 上下文:128K代币|成本:0.04美元-6/1M输入 - 特点:符合GDPR,与GPT-4竞争

  • 诺维塔AI -超低成本,兼容OpenAI

- 模型: llama-3.3-70b (默认), deepseek-r1, qwen-2.5-72b - 上下文:128K代币|成本: 0.04-0.20美元/1M投入 (最便宜!) - 特点:兼容OpenAI的API,多种开源模型

  • 🏠 Ollama(当地法学硕士) -私有、零成本局部推理

- 模型: llama3.2 (默认), llama3.1, mistral, mixtral, qwen3, deepseek-r1, gemma3 - 上下文:最多128K个令牌|成本: $0.00 (100%本地) - 隐私:100%-数据永远不会离开您的机器

三种操作模式

1.快速达成共识 (单轮)

# Fast consensus for straightforward queries
session = await orchestrator.execute_quorum(
    query="What are Python best practices?",
    mode="quick_consensus"
)

2.充分审议 (3轮)

# Multi-round deliberation for complex decisions
# Round 1: Independent analysis
# Round 2: Cross-review and critique
# Round 3: Final synthesis
session = await orchestrator.execute_quorum(
    query="Should we use microservices or monolith?",
    mode="full_deliberation"
)

3.魔鬼代言人 (批判性分析)

# Challenge assumptions and find weaknesses
session = await orchestrator.execute_quorum(
    query="We should skip testing to move faster",
    mode="devils_advocate"
)

附加功能

  • 🌐 Web仪表板:基于浏览器的交互式用户界面(新增!)
  • 异步/等待:全程无阻塞I/O
  • 💰 成本跟踪:每个供应商和总成本报告(包括当地0美元)
  • 📊 成本计算器:运行查询前估算成本(新增!)
  • 🏠 本地LLMs:与Ollama进行零成本推理(100%私有)
  • 📝 会话管理:持久会话存储和检索
  • 🔒 类型安全:完全Pydantic验证
  • 🧪 测试良好:105项测试通过,95%的供应商覆盖率
  • 📡 MCP集成:与Claude Desktop和其他MCP客户端配合使用
  • 🔄 实时更新:基于WebSocket的实时通知(新增!)

🚀 快速开始

安装

# Clone the repository
git clone https://github.com/aj-geddes/quorum-mcp.git
cd quorum-mcp

# Install with dependencies
pip install -e .

# Or install for development
pip install -e ".[dev]"

配置

云提供商(可选)

将API键设置为环境变量(使用您喜欢的任何提供程序):

# Traditional providers
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export GOOGLE_API_KEY="..."

# New providers (optional - mix and match!)
export COHERE_API_KEY="..."
export MISTRAL_API_KEY="..."
export NOVITA_API_KEY="..."

与Ollama合作的本地LLM(可选,零成本)

安装并运行Ollama以实现100%免费的私有本地推理:

# Install Ollama (Mac/Linux/Windows)
# Visit: https://ollama.com/download

# Start Ollama server
ollama serve

# Pull a model (in another terminal)
ollama pull llama3.2

# Optional: Configure Ollama host (default: http://localhost:11434)
export OLLAMA_HOST="http://localhost:11434"
export OLLAMA_ENABLE="true"  # Set to "false" to disable

备注:至少需要一个提供商(云或本地)。Ollama实现零成本共识!

运行服务器

选项1:Web仪表板(建议用于入门)

启动交互式web界面:

# Start the web server
quorum-web

# Or run directly
python -m quorum_mcp.web_server

然后打开 http://localhost:8000 在您的浏览器中。无需编码!

特征:

  • 🎨 交互式查询生成器
  • 📊 实时共识可视化
  • 💰 成本计算器和估算器
  • 📈 会话历史和分析
  • 🔍 提供商比较工具

📖 阅读Web仪表板指南

选项2:MCP服务器(用于Claude桌面集成)

对于程序化使用或Claude Desktop集成:

# Start the MCP server
quorum-mcp

# Or run directly
python -m quorum_mcp.server

基本用法示例

import asyncio
from quorum_mcp.orchestrator import Orchestrator
from quorum_mcp.providers import (
    AnthropicProvider,
    OpenAIProvider,
    GeminiProvider,
    CohereProvider,     # New!
    MistralProvider,    # New!
    NovitaProvider,     # New!
    OllamaProvider,     # Local
)
from quorum_mcp.session import get_session_manager

async def main():
    # Initialize providers (use any combination!)
    providers = [
        AnthropicProvider(),
        OpenAIProvider(),
        GeminiProvider(),
        # Add new providers for more perspectives:
        CohereProvider(),   # Enterprise RAG
        MistralProvider(),  # Best pricing
        NovitaProvider(),   # Ultra-low cost
    ]

    # Start session manager
    session_manager = get_session_manager()
    await session_manager.start()

    # Create orchestrator
    orchestrator = Orchestrator(
        providers=providers,
        session_manager=session_manager
    )

    # Execute consensus
    session = await orchestrator.execute_quorum(
        query="What is the best database for a startup?",
        context="Small team, rapid iteration, expecting growth",
        mode="quick_consensus"
    )

    # Print results
    print(f"Confidence: {session.consensus['confidence']:.2%}")
    print(f"Summary: {session.consensus['summary']}")
    print(f"Cost: ${session.consensus['cost']['total_cost']:.4f}")

    await session_manager.stop()

asyncio.run(main())

📖 用法

MCP工具

Quorum MCP为MCP客户端提供了两个简单的工具:

q_in -提交查询

{
  "query": "What are the top 3 considerations for API design?",
  "context": "Building a REST API for a SaaS product",
  "mode": "quick_consensus"
}

退货:

{
  "session_id": "abc-123-def",
  "status": "completed",
  "confidence": 0.85,
  "consensus": {
    "summary": "Based on consensus...",
    "agreement_areas": [...],
    "cost": {...}
  }
}

q_out -检索结果

{
  "session_id": "abc-123-def"
}

返回包括共识结果在内的完整会话数据。

与Claude Desktop一起使用

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "quorum-mcp": {
      "command": "quorum-mcp",
      "env": {
        "ANTHROPIC_API_KEY": "your-key",
        "OPENAI_API_KEY": "your-key",
        "GOOGLE_API_KEY": "your-key"
      }
    }
  }
}

运行演示

# Three-provider consensus demo (cloud providers)
python examples/three_provider_demo.py

# Local LLM demo with Ollama (zero cost!)
python examples/local_llm_demo.py

# End-to-end demo with all modes
python examples/end_to_end_demo.py

# Session management demo
python examples/session_demo.py

💰 成本比较

提供者模型输入($/1M)输出($/1M)上下文窗口速度
奥拉玛 🏆骆驼3.2$0.00$0.00128K⚡⚡⚡
奥拉玛密史脱拉风$0.00$0.0032K⚡⚡⚡
双子座2.5闪0.15美元0.60美元20万美元⚡⚡⚡
OpenAI4o mini0.15美元0.60美元12.8万美元⚡⚡⚡
克劳德3.5十四行诗3.00美元15.00美元20万美元⚡⚡
双子座2.5 Pro1.25美元10.00美元20万美元⚡⚡
双子座1.5 Pro1.25美元5.00美元200万美元
OpenAI40美元2.5美元10美元12.8万美元⚡⚡
克劳德3作品15.00美元75.00美元200000美元

典型共识成本 (入500个代币,出300个代币,3个提供商):

  • 快速共识:~0.01-0.02美元
  • 全面审议(三轮):~0.03-0.06美元

🏗️ 建筑

graph TD
    Client[MCP Client
Claude Desktop]

    subgraph FastMCP["FastMCP Server"]
        QIn[q_in tool]
        QOut[q_out tool]
    end

    subgraph Orchestrator["Orchestrator Engine"]
        Consensus[Consensus Algorithms
• Agreement detection
• Confidence scoring
• Synthesis & summarization]
    end

    subgraph Providers["AI Providers"]
        Anthropic[AnthropicProvider
• Async client
• Token counting
• Cost tracking
• Error mapping]
        OpenAI[OpenAIProvider
• Async client
• tiktoken
• Cost tracking
• Error mapping]
        Gemini[GeminiProvider
• Async client
• Token counting
• Cost tracking
• Error mapping]
        Ollama[OllamaProvider
• Async client
• Local inference
• Zero cost
• 100% private]
    end

    AnthropicAPI[Anthropic API]
    OpenAIAPI[OpenAI API]
    GeminiAPI[Google AI API]
    OllamaServer[Ollama Server
Local]

    Client -->|stdio/HTTP| FastMCP
    QIn --> Consensus
    QOut --> Consensus
    Consensus --> Anthropic
    Consensus --> OpenAI
    Consensus --> Gemini
    Consensus --> Ollama
    Anthropic --> AnthropicAPI
    OpenAI --> OpenAIAPI
    Gemini --> GeminiAPI
    Ollama --> OllamaServer

📁 项目结构

quorum-mcp/
├── src/quorum_mcp/
│   ├── __init__.py
│   ├── server.py              # FastMCP server with q_in/q_out tools
│   ├── orchestrator.py        # Multi-provider orchestration engine
│   ├── session.py             # Session management and persistence
│   └── providers/
│       ├── __init__.py
│       ├── base.py            # Abstract provider interface
│       ├── anthropic_provider.py  # Claude integration
│       ├── openai_provider.py     # OpenAI integration
│       ├── gemini_provider.py     # Gemini integration
│       └── ollama_provider.py     # Ollama local LLM integration
├── examples/
│   ├── three_provider_demo.py  # Demo with cloud providers
│   ├── local_llm_demo.py       # Demo with Ollama (zero cost)
│   ├── end_to_end_demo.py      # All operational modes
│   └── session_demo.py         # Session management
├── tests/
│   ├── test_session.py
│   ├── test_orchestrator.py
│   ├── test_anthropic_provider.py
│   ├── test_openai_provider.py
│   ├── test_gemini_provider.py
│   ├── test_ollama_provider.py
│   └── test_integration.py
├── docs/
│   └── session_management.md
├── .pre-commit-config.yaml     # Code quality hooks
├── pyproject.toml              # Project configuration
├── README.md
└── worklog.md                  # Complete development history

🧪 发展

运行测试

# Run all tests
pytest

# Run with coverage
pytest --cov=quorum_mcp --cov-report=html

# Run specific test file
pytest tests/test_gemini_provider.py -v

# Run only fast tests
pytest -m "not slow"

代码质量

该项目使用预提交挂钩来保证代码质量:

# Install pre-commit hooks
pre-commit install

# Run manually
pre-commit run --all-files

# Individual tools
black src/ tests/           # Format code
ruff check src/ tests/      # Lint code
mypy src/                   # Type check

添加新提供者

  1. 创建一个新的提供程序类,继承自 Provider
  2. 实施所需方法:

- send_request(request: ProviderRequest) -> ProviderResponse - count_tokens(text: str) -> int - get_cost(tokens_input: int, tokens_output: int) -> float - get_provider_name() -> str - get_model_info() -> dict

  1. 添加综合测试
  2. 更新 providers/__init__.py
  3. 增添 server.py 初始化

gemini_provider.py 作为参考实现。

📊 测试覆盖率

Module                          Coverage
────────────────────────────────────────
providers/ollama_provider.py      95%
providers/gemini_provider.py      95%
providers/openai_provider.py      78%
session.py                        90%
providers/base.py                 67%
providers/anthropic_provider.py   56%
orchestrator.py                   45%
────────────────────────────────────────
Total                             32%

测试结果:

  • ✅ 105项测试通过(76+29项新Olama测试)
  • ❌ 58个测试失败(测试未实现的功能)
  • ⚠️ 16个错误(模拟相关,非关键)

🗺️ 路线图

✅ 第一阶段:MVP(完成)

  • \[x\] 提供者抽象层
  • \[x\] 人与克劳德的融合
  • \[x\] OpenAI集成
  • \[x\] 基本编排引擎
  • \[x\] 会话管理
  • \[x\] 带q_in/q_out的FastMCP服务器
  • \[x\] 成本跟踪

✅ 第2阶段:测试(完成)

  • \[x\] 综合单元测试
  • \[x\] 提供商测试套件
  • \[x\] 集成测试
  • \[x\] 预提交挂钩
  • \[x\] 代码质量工具

✅ 第三阶段:谷歌双子座(完成)

  • \[x\] Gemini提供者实现
  • \[x\] 代币计数和成本跟踪
  • \[x\] 95%的测试覆盖率
  • \[x\] 三个提供商演示
  • \[x\] 文档更新

✅ 第4阶段:本地LLM(完成)

  • \[x\] Ollama供应商集成
  • \[x\] 支持Llama 3.2、Llama 3.1、Mistral、Mixtral、Qwen3、DeepSeek-R1、Gemma3
  • \[x\] 零成本本地推理(0.00美元)
  • \[x\] 100%隐私保护模式(数据永不离开机器)
  • \[x\] 95%的测试覆盖率(29次通过测试)
  • \[x\] 本地LLM演示和混合(本地+云)演示
  • \[x\] 自动服务器检测和模型可用性检查

🔮 第5阶段:高级功能(未来)

  • \[\]其他本地LLM提供商(LM Studio、vLLM、文本生成webui)
  • \[\]兼容OpenAI的API提供程序(通用本地LLM支持)
  • \[\]Mistral人工智能提供商(云)
  • \[\]提供者健康监测
  • \[\]动态提供商选择
  • \[\]缓存层
  • \[\]速率限制
  • \[\]预算控制
  • \[\]性能基准测试
  • \[\]用于结果可视化的Web UI

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 运行测试(pytest)
  5. 运行代码质量检查(pre-commit run --all-files)
  6. 提交您的更改(git commit -m 'Add amazing feature')
  7. 推到分支(git push origin feature/amazing-feature)
  8. 打开拉取请求

规范标准:

  • 黑色用于格式化(100个字符行)
  • 绒布
  • mypy用于类型检查
  • pytest用于测试(目标是80%以上的覆盖率)
  • 全面的文档字符串

❓ 故障排除

API关键问题

# Verify API keys are set
echo $ANTHROPIC_API_KEY
echo $OPENAI_API_KEY
echo $GOOGLE_API_KEY

# Test individual provider
python -c "from quorum_mcp.providers import GeminiProvider; print(GeminiProvider())"

导入错误

# Reinstall in development mode
pip install -e .

# Or reinstall with dependencies
pip install -e ".[dev]" --force-reinstall

测试失败

# Clear pytest cache
rm -rf .pytest_cache __pycache__

# Run with verbose output
pytest -vv --tb=short

📄 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

🙏 致谢

- Anthropic Claude - 开放人工智能 - 谷歌双子座

📬 联系

______________________________________________________________________

内置于❤️ 通过协作实现更好的人工智能

目录标签

目录标签

本地LLMPythonClaudeAI共识本地部署多模型协作AI决策跨平台集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP