article
README
🚀 mcp-dsp
MCP(模型上下文协议)服务器,用于《戴森球计划》工厂优化。支持人工智能辅助的瓶颈检测、电网分析和物流优化。
🚀 快速开始
Dyson - MCP将《戴森球计划》从手动优化挑战转变为人工智能辅助的工厂管理系统。你可以用自然语言询问有关生产瓶颈、电力短缺和物流效率低下的问题,系统会根据实时游戏状态和存档文件分析给出可行的见解。
✨ 主要特性
生产分析
- 瓶颈检测:识别限制生产链的因素。
- 根本原因分析:追踪依赖关系,找出上游短缺问题。
- 效率指标:比较实际和理论生产率。
电网分析
- 发电/消耗平衡:以兆瓦为单位监测电力盈余/短缺情况。
- 储能分析:跟踪充放电周期。
- 关键时期检测:确定电力低于需求的时段。
物流分析
- 传送带饱和度:找出接近最大吞吐量的传送带。
- 物流站瓶颈:检测物流站库存问题。
- 飞船等待时间:监测星际物流效率。
📦 安装指南
前提条件
- 《戴森球计划》(Steam版)
- BepInEx 5.4.17+(下载)
- Python 3.10+
快速安装
- 安装BepInEx:将其安装到《戴森球计划》的安装目录。
- 安装插件
# 将DysonMCP.dll复制到BepInEx/plugins/ - 安装MCP服务器
pip install dyson - mcp # 或者 pip install -e . - 配置Claude桌面版
{ "mcpServers": { "dyson - mcp": { "command": "dyson - mcp", "args": ["serve"] } } } - 开始游戏!
- 启动《戴森球计划》(插件会自动加载)。
- 向Claude询问有关你的工厂的问题。
💻 使用示例
"我的绿电路板生产的瓶颈是什么?"
→ "绿电路板受铜板材输入限制,短缺420个/分钟"
"分析我1号星球的电网情况"
→ "高峰时段电力短缺420兆瓦,建议增加3座聚变发电站"
"哪些传送带达到饱和了?"
→ "3条传送带的利用率超过95%:铁锭(A线)、铜板材(B线)"
📚 详细文档
开发
详细说明请参考 开发环境设置。
# 克隆仓库
git clone https://github.com/m2ai - mcp - servers/mcp - dsp.git
cd mcp - dsp
# Python环境设置
python -m venv .venv
source .venv/bin/activate # 或者在Windows上使用.venv\Scripts\Activate.ps1
pip install -e ".[dev]"
# 运行测试
pytest tests/ -v
# 运行MCP服务器
python -m mcp_server.server
项目结构
Dyson/
├── src/
│ ├── bepinex_plugin/ # C# BepInEx插件
│ │ ├── Plugin.cs # 入口点
│ │ ├── Patches/ # Harmony补丁
│ │ ├── DataCollectors/ # 指标收集
│ │ └── WebSocketServer.cs
│ ├── mcp_server/ # Python MCP服务器
│ │ ├── server.py # FastMCP入口点
│ │ ├── data_sources/ # 实时数据 + 存档文件
│ │ ├── tools/ # 分析算法
│ │ └── models/ # 数据模型
│ └── shared/ # 共享数据(物品ID、配方)
├── tests/ # Python测试
├── docs/ # 文档
└── .github/workflows/ # CI/CD
MCP工具
| 工具 | 描述 |
|------|-------------|
| analyze_production_bottlenecks | 识别生产链限制因素 |
| analyze_power_grid | 评估发电和电力消耗情况 |
| analyze_logistics_saturation | 检测传送带和物流站瓶颈 |
| get_factory_snapshot | 获取当前生产状态 |
| load_save_analysis | 解析存档文件以进行离线分析 |
| generate_optimized_blueprint | 创建优化的工厂蓝图 |
🤝 贡献
欢迎贡献代码!请先阅读贡献指南。
📄 许可证
本项目采用MIT许可证,详情请参阅 LICENSE。
🙏 致谢
- qhgz2013/dsp_save_parser - 存档文件解析
- BepInEx - Unity模组框架
- Anthropic - MCP协议规范
微信扫一扫