矿业委员会MCP服务器
一个创新的MCP服务器,由9名具有不同个性的理事会成员组成,他们辩论主题,对彼此的意见进行投票,并通过人工智能驱动的审议得出综合结论。
特性
- 9位独特的理事会成员:每个人都有不同的原型和个性
- 🔧 实用主义者-务实、注重结果 - 🌟 远见者-大局思想家 - 🔗 系统思考者-看到相互联系和级联效应 - 😊 乐观主义者-积极和以机会为中心 - 😈 魔鬼代言人-挑战所有假设 - 🤝 调解人-寻求共同点 - 👥 用户倡导者-支持可访问性和可用性 - 📜 传统主义-价值观证明方法 - 📊 分析师-数据驱动和逻辑
- 个人视角+综合:在综合结论旁边查看所有9个独特意见,而不仅仅是摘要
- 自动辩论系统:成员使用LLM抽样形成意见
- 民主投票:每个成员投票支持最符合其价值观的意见
- 完全投票透明度:查看每一张个人投票和每一项决定背后的理由
- 人工智能驱动的合成:从不同的角度得出统一的结论
- 基于文本的输出:所有AI代理的干净、格式化的文本响应
- 持久历史:所有辩论的文件存储
快速开始
选项1:直接从GitHub运行(推荐)
无需安装!使用 uvx 直接从GitHub存储库运行:
uvx --from git+https://github.com/block/mcp-council-of-mine mcp_council_of_mine选项2:克隆并在本地运行
# Clone the repository
git clone https://github.com/block/mcp-council-of-mine.git
cd mcp-council-of-mine
# Install dependencies
uv sync
# Run the server
uv run mcp_council_of_mine添加到AI代理
鹅
添加到Goose配置(~/.config/goose/config.yaml):
选项1:直接从GitHub
extensions:
council-of-mine:
name: CouncilOfMine
cmd: uvx
args:
- --from
- git+https://github.com/block/mcp-council-of-mine
- mcp_council_of_mine
enabled: true
type: stdio
timeout: 300选项2:本地安装(使用包装脚本)
extensions:
council-of-mine:
name: CouncilOfMine
cmd: uvx --from /path/to/mcp-council-of-mine mcp_council_of_mine
args: []
enabled: true
type: stdio
timeout: 300其他MCP客户端
对于任何兼容MCP的客户端,它必须支持stdio服务器 *和* 采样。
用法
运行服务器(开发)
您可以使用MCP检查器工具调试此服务器。例如,要从Github检查当前的开发版本,可以运行以下命令(需要NodeJS)
# With inspector (for debugging)
npx @modelcontextprotocol/inspector uvx --from git+https://github.com/block/mcp-council-of-mine mcp_council_of_mine建筑
LLM采样
服务器使用MCP采样(ctx.sample())每次完整辩论大约拨打28个法学硕士电话:
- 9呼吁形成意见
- 9呼吁投票
- 9呼吁进行投票推理
- 1呼吁最终综合
这种分布式方法允许客户控制模型选择和成本。
个人视角+综合
一个关键的区别在于:你既能得到个人观点,也能得到综合结论:
- 保留所有个人意见每个理事会成员的独特视角都得到了展示,而不仅仅是获胜者
- 显示投票计数:查看每种意见获得的票数
- 提供综合:人工智能生成的摘要,包含所有观点
- 永远不要只是一个总结:与其他只显示汇总结果的工具不同,你可以看到思想的完全多样性
完全投票透明度
每一次投票都会被完全透明地跟踪和显示:
- 个人投票:查看哪个成员投票支持哪个意见
- 投票推理:每位成员解释他们为什么投票
- 可用于
conduct_voting()响应,get_results()输出,以及view_debate()数据 - 无隐藏投票-所有决策对代理和用户都是可见的
基于文件的持久性
辩论被保存为JSON文件 debates/ 目录:
- 带时间戳的文件名(YYYYMMDD_HHMMSS.json)
- 完整的辩论历史记录,包括所有意见、投票和结果
- 保存在文件中的个人投票和推理
- 易于备份、共享或分析
安全特性
服务器包括强大的安全保护:
- 路径遍历预防:验证所有文件访问权限
- 快速注射检测:识别并阻止恶意提示
- 输入净化:删除控制字符并限制长度
- 长度限制:提示(2000个字符)、意见(2000个单词)、推理(1000个字符)
- 安全异常处理:没有内部细节因错误而泄露
看 docs/SECURITY_REVIEW.md 和 docs/SECURITY_FIXES.md 了解详情。
发展
运行测试
# Run all tests
PYTHONPATH=. pytest tests/
# Run unit tests only
PYTHONPATH=. pytest tests/unit/
# Run specific test file
PYTHONPATH=. python tests/unit/test_security.py
# Run with coverage
PYTHONPATH=. pytest tests/ --cov=src需求
直接使用GitHub(uvx)
- 已安装UV包管理器
- 互联网连接(仅限首次运行-之后缓存)
贡献
欢迎投稿!请确保:
- 遵循布洛克的行为准则
- 测试通过
- 代码是自文档化的
故障排除
采样不起作用
确保您的MCP客户端支持采样。一些客户端可能还没有完全的采样支持。如果采样失败,服务器将报告错误。
更新未反映
uvx 缓存该包。要强制进行新安装,请执行以下操作:
# Clear uvx cache
uvx --force --from git+https://github.com/block/mcp-council-of-mine mcp_council_of_mine鸣谢
内置:
